Implemented admin assign unit UI
All checks were successful
Pull Request CI / Merge Check (pull_request) Successful in 3m55s
All checks were successful
Pull Request CI / Merge Check (pull_request) Successful in 3m55s
This commit is contained in:
@@ -34,6 +34,7 @@
|
||||
import MemberCard from "@/components/members/MemberCard.vue";
|
||||
import { useMemberDirectory } from "@/stores/memberDirectory";
|
||||
import { Discharge } from "@shared/schemas/dischargeSchema";
|
||||
import TransferMember from "@/components/members/TransferMember.vue";
|
||||
|
||||
// --- State ---
|
||||
const router = useRouter();
|
||||
@@ -141,13 +142,19 @@
|
||||
|
||||
//discharge form logic
|
||||
const isDischargeOpen = ref(false)
|
||||
const targetMember = ref(null)
|
||||
const isTransferOpen = ref(false)
|
||||
const targetMember = ref<Member | null>(null)
|
||||
|
||||
function openDischargeModal(member: Member) {
|
||||
targetMember.value = member
|
||||
isDischargeOpen.value = true
|
||||
}
|
||||
|
||||
function openTransferModal(member: Member) {
|
||||
targetMember.value = member
|
||||
isTransferOpen.value = true
|
||||
}
|
||||
|
||||
async function onSuspend(member: Member) {
|
||||
await suspendMember(member.member_id);
|
||||
await fetchMembers();
|
||||
@@ -166,12 +173,19 @@
|
||||
fetchMembers();
|
||||
memberCache.invalidateMember(value.data.userID);
|
||||
}
|
||||
|
||||
function handleTransferSuccess(value: { memberId: number; unitId: number; reason: string }) {
|
||||
fetchMembers();
|
||||
memberCache.invalidateMember(value.memberId);
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<DischargeMember v-model:open="isDischargeOpen" :member="targetMember" @discharged="handleDischargeSuccess">
|
||||
</DischargeMember>
|
||||
<TransferMember v-model:open="isTransferOpen" :member="targetMember" @transferred="handleTransferSuccess">
|
||||
</TransferMember>
|
||||
<div class="mx-auto max-w-7xl w-full py-10 px-4">
|
||||
<div class="flex flex-col gap-2">
|
||||
<div class="flex flex-col md:flex-row md:items-center justify-between gap-4">
|
||||
@@ -270,6 +284,10 @@
|
||||
<!-- <DropdownMenuItem @click="navigateToMember(member.member_id)">
|
||||
View Profile
|
||||
</DropdownMenuItem> -->
|
||||
<DropdownMenuItem v-if="member.member_state !== MemberState.Discharged"
|
||||
@click="openTransferModal(member)">
|
||||
Transfer Member
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuItem v-if="member.member_state !== MemberState.Discharged"
|
||||
@click="openDischargeModal(member)"
|
||||
class="text-destructive focus:bg-destructive focus:text-destructive-foreground font-medium">
|
||||
|
||||
Reference in New Issue
Block a user