From abf6ade8cd5cc831d86ca688470cbf08f0f87387 Mon Sep 17 00:00:00 2001 From: Matt Date: Mon, 11 Aug 2025 15:29:42 +0200 Subject: [PATCH] Add comprehensive dues tracking with overdue calculations and enhanced UI --- components/DuesActionCard.vue | 77 +++++-- components/DuesPaymentBanner.vue | 56 ++++- components/MemberCard.vue | 65 +++--- pages/dashboard/admin.vue | 10 - pages/dashboard/board.vue | 3 + pages/dashboard/member-list.vue | 3 + pages/dashboard/profile.vue | 3 + pages/dashboard/user.vue | 3 + server/api/members/dues-status.get.ts | 281 +++++++++++++++++++------- server/templates/welcome.hbs | 1 + utils/dues-calculations.ts | 243 ++++++++++++++++++++++ utils/types.ts | 43 ++++ 12 files changed, 658 insertions(+), 130 deletions(-) create mode 100644 utils/dues-calculations.ts diff --git a/components/DuesActionCard.vue b/components/DuesActionCard.vue index 27eb8de..066100f 100644 --- a/components/DuesActionCard.vue +++ b/components/DuesActionCard.vue @@ -51,24 +51,57 @@
-
- - mdi-calendar - {{ status === 'overdue' ? 'Was Due' : 'Due Date' }} - - - {{ formatDate(member.payment_due_date) }} - +
+ +
+ + mdi-clock-alert + Days Overdue + + + {{ member.overdueDays || 0 }} days + +
+ +
+ + mdi-information + {{ member.overdueReason }} + +
+ +
+ + mdi-calendar-check + Last Payment + + + {{ formatDate(member.membership_date_paid) }} + +
- -
- - {{ status === 'overdue' ? 'mdi-clock-alert' : 'mdi-clock' }} - {{ status === 'overdue' ? 'Days Overdue' : 'Days Until Due' }} - - - {{ Math.abs(daysDifference) }} days - + +
+ +
+ + mdi-calendar + Due Date + + + {{ formatDate(member.nextDueDate || member.payment_due_date) }} + +
+ +
+ + mdi-clock + Days Until Due + + + {{ member.daysUntilDue || 0 }} days + +
@@ -130,8 +163,16 @@