fix: ApiError typée + error handling pages video/playlists/admin

- api.ts : ApiError class (status: number) — remplace Error générique
- VideoPage/PlaylistPage : instanceof ApiError au lieu de message.includes()
- PlaylistsPage : fetchError + createError — silent catch supprimé
- AdminPage : guard roles.some() aligné Header (super_admin inclus)
This commit is contained in:
2026-03-14 22:37:36 +01:00
parent 4e8c1aa849
commit 01d347bce3
5 changed files with 29 additions and 11 deletions

View File

@@ -50,7 +50,7 @@ export default function AdminPage() {
const [tab, setTab] = useState<Tab>('videos');
if (authLoading) return null;
if (!user?.roles?.includes('admin')) return <Navigate to="/" replace />;
if (!user?.roles?.some((r) => r === 'admin' || r === 'super_admin')) return <Navigate to="/" replace />;
return (
<div className="flex flex-col gap-6">