add retired date field to edit player dialog
This commit is contained in:
parent
4d84a7f915
commit
cefcdfef07
2 changed files with 22 additions and 2 deletions
|
|
@ -117,10 +117,12 @@ export interface UpdatePhantomPlayerInput {
|
||||||
notes?: string
|
notes?: string
|
||||||
joinedAt?: string
|
joinedAt?: string
|
||||||
retired?: boolean
|
retired?: boolean
|
||||||
|
retiredAt?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface UpdateMembershipInput {
|
export interface UpdateMembershipInput {
|
||||||
role?: CrewRole
|
role?: CrewRole
|
||||||
joinedAt?: string
|
joinedAt?: string
|
||||||
retired?: boolean
|
retired?: boolean
|
||||||
|
retiredAt?: string
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -128,6 +128,7 @@
|
||||||
let editingPhantom = $state<PhantomPlayer | null>(null)
|
let editingPhantom = $state<PhantomPlayer | null>(null)
|
||||||
let editJoinDate = $state('')
|
let editJoinDate = $state('')
|
||||||
let editRetired = $state(false)
|
let editRetired = $state(false)
|
||||||
|
let editRetiredAt = $state('')
|
||||||
|
|
||||||
// Dialog state for scout modal
|
// Dialog state for scout modal
|
||||||
let scoutModalOpen = $state(false)
|
let scoutModalOpen = $state(false)
|
||||||
|
|
@ -204,6 +205,7 @@
|
||||||
// Format date for input
|
// Format date for input
|
||||||
editJoinDate = member.joinedAt ? (member.joinedAt.split('T')[0] ?? '') : ''
|
editJoinDate = member.joinedAt ? (member.joinedAt.split('T')[0] ?? '') : ''
|
||||||
editRetired = member.retired
|
editRetired = member.retired
|
||||||
|
editRetiredAt = member.retiredAt ? (member.retiredAt.split('T')[0] ?? '') : ''
|
||||||
editDialogOpen = true
|
editDialogOpen = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -212,6 +214,7 @@
|
||||||
editingMember = null
|
editingMember = null
|
||||||
editJoinDate = phantom.joinedAt ? (phantom.joinedAt.split('T')[0] ?? '') : ''
|
editJoinDate = phantom.joinedAt ? (phantom.joinedAt.split('T')[0] ?? '') : ''
|
||||||
editRetired = phantom.retired
|
editRetired = phantom.retired
|
||||||
|
editRetiredAt = phantom.retiredAt ? (phantom.retiredAt.split('T')[0] ?? '') : ''
|
||||||
editDialogOpen = true
|
editDialogOpen = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -223,13 +226,18 @@
|
||||||
await updateMembershipMutation.mutateAsync({
|
await updateMembershipMutation.mutateAsync({
|
||||||
crewId: crewStore.crew.id,
|
crewId: crewStore.crew.id,
|
||||||
membershipId: editingMember.id,
|
membershipId: editingMember.id,
|
||||||
input: { joinedAt: editJoinDate, retired: editRetired }
|
input: {
|
||||||
|
joinedAt: editJoinDate,
|
||||||
|
retired: editRetired,
|
||||||
|
retiredAt: editRetired ? editRetiredAt || undefined : undefined
|
||||||
|
}
|
||||||
})
|
})
|
||||||
} else if (editingPhantom) {
|
} else if (editingPhantom) {
|
||||||
// Call the phantom update directly through the adapter
|
// Call the phantom update directly through the adapter
|
||||||
await crewAdapter.updatePhantom(crewStore.crew.id, editingPhantom.id, {
|
await crewAdapter.updatePhantom(crewStore.crew.id, editingPhantom.id, {
|
||||||
joinedAt: editJoinDate,
|
joinedAt: editJoinDate,
|
||||||
retired: editRetired
|
retired: editRetired,
|
||||||
|
retiredAt: editRetired ? editRetiredAt || undefined : undefined
|
||||||
})
|
})
|
||||||
// Invalidate members query
|
// Invalidate members query
|
||||||
membersQuery.refetch()
|
membersQuery.refetch()
|
||||||
|
|
@ -245,6 +253,7 @@
|
||||||
editingPhantom = null
|
editingPhantom = null
|
||||||
editJoinDate = ''
|
editJoinDate = ''
|
||||||
editRetired = false
|
editRetired = false
|
||||||
|
editRetiredAt = ''
|
||||||
}
|
}
|
||||||
|
|
||||||
function openDeletePhantomDialog(phantom: PhantomPlayer) {
|
function openDeletePhantomDialog(phantom: PhantomPlayer) {
|
||||||
|
|
@ -555,6 +564,15 @@
|
||||||
<Switch bind:checked={editRetired} name="retired" />
|
<Switch bind:checked={editRetired} name="retired" />
|
||||||
{/snippet}
|
{/snippet}
|
||||||
</SettingsRow>
|
</SettingsRow>
|
||||||
|
{#if editRetired}
|
||||||
|
<div class="form-field">
|
||||||
|
<label for="retiredAt">Retired date</label>
|
||||||
|
<input id="retiredAt" type="date" bind:value={editRetiredAt} class="date-input" />
|
||||||
|
</div>
|
||||||
|
<p class="help-text">
|
||||||
|
This date is used to determine which events a retired player was active for.
|
||||||
|
</p>
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ModalBody>
|
</ModalBody>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue