From f18fb5450b3e6d2c99b41ef07d0612768d0e6645 Mon Sep 17 00:00:00 2001 From: Azmog <80716388+AzmogEx@users.noreply.github.com> Date: Fri, 19 Jun 2026 10:57:01 +0200 Subject: [PATCH] fix(frontend): finitions DSFR (ThemeToggle orphelin, confirm() -> ConfirmDialog, tooltips) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - supprime ThemeToggle orphelin (inerte, forçait le thème sombre) - remplace les confirm() natifs par ConfirmDialog DSFR sur les 3 pages admin (utilisateurs, contenus, émotions) - tooltips Recharts en variables DSFR (lisibles en clair ET sombre) tsc 0, build OK. --- .../src/app/(admin)/admin/contenus/page.tsx | 22 ++++++-- .../src/app/(admin)/admin/emotions/page.tsx | 22 ++++++-- .../app/(admin)/admin/utilisateurs/page.tsx | 22 ++++++-- .../src/components/features/EmotionChart.tsx | 30 ++++++----- frontend/src/components/ui/ThemeToggle.tsx | 51 ------------------- 5 files changed, 73 insertions(+), 74 deletions(-) delete mode 100644 frontend/src/components/ui/ThemeToggle.tsx diff --git a/frontend/src/app/(admin)/admin/contenus/page.tsx b/frontend/src/app/(admin)/admin/contenus/page.tsx index a103f3b..00e6ef1 100644 --- a/frontend/src/app/(admin)/admin/contenus/page.tsx +++ b/frontend/src/app/(admin)/admin/contenus/page.tsx @@ -6,6 +6,7 @@ import type { Feed } from '@/types'; import Button from '@/components/ui/Button'; import Input from '@/components/ui/Input'; import Modal from '@/components/ui/Modal'; +import ConfirmDialog from '@/components/ui/ConfirmDialog'; import toast from 'react-hot-toast'; export default function AdminContenusPage() { @@ -14,6 +15,7 @@ export default function AdminContenusPage() { const [modalOpen, setModalOpen] = useState(false); const [editingFeed, setEditingFeed] = useState(null); const [formLoading, setFormLoading] = useState(false); + const [deleteId, setDeleteId] = useState(null); const [form, setForm] = useState({ titre: '', contenu: '', @@ -74,14 +76,16 @@ export default function AdminContenusPage() { } }; - const handleDelete = async (id: number) => { - if (!confirm('Supprimer cet article ?')) return; + const confirmDelete = async () => { + if (deleteId === null) return; try { - await api.delete(`/admin/feeds/${id}`); + await api.delete(`/admin/feeds/${deleteId}`); await fetchFeeds(); toast.success('Article supprimé'); } catch { toast.error('Erreur lors de la suppression'); + } finally { + setDeleteId(null); } }; @@ -152,7 +156,7 @@ export default function AdminContenusPage() {
  • - ); - } - - return ( - - ); -}