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;