diff --git a/src/views/ProjectListView.vue b/src/views/ProjectListView.vue index fc513ca..f123e2d 100644 --- a/src/views/ProjectListView.vue +++ b/src/views/ProjectListView.vue @@ -54,6 +54,7 @@ function getInitials(name: string): string { // ─── Per-project team members ─────────────── const teamByProject = ref>(new Map()) +const teamInitialized = ref(false) const teamDialogProjectId = ref(null) const teamDialogOpen = ref(false) const pendingTeam = ref>(new Set()) @@ -96,9 +97,16 @@ async function loadAllTeams() { teamByProject.value = map } -watch(() => projects.projects.length, async () => { - if (projects.projects.length > 0) await loadAllTeams() -}) +watch( + [() => projects.projects.length, () => usersStore.users.length], + async ([pLen, uLen]) => { + if (pLen > 0 && uLen > 0 && !teamInitialized.value) { + teamInitialized.value = true + await loadAllTeams() + } + }, + { immediate: true } +) function getTeamMembers(projectId: number): AlphaUser[] { const ids = teamByProject.value.get(projectId) ?? []