diff --git a/components/MemberCard.vue b/components/MemberCard.vue index 81c051c..cf81501 100644 --- a/components/MemberCard.vue +++ b/components/MemberCard.vue @@ -12,7 +12,7 @@ size="small" variant="flat" > - {{ member['Membership Status'] }} + {{ member.membership_status }} @@ -31,18 +31,18 @@

- {{ member.FullName || `${member['First Name']} ${member['Last Name']}` }} + {{ member.FullName || `${member.first_name} ${member.last_name}` }}

- {{ getCountryName(member.Nationality) || 'Unknown' }} + {{ getCountryName(member.nationality) || 'Unknown' }}
@@ -52,17 +52,17 @@
mdi-email - {{ member.Email || 'No email' }} + {{ member.email || 'No email' }}
-
+
mdi-phone - {{ member.FormattedPhone || member.Phone }} + {{ member.FormattedPhone || member.phone }}
-
+
mdi-calendar - Member since {{ formatDate(member['Member Since']) }} + Member since {{ formatDate(member.member_since) }}
@@ -79,14 +79,14 @@ mdi-calendar-alert - {{ isOverdue ? 'Overdue' : `Due ${formatDate(member['Payment Due Date'])}` }} + {{ isOverdue ? 'Overdue' : `Due ${formatDate(member.payment_due_date)}` }}
@@ -148,11 +148,11 @@ const props = withDefaults(defineProps(), { defineEmits(); // Computed properties -const memberInitials = computed(() => { - const firstName = props.member['First Name'] || ''; - const lastName = props.member['Last Name'] || ''; - return `${firstName.charAt(0)}${lastName.charAt(0)}`.toUpperCase(); -}); + const memberInitials = computed(() => { + const firstName = props.member.first_name || ''; + const lastName = props.member.last_name || ''; + return `${firstName.charAt(0)}${lastName.charAt(0)}`.toUpperCase(); + }); const avatarColor = computed(() => { // Generate consistent color based on member ID using high-contrast colors @@ -162,11 +162,11 @@ const avatarColor = computed(() => { }); const isActive = computed(() => { - return props.member['Membership Status'] === 'Active'; + return props.member.membership_status === 'Active'; }); const statusColor = computed(() => { - const status = props.member['Membership Status']; + const status = props.member.membership_status; switch (status) { case 'Active': return 'success'; case 'Inactive': return 'grey'; @@ -177,26 +177,26 @@ const statusColor = computed(() => { }); const duesColor = computed(() => { - return props.member['Current Year Dues Paid'] === 'true' ? 'success' : 'error'; + return props.member.current_year_dues_paid === 'true' ? 'success' : 'error'; }); const duesVariant = computed(() => { - return props.member['Current Year Dues Paid'] === 'true' ? 'tonal' : 'flat'; + return props.member.current_year_dues_paid === 'true' ? 'tonal' : 'flat'; }); const duesIcon = computed(() => { - return props.member['Current Year Dues Paid'] === 'true' ? 'mdi-check-circle' : 'mdi-alert-circle'; + return props.member.current_year_dues_paid === 'true' ? 'mdi-check-circle' : 'mdi-alert-circle'; }); const duesText = computed(() => { - return props.member['Current Year Dues Paid'] === 'true' ? 'Dues Paid' : 'Dues Outstanding'; + return props.member.current_year_dues_paid === 'true' ? 'Dues Paid' : 'Dues Outstanding'; }); const isOverdue = computed(() => { - if (!props.member['Payment Due Date']) return false; - const dueDate = new Date(props.member['Payment Due Date']); + if (!props.member.payment_due_date) return false; + const dueDate = new Date(props.member.payment_due_date); const today = new Date(); - return dueDate < today && props.member['Current Year Dues Paid'] !== 'true'; + return dueDate < today && props.member.current_year_dues_paid !== 'true'; }); // Methods diff --git a/components/ViewMemberDialog.vue b/components/ViewMemberDialog.vue index a8edbc4..fdc6379 100644 --- a/components/ViewMemberDialog.vue +++ b/components/ViewMemberDialog.vue @@ -21,18 +21,18 @@

- {{ member.FullName || `${member['First Name']} ${member['Last Name']}` }} + {{ member.FullName || `${member.first_name} ${member.last_name}` }}

- {{ getCountryName(member.Nationality) || 'Unknown Country' }} + {{ getCountryName(member.nationality) || 'Unknown Country' }}
@@ -56,7 +56,7 @@ size="small" > {{ statusIcon }} - {{ member['Membership Status'] }} + {{ member.membership_status }}
-

{{ member['First Name'] || 'Not provided' }}

+

{{ member.first_name || 'Not provided' }}

-

{{ member['Last Name'] || 'Not provided' }}

+

{{ member.last_name || 'Not provided' }}

-
+ -
+
-

{{ formatDate(member['Date of Birth']) }}

+

{{ formatDate(member.date_of_birth) }}

-
+
-

{{ member.Address }}

+

{{ member.address }}

@@ -134,14 +134,14 @@
-

{{ formatDate(member['Member Since']) || 'Not specified' }}

+

{{ formatDate(member.member_since) || 'Not specified' }}

- {{ member['Membership Status'] }} + {{ member.membership_status }}

@@ -150,20 +150,20 @@

- {{ member['Current Year Dues Paid'] ? 'Paid' : 'Outstanding' }} + {{ member.current_year_dues_paid === 'true' ? 'Paid' : 'Outstanding' }}

-
+
-

{{ formatDate(member['Membership Date Paid']) }}

+

{{ formatDate(member.membership_date_paid) }}

-
+

- {{ formatDate(member['Payment Due Date']) }} + {{ formatDate(member.payment_due_date) }} (Overdue)

@@ -208,8 +208,8 @@ defineEmits(); // Computed properties const memberInitials = computed(() => { if (!props.member) return ''; - const firstName = props.member['First Name'] || ''; - const lastName = props.member['Last Name'] || ''; + const firstName = props.member.first_name || ''; + const lastName = props.member.last_name || ''; return `${firstName.charAt(0)}${lastName.charAt(0)}`.toUpperCase(); }); @@ -222,7 +222,7 @@ const avatarColor = computed(() => { const statusColor = computed(() => { if (!props.member) return 'grey'; - const status = props.member['Membership Status']; + const status = props.member.membership_status; switch (status) { case 'Active': return 'success'; case 'Inactive': return 'grey'; @@ -234,7 +234,7 @@ const statusColor = computed(() => { const statusIcon = computed(() => { if (!props.member) return 'mdi-help'; - const status = props.member['Membership Status']; + const status = props.member.membership_status; switch (status) { case 'Active': return 'mdi-check-circle'; case 'Inactive': return 'mdi-pause-circle'; @@ -246,29 +246,29 @@ const statusIcon = computed(() => { const duesColor = computed(() => { if (!props.member) return 'grey'; - return props.member['Current Year Dues Paid'] === 'true' ? 'success' : 'error'; + return props.member.current_year_dues_paid === 'true' ? 'success' : 'error'; }); const duesVariant = computed(() => { if (!props.member) return 'tonal'; - return props.member['Current Year Dues Paid'] === 'true' ? 'tonal' : 'flat'; + return props.member.current_year_dues_paid === 'true' ? 'tonal' : 'flat'; }); const duesIcon = computed(() => { if (!props.member) return 'mdi-help'; - return props.member['Current Year Dues Paid'] === 'true' ? 'mdi-check-circle' : 'mdi-alert-circle'; + return props.member.current_year_dues_paid === 'true' ? 'mdi-check-circle' : 'mdi-alert-circle'; }); const duesText = computed(() => { if (!props.member) return ''; - return props.member['Current Year Dues Paid'] === 'true' ? 'Dues Paid' : 'Dues Outstanding'; + return props.member.current_year_dues_paid === 'true' ? 'Dues Paid' : 'Dues Outstanding'; }); const isOverdue = computed(() => { - if (!props.member || !props.member['Payment Due Date']) return false; - const dueDate = new Date(props.member['Payment Due Date']); + if (!props.member || !props.member.payment_due_date) return false; + const dueDate = new Date(props.member.payment_due_date); const today = new Date(); - return dueDate < today && props.member['Current Year Dues Paid'] !== 'true'; + return dueDate < today && props.member.current_year_dues_paid !== 'true'; }); // Methods