From f20cf40fff546913786da7519c734ddfbc5c919c Mon Sep 17 00:00:00 2001 From: soufiane Date: Wed, 3 Dec 2025 19:43:14 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20redesign=20admin=20panel=20with=20blanc?= =?UTF-8?q?=20cass=C3=A9=20theme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update sidebar and header with off-white (#faf8f5) background - Add ticket stats endpoint integration for global counts - Redesign tirages page with animation and improved layout - Add red accent color for admin avatar - Update various button styles and remove unnecessary elements 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- app/admin/layout.tsx | 13 +- app/admin/lots/page.tsx | 18 +- app/admin/marketing-data/page.tsx | 49 ++-- app/admin/tickets/page.tsx | 18 +- app/admin/tirages/page.tsx | 342 +++++++++++++------------- app/admin/utilisateurs/page.tsx | 17 +- components/UserDropdown.tsx | 3 +- components/admin/PrizeManagement.tsx | 15 +- components/admin/Sidebar.tsx | 49 +++- components/admin/TicketManagement.tsx | 49 ++-- components/admin/UserManagement.tsx | 28 +-- services/admin.service.ts | 15 +- types/index.ts | 5 + 13 files changed, 324 insertions(+), 297 deletions(-) diff --git a/app/admin/layout.tsx b/app/admin/layout.tsx index 5fc5121..779e128 100644 --- a/app/admin/layout.tsx +++ b/app/admin/layout.tsx @@ -52,20 +52,13 @@ export default function AdminLayout({
{/* Admin Header */} -
-
-
- -
-

Thé Tip Top - Administration

-
-
- +
+
diff --git a/app/admin/lots/page.tsx b/app/admin/lots/page.tsx index 205e8d0..e95d588 100644 --- a/app/admin/lots/page.tsx +++ b/app/admin/lots/page.tsx @@ -1,17 +1,21 @@ 'use client'; import PrizeManagement from '@/components/admin/PrizeManagement'; +import { Gift } from 'lucide-react'; export default function LotsPage() { return (
-
-

- Gestion des Lots & Prix -

-

- Gérez les lots et prix du jeu-concours -

+
+
+
+ +
+
+

Gestion des Lots & Prix

+

Gérez les lots et prix du jeu-concours

+
+
diff --git a/app/admin/marketing-data/page.tsx b/app/admin/marketing-data/page.tsx index 9f7db60..d369b1e 100644 --- a/app/admin/marketing-data/page.tsx +++ b/app/admin/marketing-data/page.tsx @@ -227,13 +227,20 @@ export default function MarketingPage() { return (
{/* En-tĂŞte */} -
-

- Données Marketing -

-

- Statistiques et export des données pour vos campagnes d'emailing -

+
+
+
+ +
+
+

+ Données Marketing +

+

+ Statistiques et export des données pour vos campagnes d'emailing +

+
+
{/* Statistiques globales */} @@ -387,11 +394,11 @@ export default function MarketingPage() { )} {/* Section Export */} -
-
-

-
- +
+
+

+
+
Exporter les Données pour Emailing

@@ -406,7 +413,7 @@ export default function MarketingPage() { setFilters({ ...filters, city: e.target.value })} - className="w-full px-4 py-3 border border-gray-200 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent" + className="w-full px-4 py-3 bg-white border border-gray-200 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent" > {filteredCityData.slice(0, 10).map((city) => ( @@ -447,7 +454,7 @@ export default function MarketingPage() { - - - - - - + + + + + + {(filterStatus || filterPrizeType) && ( @@ -148,7 +143,7 @@ export default function TicketManagement() { setFilterPrizeType(''); setPage(1); }} - className="px-4 py-3 rounded-xl bg-white/20 text-white border border-white/20 hover:bg-white/30 transition-colors flex items-center gap-2" + className="px-4 py-3 rounded-xl bg-white text-gray-600 border border-gray-200 hover:bg-gray-100 transition-colors flex items-center gap-2" > Réinitialiser @@ -158,7 +153,7 @@ export default function TicketManagement() {