From 34d21283a7e9cf00810ab2e862b3259461906a6f Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 6 May 2026 15:06:38 +0200 Subject: [PATCH] Make project identifying more robust --- frontend/viewer/src/home/HomeView.svelte | 6 ++++-- frontend/viewer/src/project/ProjectDropdown.svelte | 6 ++++-- frontend/viewer/src/url-tracker.ts | 2 ++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/frontend/viewer/src/home/HomeView.svelte b/frontend/viewer/src/home/HomeView.svelte index c9ece430e9..7c1cc824fa 100644 --- a/frontend/viewer/src/home/HomeView.svelte +++ b/frontend/viewer/src/home/HomeView.svelte @@ -181,7 +181,7 @@ onclick={() => refreshProjects()}/>
- {#each projects.filter((p) => p.crdt) as project (project.id ?? project)} + {#each projects.filter((p) => p.crdt) as project (project)} {@const server = project.server} {@const loading = deletingProject === project.id}
@@ -249,7 +249,9 @@

{$t`Classic FieldWorks Projects`}

- {#each projects.filter((p) => p.fwdata) as project (project.name)} + + {#each projects.filter((p) => p.fwdata) as project (project)} {#snippet icon()} diff --git a/frontend/viewer/src/project/ProjectDropdown.svelte b/frontend/viewer/src/project/ProjectDropdown.svelte index 58e3bd5db6..a762723018 100644 --- a/frontend/viewer/src/project/ProjectDropdown.svelte +++ b/frontend/viewer/src/project/ProjectDropdown.svelte @@ -108,10 +108,12 @@ {:else} {$t`No Dictionaries found`} {#each projectsResource.current ?? [] as project (project)} + {@const isCurrentProject = project.crdt === isCrdt && + (isCrdt ? project.name === projectName : project.code === projectName)} handleSelect(project)} - class={cn('cursor-pointer', (project.name === projectName || project.code === projectName) && project.crdt === isCrdt && 'bg-secondary')} + class={cn('cursor-pointer', isCurrentProject && 'bg-secondary')} > {@render projectIcon(project.crdt)} diff --git a/frontend/viewer/src/url-tracker.ts b/frontend/viewer/src/url-tracker.ts index cfa64f75e7..8e48dc3fb6 100644 --- a/frontend/viewer/src/url-tracker.ts +++ b/frontend/viewer/src/url-tracker.ts @@ -14,6 +14,8 @@ export function trackUrl(appStorage: AppStorage) { const currentUrl = pathname + search + hash; if (currentUrl === lastSavedUrl) return; + if (pathname.startsWith('/api/')) return; + await appStorage.lastUrl.set(pathname + search + hash); lastSavedUrl = currentUrl; }) as () => void;