sprint9: app visibility — sidebar permission filter + TopBar + ProtectedRoute + route guards
Check Cross-Plugin Imports / check (push) Has been cancelled

This commit is contained in:
Agent Zero
2026-07-29 02:28:52 +02:00
parent 88c04286af
commit 48b2dfdb11
10 changed files with 221 additions and 80 deletions
@@ -0,0 +1,18 @@
import React from 'react';
import { Navigate } from 'react-router-dom';
import { usePermission } from '@/hooks/usePermission';
interface ProtectedRouteProps {
permission: string;
children: React.ReactNode;
}
export function ProtectedRoute({ permission, children }: ProtectedRouteProps) {
const { hasPermission } = usePermission();
if (!hasPermission(permission)) {
return <Navigate to="/kein-zugriff" replace />;
}
return <>{children}</>;
}