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:
@@ -1,6 +1,6 @@
|
||||
import { useState, useEffect } from 'react';
|
||||
import { useParams, Link } from 'react-router-dom';
|
||||
import { apiFetch } from '../lib/api';
|
||||
import { apiFetch, ApiError } from '../lib/api';
|
||||
|
||||
interface Video {
|
||||
id: string;
|
||||
@@ -35,8 +35,8 @@ export default function PlaylistPage() {
|
||||
if (!id) return;
|
||||
apiFetch<PlaylistResponse>(`/playlists/${id}`)
|
||||
.then((res) => setData(res.data))
|
||||
.catch((err: Error) => {
|
||||
if (err.message.includes('403')) setError('forbidden');
|
||||
.catch((err: unknown) => {
|
||||
if (err instanceof ApiError && err.status === 403) setError('forbidden');
|
||||
else setError('not_found');
|
||||
})
|
||||
.finally(() => setLoading(false));
|
||||
|
||||
Reference in New Issue
Block a user