Add main menu page with role-based modules (#7)
- `/` is now the main menu; orders/receipts page moved to `/receipts` - Module registry (features/menu/modules.ts) drives both the menu tiles and route guards (ModuleRoute); admin sees every module - Menu: module search with Ctrl+K, profile with logout, responsive grid, palette matching the login page - «← Головне меню» link on receipts and cash registers pages; «Каси» moved from the receipts toolbar into the menu Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
import { Navigate, Outlet } from 'react-router-dom'
|
||||
|
||||
import { useAuth } from '@/features/auth/useAuth'
|
||||
import { canAccess, getModule } from '@/features/menu/modules'
|
||||
|
||||
/** Пускает в модуль только роли из реестра; остальных возвращает в главное меню. */
|
||||
export function ModuleRoute({ moduleId }: { moduleId: string }) {
|
||||
const { user } = useAuth()
|
||||
if (!canAccess(user, getModule(moduleId).roles)) return <Navigate to="/" replace />
|
||||
return <Outlet />
|
||||
}
|
||||
Reference in New Issue
Block a user