From dd7b2ea8e4b5c9e33ffaef6c90a43334a774a169 Mon Sep 17 00:00:00 2001 From: RevIQ Date: Sat, 10 Jan 2026 15:45:03 +0800 Subject: [PATCH] Revamp navigation with org switcher and user menu, fix passkey login Navigation changes: - Add org-switcher dropdown to sidebar showing user's orgs - Add user-menu dropdown with account settings and sign out - Make nav items dynamic based on org context - Move performance page to /dashboard/[slug]/performance - Add reports placeholder page at /dashboard/[slug]/reports - Remove admin link from sidebar (separate layout) - Update mobile nav to match sidebar changes - Install shadcn dropdown-menu and popover components Auth fix: - Mark login request as completed after passkey verification - Previously passkey auth didn't complete the login flow, requiring unnecessary email verification Co-Authored-By: Claude Opus 4.5 --- apps/api-server/src/router.ts | 7 + apps/publisher-dashboard/package.json | 2 +- .../lib/components/layout/app-sidebar.svelte | 200 ++++-------------- .../lib/components/layout/mobile-nav.svelte | 154 ++++++++++---- .../lib/components/layout/org-switcher.svelte | 89 ++++++++ .../lib/components/layout/user-menu.svelte | 112 ++++++++++ .../dropdown-menu-checkbox-group.svelte | 16 ++ .../dropdown-menu-checkbox-item.svelte | 43 ++++ .../dropdown-menu-content.svelte | 31 +++ .../dropdown-menu-group-heading.svelte | 22 ++ .../dropdown-menu/dropdown-menu-group.svelte | 8 + .../dropdown-menu/dropdown-menu-item.svelte | 27 +++ .../dropdown-menu/dropdown-menu-label.svelte | 24 +++ .../dropdown-menu/dropdown-menu-portal.svelte | 7 + .../dropdown-menu-radio-group.svelte | 16 ++ .../dropdown-menu-radio-item.svelte | 33 +++ .../dropdown-menu-separator.svelte | 17 ++ .../dropdown-menu-shortcut.svelte | 20 ++ .../dropdown-menu-sub-content.svelte | 20 ++ .../dropdown-menu-sub-trigger.svelte | 29 +++ .../ui/dropdown-menu/dropdown-menu-sub.svelte | 8 + .../dropdown-menu-trigger.svelte | 10 + .../ui/dropdown-menu/dropdown-menu.svelte | 8 + .../lib/components/ui/dropdown-menu/index.ts | 54 +++++ .../src/lib/components/ui/popover/index.ts | 19 ++ .../ui/popover/popover-close.svelte | 8 + .../ui/popover/popover-content.svelte | 31 +++ .../ui/popover/popover-portal.svelte | 7 + .../ui/popover/popover-trigger.svelte | 17 ++ .../lib/components/ui/popover/popover.svelte | 8 + .../[slug]}/performance/+page.svelte | 5 + .../dashboard/[slug]/reports/+page.svelte | 24 +++ .../src/routes/performance/+layout.ts | 2 - bun.lock | 4 +- 34 files changed, 882 insertions(+), 200 deletions(-) create mode 100644 apps/publisher-dashboard/src/lib/components/layout/org-switcher.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/layout/user-menu.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-group.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-portal.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-sub.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-trigger.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/index.ts create mode 100644 apps/publisher-dashboard/src/lib/components/ui/popover/index.ts create mode 100644 apps/publisher-dashboard/src/lib/components/ui/popover/popover-close.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/popover/popover-content.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/popover/popover-portal.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/popover/popover-trigger.svelte create mode 100644 apps/publisher-dashboard/src/lib/components/ui/popover/popover.svelte rename apps/publisher-dashboard/src/routes/{ => dashboard/[slug]}/performance/+page.svelte (91%) create mode 100644 apps/publisher-dashboard/src/routes/dashboard/[slug]/reports/+page.svelte delete mode 100644 apps/publisher-dashboard/src/routes/performance/+layout.ts diff --git a/apps/api-server/src/router.ts b/apps/api-server/src/router.ts index 043125a..08bfef9 100644 --- a/apps/api-server/src/router.ts +++ b/apps/api-server/src/router.ts @@ -153,6 +153,13 @@ const verifyAuthentication = os.auth.webauthn.verifyAuthentication message: "Authentication failed", }); } + + // Mark the login request as completed - passkey verification is equivalent to email verification + await context.db + .updateTable("login_requests") + .set({ completed_at: new Date() }) + .where("id", "=", String(context.loginRequestId)) + .execute(); }); // Me procedures diff --git a/apps/publisher-dashboard/package.json b/apps/publisher-dashboard/package.json index c52025c..84796ab 100644 --- a/apps/publisher-dashboard/package.json +++ b/apps/publisher-dashboard/package.json @@ -30,7 +30,7 @@ }, "devDependencies": { "@internationalized/date": "^3.10.1", - "@lucide/svelte": "^0.562.0", + "@lucide/svelte": "^0.561.0", "@macalinao/eslint-config": "catalog:", "@macalinao/tsconfig": "catalog:", "@sveltejs/adapter-static": "^3.0.8", diff --git a/apps/publisher-dashboard/src/lib/components/layout/app-sidebar.svelte b/apps/publisher-dashboard/src/lib/components/layout/app-sidebar.svelte index 349d6a1..051aef0 100644 --- a/apps/publisher-dashboard/src/lib/components/layout/app-sidebar.svelte +++ b/apps/publisher-dashboard/src/lib/components/layout/app-sidebar.svelte @@ -1,8 +1,9 @@ diff --git a/apps/publisher-dashboard/src/lib/components/layout/mobile-nav.svelte b/apps/publisher-dashboard/src/lib/components/layout/mobile-nav.svelte index c0c0afa..a192c94 100644 --- a/apps/publisher-dashboard/src/lib/components/layout/mobile-nav.svelte +++ b/apps/publisher-dashboard/src/lib/components/layout/mobile-nav.svelte @@ -1,5 +1,9 @@ @@ -86,35 +150,10 @@ function handleNavClick() { /> - {/if} - {item.label} - - {/each} - - - - -
- {#each bottomItems as item} - {@const isActive = $page.url.pathname === item.href} - - {#if item.icon === "settings"} + {:else if item.icon === "building"} - - + + {/if} {item.label} @@ -126,14 +165,47 @@ function handleNavClick() { diff --git a/apps/publisher-dashboard/src/lib/components/layout/org-switcher.svelte b/apps/publisher-dashboard/src/lib/components/layout/org-switcher.svelte new file mode 100644 index 0000000..c3b2afb --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/layout/org-switcher.svelte @@ -0,0 +1,89 @@ + + + + + {#snippet child({ props })} + + {/snippet} + + + Organizations + + {#if orgsQuery.isPending} + Loading... + {:else if orgs.length === 0} + No organizations + {:else} + {#each orgs as org} + {@const isActive = currentSlug === org.slug} + handleOrgSelect(org.slug)} + class={cn(isActive && "bg-accent")} + > +
+ {#if org.logoUrl} + + {:else} +
+ {org.displayName.charAt(0).toUpperCase()} +
+ {/if} + {org.displayName} + {#if isActive} + + + + {/if} +
+
+ {/each} + {/if} + + goto("/dashboard/new")}> +
+ + + + + Create New Organization +
+
+
+
diff --git a/apps/publisher-dashboard/src/lib/components/layout/user-menu.svelte b/apps/publisher-dashboard/src/lib/components/layout/user-menu.svelte new file mode 100644 index 0000000..f5d62bd --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/layout/user-menu.svelte @@ -0,0 +1,112 @@ + + + + + {#snippet child({ props })} + + {/snippet} + + + +
+ {#if user?.avatarUrl} + + {:else} +
+ {initials} +
+ {/if} +
+ {user?.displayName ?? user?.email ?? "Loading..."} + {#if currentUserRole} + {currentUserRole} + {:else if user?.email && user?.displayName} + {user.email} + {/if} +
+
+ + goto("/account")}> + + + + + Account Settings + + + + + + + + + Sign out + +
+
diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte new file mode 100644 index 0000000..5fe30f7 --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte @@ -0,0 +1,16 @@ + + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte new file mode 100644 index 0000000..49be469 --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte @@ -0,0 +1,43 @@ + + + + {#snippet children({ checked, indeterminate })} + + {#if indeterminate} + + {:else} + + {/if} + + {@render childrenProp?.()} + {/snippet} + diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte new file mode 100644 index 0000000..ef29949 --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte @@ -0,0 +1,31 @@ + + + + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte new file mode 100644 index 0000000..a84920a --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte @@ -0,0 +1,22 @@ + + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-group.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-group.svelte new file mode 100644 index 0000000..9b8c8e1 --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-group.svelte @@ -0,0 +1,8 @@ + + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte new file mode 100644 index 0000000..e1278b4 --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte @@ -0,0 +1,27 @@ + + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte new file mode 100644 index 0000000..9ab03be --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte @@ -0,0 +1,24 @@ + + +
+ {@render children?.()} +
diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-portal.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-portal.svelte new file mode 100644 index 0000000..79e897c --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-portal.svelte @@ -0,0 +1,7 @@ + + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte new file mode 100644 index 0000000..f1dced8 --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte @@ -0,0 +1,16 @@ + + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte new file mode 100644 index 0000000..d4f7ef3 --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte @@ -0,0 +1,33 @@ + + + + {#snippet children({ checked })} + + {#if checked} + + {/if} + + {@render childrenProp?.({ checked })} + {/snippet} + diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte new file mode 100644 index 0000000..f7b3d5f --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte @@ -0,0 +1,17 @@ + + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte new file mode 100644 index 0000000..a27ab29 --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte @@ -0,0 +1,20 @@ + + + + {@render children?.()} + diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte new file mode 100644 index 0000000..67f6303 --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte @@ -0,0 +1,20 @@ + + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte new file mode 100644 index 0000000..cc5bc78 --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte @@ -0,0 +1,29 @@ + + + + {@render children?.()} + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-sub.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-sub.svelte new file mode 100644 index 0000000..48d664b --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-sub.svelte @@ -0,0 +1,8 @@ + + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-trigger.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-trigger.svelte new file mode 100644 index 0000000..51774fa --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu-trigger.svelte @@ -0,0 +1,10 @@ + + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu.svelte b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu.svelte new file mode 100644 index 0000000..f1b7449 --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/dropdown-menu.svelte @@ -0,0 +1,8 @@ + + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/index.ts b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/index.ts new file mode 100644 index 0000000..41ef3f9 --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/dropdown-menu/index.ts @@ -0,0 +1,54 @@ +import Root from "./dropdown-menu.svelte"; +import CheckboxGroup from "./dropdown-menu-checkbox-group.svelte"; +import CheckboxItem from "./dropdown-menu-checkbox-item.svelte"; +import Content from "./dropdown-menu-content.svelte"; +import Group from "./dropdown-menu-group.svelte"; +import GroupHeading from "./dropdown-menu-group-heading.svelte"; +import Item from "./dropdown-menu-item.svelte"; +import Label from "./dropdown-menu-label.svelte"; +import Portal from "./dropdown-menu-portal.svelte"; +import RadioGroup from "./dropdown-menu-radio-group.svelte"; +import RadioItem from "./dropdown-menu-radio-item.svelte"; +import Separator from "./dropdown-menu-separator.svelte"; +import Shortcut from "./dropdown-menu-shortcut.svelte"; +import Sub from "./dropdown-menu-sub.svelte"; +import SubContent from "./dropdown-menu-sub-content.svelte"; +import SubTrigger from "./dropdown-menu-sub-trigger.svelte"; +import Trigger from "./dropdown-menu-trigger.svelte"; + +export { + CheckboxGroup, + CheckboxItem, + Content, + Portal, + Root as DropdownMenu, + CheckboxGroup as DropdownMenuCheckboxGroup, + CheckboxItem as DropdownMenuCheckboxItem, + Content as DropdownMenuContent, + Portal as DropdownMenuPortal, + Group as DropdownMenuGroup, + Item as DropdownMenuItem, + Label as DropdownMenuLabel, + RadioGroup as DropdownMenuRadioGroup, + RadioItem as DropdownMenuRadioItem, + Separator as DropdownMenuSeparator, + Shortcut as DropdownMenuShortcut, + Sub as DropdownMenuSub, + SubContent as DropdownMenuSubContent, + SubTrigger as DropdownMenuSubTrigger, + Trigger as DropdownMenuTrigger, + GroupHeading as DropdownMenuGroupHeading, + Group, + GroupHeading, + Item, + Label, + RadioGroup, + RadioItem, + Root, + Separator, + Shortcut, + Sub, + SubContent, + SubTrigger, + Trigger, +}; diff --git a/apps/publisher-dashboard/src/lib/components/ui/popover/index.ts b/apps/publisher-dashboard/src/lib/components/ui/popover/index.ts new file mode 100644 index 0000000..2c3e67d --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/popover/index.ts @@ -0,0 +1,19 @@ +import Root from "./popover.svelte"; +import Close from "./popover-close.svelte"; +import Content from "./popover-content.svelte"; +import Portal from "./popover-portal.svelte"; +import Trigger from "./popover-trigger.svelte"; + +export { + Root, + Content, + Trigger, + Close, + Portal, + // + Root as Popover, + Content as PopoverContent, + Trigger as PopoverTrigger, + Close as PopoverClose, + Portal as PopoverPortal, +}; diff --git a/apps/publisher-dashboard/src/lib/components/ui/popover/popover-close.svelte b/apps/publisher-dashboard/src/lib/components/ui/popover/popover-close.svelte new file mode 100644 index 0000000..77cef23 --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/popover/popover-close.svelte @@ -0,0 +1,8 @@ + + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/popover/popover-content.svelte b/apps/publisher-dashboard/src/lib/components/ui/popover/popover-content.svelte new file mode 100644 index 0000000..c42998f --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/popover/popover-content.svelte @@ -0,0 +1,31 @@ + + + + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/popover/popover-portal.svelte b/apps/publisher-dashboard/src/lib/components/ui/popover/popover-portal.svelte new file mode 100644 index 0000000..d76241e --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/popover/popover-portal.svelte @@ -0,0 +1,7 @@ + + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/popover/popover-trigger.svelte b/apps/publisher-dashboard/src/lib/components/ui/popover/popover-trigger.svelte new file mode 100644 index 0000000..567deeb --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/popover/popover-trigger.svelte @@ -0,0 +1,17 @@ + + + diff --git a/apps/publisher-dashboard/src/lib/components/ui/popover/popover.svelte b/apps/publisher-dashboard/src/lib/components/ui/popover/popover.svelte new file mode 100644 index 0000000..018f415 --- /dev/null +++ b/apps/publisher-dashboard/src/lib/components/ui/popover/popover.svelte @@ -0,0 +1,8 @@ + + + diff --git a/apps/publisher-dashboard/src/routes/performance/+page.svelte b/apps/publisher-dashboard/src/routes/dashboard/[slug]/performance/+page.svelte similarity index 91% rename from apps/publisher-dashboard/src/routes/performance/+page.svelte rename to apps/publisher-dashboard/src/routes/dashboard/[slug]/performance/+page.svelte index 09fa1ab..fd50f5d 100644 --- a/apps/publisher-dashboard/src/routes/performance/+page.svelte +++ b/apps/publisher-dashboard/src/routes/dashboard/[slug]/performance/+page.svelte @@ -1,10 +1,15 @@ + + + Reports - Publisher Dashboard + + + +
+
+
+ + + + +
+

Coming Soon

+

+ Advanced reporting features are currently in development. +

+
+
+
diff --git a/apps/publisher-dashboard/src/routes/performance/+layout.ts b/apps/publisher-dashboard/src/routes/performance/+layout.ts deleted file mode 100644 index 89da957..0000000 --- a/apps/publisher-dashboard/src/routes/performance/+layout.ts +++ /dev/null @@ -1,2 +0,0 @@ -export const ssr = false; -export const prerender = true; diff --git a/bun.lock b/bun.lock index 392b2e3..b063665 100644 --- a/bun.lock +++ b/bun.lock @@ -91,7 +91,7 @@ }, "devDependencies": { "@internationalized/date": "^3.10.1", - "@lucide/svelte": "^0.562.0", + "@lucide/svelte": "^0.561.0", "@macalinao/eslint-config": "catalog:", "@macalinao/tsconfig": "catalog:", "@sveltejs/adapter-static": "^3.0.8", @@ -334,7 +334,7 @@ "@levischuck/tiny-cbor": ["@levischuck/tiny-cbor@0.2.11", "", {}, "sha512-llBRm4dT4Z89aRsm6u2oEZ8tfwL/2l6BwpZ7JcyieouniDECM5AqNgr/y08zalEIvW3RSK4upYyybDcmjXqAow=="], - "@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=="],