fix(app): ensure edit form initializes after async data loads

- switchTab('edit') now awaits fetchCardTypes and loadDetailMembership
  before calling initEditForm, fixing blank form fields for new cards

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
richarjiang
2026-04-07 10:13:20 +08:00
parent e6056bcab1
commit 0a20aef678

View File

@@ -430,21 +430,19 @@ async function loadDetailMembership(userId: string) {
}
}
function switchTab(tab: 'detail' | 'edit') {
async function switchTab(tab: 'detail' | 'edit') {
activeTab.value = tab
if (tab === 'edit') {
// Always fetch card types if not yet loaded
if (!editCardTypes.value.length) {
adminStore.fetchCardTypes().then((types) => {
editCardTypes.value = types
})
await adminStore.fetchCardTypes()
editCardTypes.value = adminStore.cardTypes
}
// Load membership if not yet loaded
if (!detailMembership.value) {
loadDetailMembership(detailMember.value!.userId).then(() => {
initEditForm()
})
} else {
initEditForm()
await loadDetailMembership(detailMember.value!.userId)
}
initEditForm()
}
}