diff --git a/client/src/components/stats-cards.tsx b/client/src/components/stats-cards.tsx index 81eb806..0051ce6 100644 --- a/client/src/components/stats-cards.tsx +++ b/client/src/components/stats-cards.tsx @@ -1,4 +1,4 @@ -import { CalendarCheck, Users, Bot, Images } from "lucide-react"; +import { CalendarCheck, Users, Bot, Images, TrendingUp, TrendingDown } from "lucide-react"; import { useQuery } from "@tanstack/react-query"; export default function StatsCards() { @@ -9,41 +9,35 @@ export default function StatsCards() { const statCards = [ { icon: CalendarCheck, - iconColor: "text-chart-1", - iconBg: "bg-chart-1/10", + iconColor: "from-blue-500 to-blue-600", title: (stats as any)?.scheduledPosts ?? 0, subtitle: "Publications planifiées", change: "+12%", + trending: "up", changeLabel: "vs mois dernier", - period: "Ce mois", }, { icon: Users, - iconColor: "text-chart-2", - iconBg: "bg-chart-2/10", + iconColor: "from-purple-500 to-purple-600", title: (stats as any)?.connectedPages ?? 0, subtitle: "Pages connectées", info: "Facebook • Instagram", - period: "Total", }, { icon: Bot, - iconColor: "text-chart-3", - iconBg: "bg-chart-3/10", + iconColor: "from-green-500 to-green-600", title: (stats as any)?.aiTextsGenerated ?? 0, subtitle: "Textes générés par IA", change: "+8%", + trending: "up", changeLabel: "vs hier", - period: "Aujourd'hui", }, { icon: Images, - iconColor: "text-chart-4", - iconBg: "bg-chart-4/10", + iconColor: "from-cyan-500 to-cyan-600", title: (stats as any)?.mediaStored ?? 0, subtitle: "Médias stockés", info: "Images • Vidéos", - period: "Bibliothèque", }, ]; @@ -51,10 +45,10 @@ export default function StatsCards() { return (
{[1, 2, 3, 4].map((i) => ( -
-
-
-
+
+
+
+
))}
@@ -65,31 +59,40 @@ export default function StatsCards() {
{statCards.map((stat, index) => { const Icon = stat.icon; + const TrendIcon = stat.trending === "up" ? TrendingUp : TrendingDown; + return (
-
-
- +
+
+
- {stat.period}
-

- {stat.title} -

-

{stat.subtitle}

+ +
+

+ {stat.title} +

+

{stat.subtitle}

+
+ {stat.change && (
- {stat.change} +
+ + {stat.change} +
{stat.changeLabel}
)} + {stat.info && ( -
- {stat.info} +
+ {stat.info}
)}
diff --git a/client/src/components/topbar.tsx b/client/src/components/topbar.tsx index cc45014..6fdf30b 100644 --- a/client/src/components/topbar.tsx +++ b/client/src/components/topbar.tsx @@ -1,4 +1,5 @@ -import { Bell, Menu } from "lucide-react"; +import { Bell, Menu, Search } from "lucide-react"; +import { Input } from "@/components/ui/input"; interface TopBarProps { onMenuClick: () => void; @@ -6,35 +7,31 @@ interface TopBarProps { export default function TopBar({ onMenuClick }: TopBarProps) { return ( -
-
-
+
+
+
-
-

Tableau de bord

-

Gérez vos publications sur tous vos réseaux

+
+
+ + +
- -
-
- SF -
-
-

Social Flow

-

admin@socialflow.app

-
-