diff --git a/apps/publisher-dashboard/src/lib/components/layout/dashboard-layout.svelte b/apps/publisher-dashboard/src/lib/components/layout/dashboard-layout.svelte
index 661b3d0..8434a38 100644
--- a/apps/publisher-dashboard/src/lib/components/layout/dashboard-layout.svelte
+++ b/apps/publisher-dashboard/src/lib/components/layout/dashboard-layout.svelte
@@ -14,12 +14,15 @@ let { title, children, class: className }: Props = $props();
-
+
+
diff --git a/apps/publisher-dashboard/src/lib/components/layout/index.ts b/apps/publisher-dashboard/src/lib/components/layout/index.ts
index d8bb3d5..5ff51f1 100644
--- a/apps/publisher-dashboard/src/lib/components/layout/index.ts
+++ b/apps/publisher-dashboard/src/lib/components/layout/index.ts
@@ -1,3 +1,4 @@
export { default as AppHeader } from "./app-header.svelte";
export { default as AppSidebar } from "./app-sidebar.svelte";
export { default as DashboardLayout } from "./dashboard-layout.svelte";
+export { default as MobileNav } from "./mobile-nav.svelte";
diff --git a/apps/publisher-dashboard/src/lib/components/layout/mobile-nav.svelte b/apps/publisher-dashboard/src/lib/components/layout/mobile-nav.svelte
new file mode 100644
index 0000000..8c1c5a6
--- /dev/null
+++ b/apps/publisher-dashboard/src/lib/components/layout/mobile-nav.svelte
@@ -0,0 +1,140 @@
+
+
+
+
+ {#snippet child({ props })}
+
+ {/snippet}
+
+
+
+
+
+
+
Publisher Dashboard
+
+
+
+
+
+
diff --git a/apps/publisher-dashboard/src/lib/components/ui/sheet/index.ts b/apps/publisher-dashboard/src/lib/components/ui/sheet/index.ts
new file mode 100644
index 0000000..d9d46fa
--- /dev/null
+++ b/apps/publisher-dashboard/src/lib/components/ui/sheet/index.ts
@@ -0,0 +1,34 @@
+import Root from "./sheet.svelte";
+import Close from "./sheet-close.svelte";
+import Content from "./sheet-content.svelte";
+import Description from "./sheet-description.svelte";
+import Footer from "./sheet-footer.svelte";
+import Header from "./sheet-header.svelte";
+import Overlay from "./sheet-overlay.svelte";
+import Portal from "./sheet-portal.svelte";
+import Title from "./sheet-title.svelte";
+import Trigger from "./sheet-trigger.svelte";
+
+export {
+ Root,
+ Close,
+ Trigger,
+ Portal,
+ Overlay,
+ Content,
+ Header,
+ Footer,
+ Title,
+ Description,
+ //
+ Root as Sheet,
+ Close as SheetClose,
+ Trigger as SheetTrigger,
+ Portal as SheetPortal,
+ Overlay as SheetOverlay,
+ Content as SheetContent,
+ Header as SheetHeader,
+ Footer as SheetFooter,
+ Title as SheetTitle,
+ Description as SheetDescription,
+};
diff --git a/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-close.svelte b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-close.svelte
new file mode 100644
index 0000000..d1d8d76
--- /dev/null
+++ b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-close.svelte
@@ -0,0 +1,8 @@
+
+
+
diff --git a/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-content.svelte b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-content.svelte
new file mode 100644
index 0000000..5c7befc
--- /dev/null
+++ b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-content.svelte
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+ {@render children?.()}
+
+
+ Close
+
+
+
diff --git a/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-description.svelte b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-description.svelte
new file mode 100644
index 0000000..aba94c9
--- /dev/null
+++ b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-description.svelte
@@ -0,0 +1,17 @@
+
+
+
diff --git a/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-footer.svelte b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-footer.svelte
new file mode 100644
index 0000000..d1bd913
--- /dev/null
+++ b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-footer.svelte
@@ -0,0 +1,20 @@
+
+
+
+ {@render children?.()}
+
diff --git a/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-header.svelte b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-header.svelte
new file mode 100644
index 0000000..a0f659a
--- /dev/null
+++ b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-header.svelte
@@ -0,0 +1,20 @@
+
+
+
+ {@render children?.()}
+
diff --git a/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-overlay.svelte b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-overlay.svelte
new file mode 100644
index 0000000..5039e7f
--- /dev/null
+++ b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-overlay.svelte
@@ -0,0 +1,20 @@
+
+
+
diff --git a/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-portal.svelte b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-portal.svelte
new file mode 100644
index 0000000..628f995
--- /dev/null
+++ b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-portal.svelte
@@ -0,0 +1,7 @@
+
+
+
diff --git a/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-title.svelte b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-title.svelte
new file mode 100644
index 0000000..ae089ce
--- /dev/null
+++ b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-title.svelte
@@ -0,0 +1,17 @@
+
+
+
diff --git a/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-trigger.svelte b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-trigger.svelte
new file mode 100644
index 0000000..31be069
--- /dev/null
+++ b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet-trigger.svelte
@@ -0,0 +1,8 @@
+
+
+
diff --git a/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet.svelte b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet.svelte
new file mode 100644
index 0000000..919fe41
--- /dev/null
+++ b/apps/publisher-dashboard/src/lib/components/ui/sheet/sheet.svelte
@@ -0,0 +1,8 @@
+
+
+
diff --git a/apps/publisher-dashboard/src/routes/performance/+page.svelte b/apps/publisher-dashboard/src/routes/performance/+page.svelte
index 18c8673..09fa1ab 100644
--- a/apps/publisher-dashboard/src/routes/performance/+page.svelte
+++ b/apps/publisher-dashboard/src/routes/performance/+page.svelte
@@ -39,30 +39,34 @@ const metrics = [
-
-
- {#each metrics as metric}
-
- {/each}
-
-
-
-
-
-
-
+
+
+
+ {#each metrics as metric}
+
+ {/each}
+
-
-
+
diff --git a/bun.lock b/bun.lock
index 21560d2..251b8ce 100644
--- a/bun.lock
+++ b/bun.lock
@@ -24,7 +24,7 @@
},
"devDependencies": {
"@internationalized/date": "^3.10.1",
- "@lucide/svelte": "^0.562.0",
+ "@lucide/svelte": "^0.561.0",
"@macalinao/tsconfig": "catalog:",
"@sveltejs/adapter-static": "^3.0.8",
"@sveltejs/kit": "^2.21.1",
@@ -142,7 +142,7 @@
"@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="],
- "@lucide/svelte": ["@lucide/svelte@0.562.0", "", { "peerDependencies": { "svelte": "^5" } }, "sha512-wDMULwtTFN2Sc/TFBm6gfuVCNb4Y5P9LDrwxNnUbV52+IEU7NXZmvxwXoz+vrrpad6Xupq+Hw5eUlqIHEGhouw=="],
+ "@lucide/svelte": ["@lucide/svelte@0.561.0", "", { "peerDependencies": { "svelte": "^5" } }, "sha512-vofKV2UFVrKE6I4ewKJ3dfCXSV6iP6nWVmiM83MLjsU91EeJcEg7LoWUABLp/aOTxj1HQNbJD1f3g3L0JQgH9A=="],
"@macalinao/biome-config": ["@macalinao/biome-config@0.1.7", "", { "peerDependencies": { "@biomejs/biome": "^2.3.10" } }, "sha512-JijaB/REJr6D3fGV36d1XGsf2WFofgnMS1WbOYcNJCQpic2XmFALV7GNL28z7rDCN3/DeSovPuW/1yImce7kPA=="],