From 02d70f27eadd2e83f6437dbec07d11abdad03039 Mon Sep 17 00:00:00 2001 From: Mathis HERRIOT <197931332+0x485254@users.noreply.github.com> Date: Wed, 14 Jan 2026 21:58:04 +0100 Subject: [PATCH] refactor: optimize import orders, improve formatting and code readability Standardize import declarations, resolve misplaced imports, and enhance consistency across components. Update indentation, split multiline JSX props, and enforce consistent function formatting for better maintainability. --- .../app/(dashboard)/admin/categories/page.tsx | 25 +++++--- .../app/(dashboard)/admin/contents/page.tsx | 57 ++++++++++++------- frontend/src/app/(dashboard)/admin/page.tsx | 6 +- .../src/app/(dashboard)/admin/users/page.tsx | 50 ++++++++++------ frontend/src/app/(dashboard)/help/page.tsx | 8 +-- frontend/src/app/(dashboard)/profile/page.tsx | 6 +- frontend/src/app/(dashboard)/recent/page.tsx | 6 +- .../src/app/(dashboard)/settings/page.tsx | 13 +++-- frontend/src/app/(dashboard)/trends/page.tsx | 4 +- 9 files changed, 115 insertions(+), 60 deletions(-) diff --git a/frontend/src/app/(dashboard)/admin/categories/page.tsx b/frontend/src/app/(dashboard)/admin/categories/page.tsx index a1acb88..8c29daf 100644 --- a/frontend/src/app/(dashboard)/admin/categories/page.tsx +++ b/frontend/src/app/(dashboard)/admin/categories/page.tsx @@ -1,6 +1,7 @@ "use client"; import { useEffect, useState } from "react"; +import { Skeleton } from "@/components/ui/skeleton"; import { Table, TableBody, @@ -11,7 +12,6 @@ import { } from "@/components/ui/table"; import { CategoryService } from "@/services/category.service"; import type { Category } from "@/types/content"; -import { Skeleton } from "@/components/ui/skeleton"; export default function AdminCategoriesPage() { const [categories, setCategories] = useState([]); @@ -20,14 +20,16 @@ export default function AdminCategoriesPage() { useEffect(() => { CategoryService.getAll() .then(setCategories) - .catch(err => console.error(err)) + .catch((err) => console.error(err)) .finally(() => setLoading(false)); }, []); return (
-

Catégories ({categories.length})

+

+ Catégories ({categories.length}) +

@@ -41,10 +43,17 @@ export default function AdminCategoriesPage() { {loading ? ( Array.from({ length: 5 }).map((_, i) => ( + /* biome-ignore lint/suspicious/noArrayIndexKey: skeleton items don't have unique IDs */ - - - + + + + + + + + + )) ) : categories.length === 0 ? ( @@ -56,7 +65,9 @@ export default function AdminCategoriesPage() { ) : ( categories.map((category) => ( - {category.name} + + {category.name} + {category.slug} {category.description || "Aucune description"} diff --git a/frontend/src/app/(dashboard)/admin/contents/page.tsx b/frontend/src/app/(dashboard)/admin/contents/page.tsx index f07d495..da21f71 100644 --- a/frontend/src/app/(dashboard)/admin/contents/page.tsx +++ b/frontend/src/app/(dashboard)/admin/contents/page.tsx @@ -1,6 +1,12 @@ "use client"; +import { format } from "date-fns"; +import { fr } from "date-fns/locale"; +import { Download, Eye, Image as ImageIcon, Trash2, Video } from "lucide-react"; import { useEffect, useState } from "react"; +import { Badge } from "@/components/ui/badge"; +import { Button } from "@/components/ui/button"; +import { Skeleton } from "@/components/ui/skeleton"; import { Table, TableBody, @@ -11,12 +17,6 @@ import { } from "@/components/ui/table"; import { ContentService } from "@/services/content.service"; import type { Content } from "@/types/content"; -import { Badge } from "@/components/ui/badge"; -import { format } from "date-fns"; -import { fr } from "date-fns/locale"; -import { Skeleton } from "@/components/ui/skeleton"; -import { Eye, Download, Image as ImageIcon, Video, Trash2 } from "lucide-react"; -import { Button } from "@/components/ui/button"; export default function AdminContentsPage() { const [contents, setContents] = useState([]); @@ -27,9 +27,9 @@ export default function AdminContentsPage() { ContentService.getExplore({ limit: 20 }) .then((res) => { setContents(res.data); - setTotalCount(res.total); + setTotalCount(res.totalCount); }) - .catch(err => console.error(err)) + .catch((err) => console.error(err)) .finally(() => setLoading(false)); }, []); @@ -38,8 +38,8 @@ export default function AdminContentsPage() { try { await ContentService.removeAdmin(id); - setContents(contents.filter(c => c.id !== id)); - setTotalCount(prev => prev - 1); + setContents(contents.filter((c) => c.id !== id)); + setTotalCount((prev) => prev - 1); } catch (error) { console.error(error); } @@ -48,7 +48,9 @@ export default function AdminContentsPage() { return (
-

Contenus ({totalCount})

+

+ Contenus ({totalCount}) +

@@ -65,12 +67,23 @@ export default function AdminContentsPage() { {loading ? ( Array.from({ length: 5 }).map((_, i) => ( + /* biome-ignore lint/suspicious/noArrayIndexKey: skeleton items don't have unique IDs */ - - - - - + + + + + + + + + + + + + + + )) ) : contents.length === 0 ? ( @@ -93,16 +106,18 @@ export default function AdminContentsPage() {
{content.title}
-
{content.type} • {content.mimeType}
+
+ {content.type} • {content.mimeType} +
- {content.category.name} - - - @{content.author.username} + + {content.category?.name || "Sans catégorie"} + + @{content.author.username}
diff --git a/frontend/src/app/(dashboard)/admin/page.tsx b/frontend/src/app/(dashboard)/admin/page.tsx index 1043e24..373bdf3 100644 --- a/frontend/src/app/(dashboard)/admin/page.tsx +++ b/frontend/src/app/(dashboard)/admin/page.tsx @@ -1,11 +1,11 @@ "use client"; +import { AlertCircle, FileText, LayoutGrid, Users } from "lucide-react"; +import Link from "next/link"; import { useEffect, useState } from "react"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; -import { adminService, type AdminStats } from "@/services/admin.service"; -import { Users, FileText, LayoutGrid, AlertCircle } from "lucide-react"; -import Link from "next/link"; import { Skeleton } from "@/components/ui/skeleton"; +import { type AdminStats, adminService } from "@/services/admin.service"; export default function AdminDashboardPage() { const [stats, setStats] = useState(null); diff --git a/frontend/src/app/(dashboard)/admin/users/page.tsx b/frontend/src/app/(dashboard)/admin/users/page.tsx index 48df000..1fdee58 100644 --- a/frontend/src/app/(dashboard)/admin/users/page.tsx +++ b/frontend/src/app/(dashboard)/admin/users/page.tsx @@ -1,6 +1,12 @@ "use client"; +import { format } from "date-fns"; +import { fr } from "date-fns/locale"; +import { Trash2 } from "lucide-react"; import { useEffect, useState } from "react"; +import { Badge } from "@/components/ui/badge"; +import { Button } from "@/components/ui/button"; +import { Skeleton } from "@/components/ui/skeleton"; import { Table, TableBody, @@ -11,12 +17,6 @@ import { } from "@/components/ui/table"; import { UserService } from "@/services/user.service"; import type { User } from "@/types/user"; -import { Badge } from "@/components/ui/badge"; -import { format } from "date-fns"; -import { fr } from "date-fns/locale"; -import { Skeleton } from "@/components/ui/skeleton"; -import { Button } from "@/components/ui/button"; -import { Trash2 } from "lucide-react"; export default function AdminUsersPage() { const [users, setUsers] = useState([]); @@ -29,19 +29,24 @@ export default function AdminUsersPage() { setUsers(res.data); setTotalCount(res.totalCount); }) - .catch(err => { + .catch((err) => { console.error(err); }) .finally(() => setLoading(false)); }, []); const handleDelete = async (uuid: string) => { - if (!confirm("Êtes-vous sûr de vouloir supprimer cet utilisateur ? Cette action est irréversible.")) return; + if ( + !confirm( + "Êtes-vous sûr de vouloir supprimer cet utilisateur ? Cette action est irréversible.", + ) + ) + return; try { await UserService.removeUserAdmin(uuid); - setUsers(users.filter(u => u.uuid !== uuid)); - setTotalCount(prev => prev - 1); + setUsers(users.filter((u) => u.uuid !== uuid)); + setTotalCount((prev) => prev - 1); } catch (error) { console.error(error); } @@ -50,7 +55,9 @@ export default function AdminUsersPage() { return (
-

Utilisateurs ({totalCount})

+

+ Utilisateurs ({totalCount}) +

@@ -67,12 +74,23 @@ export default function AdminUsersPage() { {loading ? ( Array.from({ length: 5 }).map((_, i) => ( + /* biome-ignore lint/suspicious/noArrayIndexKey: skeleton items don't have unique IDs */ - - - - - + + + + + + + + + + + + + + + )) ) : users.length === 0 ? ( diff --git a/frontend/src/app/(dashboard)/help/page.tsx b/frontend/src/app/(dashboard)/help/page.tsx index 53f66b3..a07d148 100644 --- a/frontend/src/app/(dashboard)/help/page.tsx +++ b/frontend/src/app/(dashboard)/help/page.tsx @@ -1,10 +1,10 @@ +import { HelpCircle } from "lucide-react"; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from "@/components/ui/accordion"; -import { HelpCircle } from "lucide-react"; export default function HelpPage() { const faqs = [ @@ -48,10 +48,8 @@ export default function HelpPage() {

Foire Aux Questions

{faqs.map((faq, index) => ( - - - {faq.question} - + + {faq.question} {faq.answer} diff --git a/frontend/src/app/(dashboard)/profile/page.tsx b/frontend/src/app/(dashboard)/profile/page.tsx index 3eda480..daf04fb 100644 --- a/frontend/src/app/(dashboard)/profile/page.tsx +++ b/frontend/src/app/(dashboard)/profile/page.tsx @@ -4,6 +4,7 @@ import { Calendar, Camera, LogIn, LogOut, Settings } from "lucide-react"; import Link from "next/link"; import { useSearchParams } from "next/navigation"; import * as React from "react"; +import { toast } from "sonner"; import { ContentList } from "@/components/content-list"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { Button } from "@/components/ui/button"; @@ -20,7 +21,6 @@ import { useAuth } from "@/providers/auth-provider"; import { ContentService } from "@/services/content.service"; import { FavoriteService } from "@/services/favorite.service"; import { UserService } from "@/services/user.service"; -import { toast } from "sonner"; export default function ProfilePage() { const { user, isAuthenticated, isLoading, logout, refreshUser } = useAuth(); @@ -32,7 +32,9 @@ export default function ProfilePage() { fileInputRef.current?.click(); }; - const handleFileChange = async (event: React.ChangeEvent) => { + const handleFileChange = async ( + event: React.ChangeEvent, + ) => { const file = event.target.files?.[0]; if (!file) return; diff --git a/frontend/src/app/(dashboard)/recent/page.tsx b/frontend/src/app/(dashboard)/recent/page.tsx index fd5aedc..a82ba89 100644 --- a/frontend/src/app/(dashboard)/recent/page.tsx +++ b/frontend/src/app/(dashboard)/recent/page.tsx @@ -9,7 +9,11 @@ export const metadata: Metadata = { export default function RecentPage() { return ( - Chargement des nouveautés...}> + Chargement des nouveautés... + } + > ); diff --git a/frontend/src/app/(dashboard)/settings/page.tsx b/frontend/src/app/(dashboard)/settings/page.tsx index 6a3809d..f5e56ea 100644 --- a/frontend/src/app/(dashboard)/settings/page.tsx +++ b/frontend/src/app/(dashboard)/settings/page.tsx @@ -24,8 +24,8 @@ import { FormMessage, } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; -import { Textarea } from "@/components/ui/textarea"; import { Spinner } from "@/components/ui/spinner"; +import { Textarea } from "@/components/ui/textarea"; import { useAuth } from "@/providers/auth-provider"; import { UserService } from "@/services/user.service"; @@ -52,7 +52,7 @@ export default function SettingsPage() { if (user) { form.reset({ displayName: user.displayName || "", - bio: (user as any).bio || "", + bio: user.bio || "", }); } }, [user, form]); @@ -107,7 +107,8 @@ export default function SettingsPage() { Informations personnelles - Mettez à jour vos informations publiques. Ces données seront visibles par les autres utilisateurs. + Mettez à jour vos informations publiques. Ces données seront visibles par + les autres utilisateurs. @@ -117,7 +118,11 @@ export default function SettingsPage() { Nom d'utilisateur - + Le nom d'utilisateur ne peut pas être modifié. diff --git a/frontend/src/app/(dashboard)/trends/page.tsx b/frontend/src/app/(dashboard)/trends/page.tsx index b443e8c..194e792 100644 --- a/frontend/src/app/(dashboard)/trends/page.tsx +++ b/frontend/src/app/(dashboard)/trends/page.tsx @@ -9,7 +9,9 @@ export const metadata: Metadata = { export default function TrendsPage() { return ( - Chargement des tendances...}> + Chargement des tendances...} + > );