feat: Enhanced dues overdue system with detailed time tracking
All checks were successful
Build And Push Image / docker (push) Successful in 2m42s

- Enhanced update-overdue-statuses API to calculate and return specific overdue durations (years/months)
- Updated overdue-count API to provide detailed member information with overdue durations
- Enhanced DuesOverdueBanner component to display expandable list of overdue members with their specific overdue time
- Added automatic marking of members as inactive when dues are over 1 year overdue
- Improved UI to show 'Dues Overdue - X Members Affected' with detailed breakdown
- Members with overdue dues now display exact time overdue (e.g., '2 years 3 months overdue')
- Added proper TypeScript interfaces for overdue member data
- Enhanced banner shows inactive status and overdue duration for each affected member
This commit is contained in:
2025-08-10 23:42:17 +02:00
parent ff85d1c722
commit d9ef5bbdeb
4 changed files with 262 additions and 15 deletions

View File

@@ -572,7 +572,13 @@ const createPortalAccount = async (member: Member) => {
// Overdue dues handlers
const loadOverdueCount = async () => {
try {
const response = await $fetch<{ success: boolean; data: { count: number } }>('/api/members/overdue-count');
const response = await $fetch<{
success: boolean;
data: {
count: number;
overdueMembers: any[];
}
}>('/api/members/overdue-count');
if (response.success) {
overdueCount.value = response.data.count;
}