diff --git a/packages/app/src/pages/admin/members.vue b/packages/app/src/pages/admin/members.vue index aaad165..0466a47 100644 --- a/packages/app/src/pages/admin/members.vue +++ b/packages/app/src/pages/admin/members.vue @@ -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() } }