HifiPlanet-Website/hifi-src/src/components/RequirePermission.jsx
Maaxxs f3ab7d0816 Initial commit: HifiPlanet Car-Hifi Shop (Frontend + Backend)
React/Vite Frontend (hifi-src) + PHP/MariaDB Backend (hifi/api) fuer
den Car-Hifi Umbau-Shop HifiPlanet in Amorbach, inkl. Admin-Panel,
2FA, Wartungsmodus, Cookie-Consent und rechtlichen Pflichtseiten.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-05 13:37:06 +02:00

22 lines
823 B
JavaScript

import { useAuth } from '../context/AuthContext.jsx';
export default function RequirePermission({ permission, children }) {
const { hasPermission } = useAuth();
const permissions = Array.isArray(permission) ? permission : [permission];
const allowed = permissions.some((p) => hasPermission(p));
if (!allowed) {
return (
<div className="rounded-xl border border-slate-200 bg-white p-8 text-center dark:border-slate-800 dark:bg-slate-900">
<h1 className="mb-2 text-lg font-bold text-slate-900 dark:text-white">Keine Berechtigung</h1>
<p className="text-sm text-slate-500 dark:text-slate-400">
Du hast keinen Zugriff auf diesen Bereich. Bitte wende dich an einen Administrator, falls du hier
Zugriff brauchst.
</p>
</div>
);
}
return children;
}