Add LynkedUp Pro dashboard (dark + light) from Figma

- Full dashboard at /dashboard matching the Figma Linkedup-Web frame
- Dark/light theme toggle (persisted to localStorage)
- Live animated charts: stat sparkbars, P&L grouped bars, donut, gauge,
  pipeline bars, progress, revenue-potential
- Sidebar, topbar, stat cards, weather, top sales reps
- 29 icons exported from Figma (currentColor) + lucide fallbacks
- Fix: bar charts had zero height (percentage in indefinite flex parent)
- Fix: removed content max-width that left a right-side gap

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-27 20:12:35 +05:30
parent 8c5df83d63
commit 5ff655d786
38 changed files with 1223 additions and 48 deletions
+2 -38
View File
@@ -1,41 +1,5 @@
import type { Metadata } from "next";
import { Header } from "@/components/layout/header";
export const metadata: Metadata = {
title: "Dashboard",
};
const stats = [
{ label: "Total Leads", value: "0" },
{ label: "Open Deals", value: "0" },
{ label: "Contacts", value: "0" },
{ label: "Revenue", value: "$0" },
];
import { Dashboard } from "@/components/dashboard/dashboard";
export default function DashboardPage() {
return (
<>
<Header title="Dashboard" />
<main className="flex-1 p-6 bg-neutral-50 dark:bg-neutral-900">
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4">
{stats.map((stat) => (
<div
key={stat.label}
className="rounded-xl border border-black/10 dark:border-white/10 bg-white dark:bg-neutral-950 p-5"
>
<p className="text-sm text-neutral-500">{stat.label}</p>
<p className="mt-2 text-2xl font-semibold">{stat.value}</p>
</div>
))}
</div>
<div className="mt-6 rounded-xl border border-black/10 dark:border-white/10 bg-white dark:bg-neutral-950 p-6">
<p className="text-neutral-500 text-sm">
Yahan pages add karenge Leads, Contacts, Deals, Tasks. Aap batao
kaunsa page pehle banana hai.
</p>
</div>
</main>
</>
);
return <Dashboard />;
}