diff --git a/src/lib/types/api/crew.ts b/src/lib/types/api/crew.ts index a122c513..0fc4bcc4 100644 --- a/src/lib/types/api/crew.ts +++ b/src/lib/types/api/crew.ts @@ -117,10 +117,12 @@ export interface UpdatePhantomPlayerInput { notes?: string joinedAt?: string retired?: boolean + retiredAt?: string } export interface UpdateMembershipInput { role?: CrewRole joinedAt?: string retired?: boolean + retiredAt?: string } diff --git a/src/routes/(app)/crew/members/+page.svelte b/src/routes/(app)/crew/members/+page.svelte index 9789051b..1d07f0f9 100644 --- a/src/routes/(app)/crew/members/+page.svelte +++ b/src/routes/(app)/crew/members/+page.svelte @@ -128,6 +128,7 @@ let editingPhantom = $state(null) let editJoinDate = $state('') let editRetired = $state(false) + let editRetiredAt = $state('') // Dialog state for scout modal let scoutModalOpen = $state(false) @@ -204,6 +205,7 @@ // Format date for input editJoinDate = member.joinedAt ? (member.joinedAt.split('T')[0] ?? '') : '' editRetired = member.retired + editRetiredAt = member.retiredAt ? (member.retiredAt.split('T')[0] ?? '') : '' editDialogOpen = true } @@ -212,6 +214,7 @@ editingMember = null editJoinDate = phantom.joinedAt ? (phantom.joinedAt.split('T')[0] ?? '') : '' editRetired = phantom.retired + editRetiredAt = phantom.retiredAt ? (phantom.retiredAt.split('T')[0] ?? '') : '' editDialogOpen = true } @@ -223,13 +226,18 @@ await updateMembershipMutation.mutateAsync({ crewId: crewStore.crew.id, membershipId: editingMember.id, - input: { joinedAt: editJoinDate, retired: editRetired } + input: { + joinedAt: editJoinDate, + retired: editRetired, + retiredAt: editRetired ? editRetiredAt || undefined : undefined + } }) } else if (editingPhantom) { // Call the phantom update directly through the adapter await crewAdapter.updatePhantom(crewStore.crew.id, editingPhantom.id, { joinedAt: editJoinDate, - retired: editRetired + retired: editRetired, + retiredAt: editRetired ? editRetiredAt || undefined : undefined }) // Invalidate members query membersQuery.refetch() @@ -245,6 +253,7 @@ editingPhantom = null editJoinDate = '' editRetired = false + editRetiredAt = '' } function openDeletePhantomDialog(phantom: PhantomPlayer) { @@ -555,6 +564,15 @@ {/snippet} + {#if editRetired} +
+ + +
+

+ This date is used to determine which events a retired player was active for. +

+ {/if}