From 7358129802c05834b08f635eeeb99bbc72755b31 Mon Sep 17 00:00:00 2001 From: igm Date: Sun, 11 Jan 2026 12:10:27 +0800 Subject: [PATCH] Fix TypeScript and linting errors across publisher-dashboard - Add type assertions for dynamic route paths in goto() and resolve() - Add missing key attributes to {#each} blocks - Wrap navigation hrefs with resolve() for SvelteKit compatibility Co-Authored-By: Claude Opus 4.5 --- .../src/lib/components/account/account-nav.svelte | 2 +- .../src/lib/components/auth/auth-guard.svelte | 4 +++- .../src/lib/components/dashboard/frequent-filters.svelte | 2 +- .../lib/components/dashboard/performance-table.svelte | 2 +- .../layout/account/account-settings-layout.svelte | 9 +++++---- .../lib/components/layout/admin/admin-mobile-nav.svelte | 4 ++-- .../src/lib/components/layout/admin/admin-sidebar.svelte | 4 ++-- .../lib/components/layout/dashboard/app-sidebar.svelte | 2 +- .../lib/components/layout/dashboard/mobile-nav.svelte | 4 ++-- .../lib/components/layout/dashboard/org-switcher.svelte | 2 +- .../src/lib/components/layout/dashboard/user-menu.svelte | 2 +- .../components/layout/settings/settings-layout.svelte | 4 ++-- apps/publisher-dashboard/src/routes/+page.svelte | 4 ++-- .../src/routes/account/api-tokens/+page.svelte | 3 ++- .../routes/account/org-invites/[inviteId]/+page.svelte | 2 +- apps/publisher-dashboard/src/routes/admin/+layout.svelte | 2 +- apps/publisher-dashboard/src/routes/auth/+layout.svelte | 4 ++-- .../src/routes/auth/confirm/+page.svelte | 2 +- .../src/routes/auth/trust-device/+page.svelte | 2 +- .../src/routes/dashboard/+page.svelte | 2 +- .../src/routes/invite/accept/+page.svelte | 4 +++- 21 files changed, 36 insertions(+), 30 deletions(-) diff --git a/apps/publisher-dashboard/src/lib/components/account/account-nav.svelte b/apps/publisher-dashboard/src/lib/components/account/account-nav.svelte index bf64247..4cc6bfc 100644 --- a/apps/publisher-dashboard/src/lib/components/account/account-nav.svelte +++ b/apps/publisher-dashboard/src/lib/components/account/account-nav.svelte @@ -60,7 +60,7 @@ function isActive(href: string, pathname: string): boolean { {#each navItems as item (item.href)} {@const active = isActive(item.href, $page.url.pathname)} ({ $effect(() => { if (!isAuthPage && userQuery.error) { goto( - resolve(`/auth/login?redirect=${encodeURIComponent(page.url.pathname)}`), + resolve( + `/auth/login?redirect=${encodeURIComponent(page.url.pathname)}` as any, + ), ); } }); diff --git a/apps/publisher-dashboard/src/lib/components/dashboard/frequent-filters.svelte b/apps/publisher-dashboard/src/lib/components/dashboard/frequent-filters.svelte index 33600ed..477f4c1 100644 --- a/apps/publisher-dashboard/src/lib/components/dashboard/frequent-filters.svelte +++ b/apps/publisher-dashboard/src/lib/components/dashboard/frequent-filters.svelte @@ -28,7 +28,7 @@ const filters = [
{#each filters as filter (filter.label)}
diff --git a/apps/publisher-dashboard/src/lib/components/dashboard/performance-table.svelte b/apps/publisher-dashboard/src/lib/components/dashboard/performance-table.svelte index bf9276a..07d1258 100644 --- a/apps/publisher-dashboard/src/lib/components/dashboard/performance-table.svelte +++ b/apps/publisher-dashboard/src/lib/components/dashboard/performance-table.svelte @@ -40,7 +40,7 @@ function handleTabChange(tabId: string) { } else { url.searchParams.set("tab", tabId); } - goto(resolve(url.toString()), { replaceState: true, noScroll: true }); + goto(resolve(url.toString() as any), { replaceState: true, noScroll: true }); } diff --git a/apps/publisher-dashboard/src/lib/components/layout/account/account-settings-layout.svelte b/apps/publisher-dashboard/src/lib/components/layout/account/account-settings-layout.svelte index c17beb8..8d62342 100644 --- a/apps/publisher-dashboard/src/lib/components/layout/account/account-settings-layout.svelte +++ b/apps/publisher-dashboard/src/lib/components/layout/account/account-settings-layout.svelte @@ -6,6 +6,7 @@ import MonitorIcon from "@lucide/svelte/icons/monitor"; import ShieldCheckIcon from "@lucide/svelte/icons/shield-check"; import UserIcon from "@lucide/svelte/icons/user"; import { createQuery } from "@tanstack/svelte-query"; +import { resolve } from "$app/paths"; import { page } from "$app/stores"; import { api } from "$lib/api/client"; import { DashboardLayout } from "$lib/components/layout"; @@ -91,10 +92,10 @@ function isActive(href: string): boolean {