From 59f3bedd9a27fd4b7291cf9597a5503f44ce4a30 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Mon, 22 Dec 2025 01:30:37 -0800 Subject: [PATCH] fix: only count human members when determining scout button availability --- src/routes/(app)/crew/members/+page.svelte | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/routes/(app)/crew/members/+page.svelte b/src/routes/(app)/crew/members/+page.svelte index a0ddad6d..e185d2a0 100644 --- a/src/routes/(app)/crew/members/+page.svelte +++ b/src/routes/(app)/crew/members/+page.svelte @@ -75,20 +75,16 @@ enabled: filter === 'pending' && crewStore.isOfficer })) - // Calculate total active roster size (members + phantoms) - const activeRosterSize = $derived.by(() => { + // Calculate active member count (real members only, not phantoms) + // Used to determine if scouting is disabled - phantoms can be replaced by real members + const activeMemberCount = $derived.by(() => { // Use active filter data if viewing active, otherwise use dedicated query const activeMembers = filter === 'active' ? (membersQuery.data?.members ?? []) : (activeQuery.data?.members ?? []) - const activePhantoms = - filter === 'active' ? (membersQuery.data?.phantoms ?? []) : (activeQuery.data?.phantoms ?? []) - - const activeMemberCount = activeMembers.filter((m) => !m.retired).length - const activePhantomCount = activePhantoms.filter((p) => !p.retired).length - return activeMemberCount + activePhantomCount + return activeMembers.filter((m) => !m.retired).length }) - const isRosterFull = $derived(activeRosterSize >= 30) + const isRosterFull = $derived(activeMemberCount >= 30) // Mutations const removeMemberMutation = useRemoveMember()