From 2c721bf1fce013099f6ff99ca2bdc6a48afb11e8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 21 Nov 2025 22:36:02 +0000 Subject: [PATCH] Simplify dropdown refresh logic using allProjectsCount Co-authored-by: stnguyen90 <1477010+stnguyen90@users.noreply.github.com> --- src/lib/components/breadcrumbs.svelte | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/src/lib/components/breadcrumbs.svelte b/src/lib/components/breadcrumbs.svelte index 5a61a5fd8..f54948ba2 100644 --- a/src/lib/components/breadcrumbs.svelte +++ b/src/lib/components/breadcrumbs.svelte @@ -74,7 +74,6 @@ let isLoadingProjects = false; let loadedProjects: Models.ProjectList = { total: 0, projects: [] }; - let wasOnProjectPage = false; export let organizations: Organization[] = []; export let currentProject: Models.Project | null = null; @@ -242,27 +241,15 @@ $: organizationId = currentProject?.teamId; - // Invalidate cache when navigating from non-project page back to project page - // This handles cases like project deletion where user is redirected to org page - $: { - const isOnProjectPage = !!currentProject; - const hasNavigatedBackToProjects = - isOnProjectPage && !wasOnProjectPage && loadedProjects.projects.length > 0; - - if (hasNavigatedBackToProjects) { - // Clear cache to force reload after being away from project pages - loadedProjects = { total: 0, projects: [] }; - } - - wasOnProjectPage = isOnProjectPage; - } - $: shouldReloadProjects = isLoadingProjects ? false : currentProject && loadedProjects.projects.length ? // All projects in cache belong to same org, so check first project's teamId loadedProjects.projects[0].teamId != currentProject.teamId || - !loadedProjects.projects.some((p) => p.$id === currentProject.$id) + !loadedProjects.projects.some((p) => p.$id === currentProject.$id) || + // Reload if total project count changed (handles creation/deletion) + (page.data?.allProjectsCount !== undefined && + loadedProjects.total !== page.data.allProjectsCount) : !loadedProjects.projects.length; $: if (shouldReloadProjects) {