From 668890fa7f37111cfbab24c4d6c809e90169679f Mon Sep 17 00:00:00 2001 From: Hyko Date: Sun, 26 Apr 2026 09:38:03 -0400 Subject: [PATCH] refactor(admin): improve icons page sidebar layout and category display - store first icon reference alongside count in category map - add hasSidebar flag to conditionally adjust layout classes - make sidebar full-width on mobile with horizontal scrolling category list - reduce icon size and spacing to accommodate sidebar presence - adjust grid columns breakpoints when sidebar is visible --- src/features/admin/devkit/IconsPage.client.js | 53 +++++++++++-------- 1 file changed, 31 insertions(+), 22 deletions(-) diff --git a/src/features/admin/devkit/IconsPage.client.js b/src/features/admin/devkit/IconsPage.client.js index 2d5da3f..55be072 100644 --- a/src/features/admin/devkit/IconsPage.client.js +++ b/src/features/admin/devkit/IconsPage.client.js @@ -16,7 +16,9 @@ export default function IconsPage() { const map = new Map(); for (const [, Icon] of ALL_ICONS) { const cat = Icon.category; - if (cat) map.set(cat, (map.get(cat) ?? 0) + 1); + if (!cat) continue; + if (!map.has(cat)) map.set(cat, { count: 0, FirstIcon: Icon }); + map.get(cat).count += 1; } return Array.from(map.entries()).sort(([a], [b]) => a.localeCompare(b)); }, []); @@ -37,6 +39,8 @@ export default function IconsPage() { toast.success(`${name} copié`); }; + const hasSidebar = categories.length > 0; + return (
-
+
) : ( -
+
{filtered.map(([name, IconComponent]) => ( @@ -87,39 +95,40 @@ export default function IconsPage() { )}
- {categories.length > 0 && ( -
+ {hasSidebar && ( +
Catégories
-
+
- {categories.map(([cat, count]) => ( + {categories.map(([cat, { count, FirstIcon }]) => (