feat: collapsible sidebar groups + favorites, chat hide setting, billing page, module route guards

This commit is contained in:
2026-03-26 10:47:54 +03:00
parent cbddbe6027
commit 15fec905e1
4 changed files with 589 additions and 10 deletions

View File

@@ -0,0 +1,14 @@
import { Navigate } from 'react-router-dom'
import { useModules } from '../contexts/ModulesContext'
interface ModuleGuardProps {
moduleId: string
children: React.ReactNode
redirectTo?: string
}
export function ModuleGuard({ moduleId, children, redirectTo = '/modules' }: ModuleGuardProps) {
const { isActive } = useModules()
if (!isActive(moduleId)) return <Navigate to={redirectTo} replace />
return <>{children}</>
}