Commit Graph

9 Commits

Author SHA1 Message Date
Matt 5e5bcdfb4f Update member list ID display and move Mark Paid button
Build And Push Image / docker (push) Successful in 2m0s Details
- Changed ID display from "DB ID: pending" to "ID Pending" for cleaner UI
- Moved Mark Paid button from Dues column to Actions column for better organization
- Increased Actions column width to accommodate the Mark Paid button
- Simplified the dues status display to just show the chip

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-05 17:03:26 +02:00
Matt 12469a7952 Fix member management issues and add refined view
Build And Push Image / docker (push) Successful in 2m0s Details
- Sort dues management cards alphabetically by last name
- Change 'Invalid Date' display to 'N/A' in formatDate functions
- Add new refined member management view with modern UI design
  - Glassmorphism effects and gradient accents
  - Enhanced stat cards with progress indicators
  - Improved search and filter interface
  - Better card and table layouts
  - Smooth animations and transitions

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-05 16:26:59 +02:00
Matt b67100df2a Add support for multiple nationalities display with flags
Build And Push Image / docker (push) Successful in 2m18s Details
- Create MultipleCountryFlags component to display multiple country flags
- Support comma-separated nationality values (e.g., 'FR,MC,US')
- Update admin members page to use MultipleCountryFlags in both list and grid views
- Update board members page to display nationalities with flags
- Add nationality column to board members table
- Update member forms to support multiple nationality selection
- Display flags with slight overlap for space efficiency, expand on hover
- Maintain backward compatibility with single nationality values

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 19:08:53 +02:00
Matt d34d16fda1 Fix critical member management issues: dues tracking, member IDs, and profile display
Build And Push Image / docker (push) Successful in 2m20s Details
- Fix dues payment logic to automatically calculate payment_due_date as 1 year from payment date
- Remove redundant dues_paid_until field and replace with payment_due_date throughout
- Implement member ID generation system with format MUSA-YYYY-XXXX
- Create migration endpoints for generating member IDs and fixing payment dates
- Update admin members page to display actual member_id from database
- Ensure ProfileAvatar components use correct member_id field
- Add support for profile images in list and grid views with initials fallback
- Fix countries export alias for backward compatibility

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 18:45:47 +02:00
Matt 3e7d04c521 Redesign member management section with enhanced UI/UX
Build And Push Image / docker (push) Failing after 1m34s Details
- Add dual view modes (list and grid) with toggle functionality
- Enhance list view with profile avatars, nationality flags, and dues status
- Implement responsive grid view with member cards
- Add inline 'Mark as Paid' functionality in both views
- Redesign ViewMemberDialog with modern hero header and tabbed interface
- Add payment history, activity timeline, and notes management tabs
- Integrate profile avatars throughout the application
- Make all member entries clickable to open detailed modal
- Clean up console.log statements and remove unused code
- Improve overall design consistency with glass morphism effects

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 14:33:44 +02:00
Matt a41a483de5 Fix member directory display in admin and board views - properly handle API response structure
Build And Push Image / docker (push) Successful in 2m12s Details
2025-09-04 13:49:34 +02:00
Matt c9e181e8a8 Sort member lists by last name instead of first name
Build And Push Image / docker (push) Successful in 2m11s Details
- Updated member-list.vue to sort by last name with new sort options
- Changed default sort to lastname-asc
- Added Last Name and First Name sort options in dropdown
- Updated board/members/index.vue to include name field and sort by last name
- Updated admin/members/index.vue to include name field and sort by last name
- All member lists now consistently sort alphabetically by last name
2025-08-31 18:58:16 +02:00
Matt 70e79d2618 Replace all mock data in admin and board pages with real data
Build And Push Image / docker (push) Successful in 1m56s Details
- Admin members page now loads real member data from NocoDB API
- Admin users page fetches actual users from Keycloak with tier determination
- Board members page uses real member data with proper transformations
- Admin payments page generates payment records from dues tracking data
- Created new /api/admin/users endpoint for Keycloak user management
- All stats cards now calculate from real data instead of hardcoded values
- Removed all mock/placeholder data arrays from production pages

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 18:43:04 +02:00
Matt 9fa9db9b8a Complete infrastructure reorganization to role-based structure
Build And Push Image / docker (push) Successful in 1m50s Details
- Created all missing admin pages (users, settings, events, members, payments)
- Created board pages (governance, meetings)
- Updated dashboard router to use new /admin, /board, /member structure
- Added isMember alias to useAuth composable for consistency
- All pages now use correct role-based layouts and middleware
- Build verified successfully

The platform now has a clean separation:
- /admin/* - Administrator dashboard and tools
- /board/* - Board member governance and meetings
- /member/* - Member portal and resources

Next steps: Complete remaining member pages and clean up old dashboard files
2025-08-30 22:44:04 +02:00