Commit Graph

44 Commits

Author SHA1 Message Date
9fa9db9b8a Complete infrastructure reorganization to role-based structure
All checks were successful
Build And Push Image / docker (push) Successful in 1m50s
- 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
7c49b9db66 fix: Revert dashboard routing to use existing structure
All checks were successful
Build And Push Image / docker (push) Successful in 1m49s
- Created missing admin.ts middleware file
- Reverted dashboard router to use old /dashboard/{tier} structure
- Production deployment still uses the old structure
- New role-based structure (/admin/dashboard, etc.) will be enabled later
- Fixes dashboard display issue where nothing was showing

The new structure is ready but needs gradual deployment to avoid breaking production.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-30 22:24:27 +02:00
d9d8627e97 feat: Reorganize platform into member, board, and admin sections
Some checks failed
Build And Push Image / docker (push) Failing after 55s
Major platform reorganization implementing role-based portal sections:

## Infrastructure Changes
- Created role-based middleware for member, board, and admin access
- Updated main dashboard router to redirect based on highest privilege
- Implemented access hierarchy: Admin > Board > Member

## New Layouts
- Member layout: Simplified navigation for regular members
- Board layout: Enhanced tools for board member management
- Admin layout: Full system administration capabilities

## Member Portal (/member/*)
- Dashboard: Profile overview, events, payments, activity tracking
- Events: Browse, register, and manage event participation
- Profile: Complete personal and professional information management
- Resources: Access to documents, guides, FAQs, and quick links

## Board Portal (/board/*)
- Dashboard: Statistics, dues management, board-specific tools
- Members: Comprehensive member management with filtering

## Admin Portal (/admin/*)
- Dashboard: System overview and administrative controls (existing)

## Design Implementation
- Monaco red (#dc2626) as primary accent color
- Modern card-based layouts with consistent spacing
- Responsive design for all screen sizes
- Glass morphism effects for enhanced visual appeal

This reorganization provides clear separation of concerns based on user privileges while maintaining a cohesive user experience across all sections.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-30 22:00:59 +02:00
c39936984b Implement MonacoUSA Portal redesign foundations
Some checks failed
Build And Push Image / docker (push) Failing after 1m11s
- Added VueUse Motion for animations with custom presets
- Created base UI component library with glass morphism effects:
  * GlassCard - Flexible card component with 4 variants
  * MonacoButton - Multi-variant button system
  * FloatingInput - Modern input with floating labels
  * StatsCard - Dashboard statistics display
  * AnimatedNumber - Smooth number animations
  * Icon system - Modular icon components
- Created comprehensive page mockups:
  * Dashboard mockup with stats, activity feed, and widgets
  * Events page with filtering, search, and calendar
- Established Monaco brand design system (red #dc2626)
- Configured spring animations and glass effects

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-30 18:25:21 +02:00
4adbb0465a fixes
All checks were successful
Build And Push Image / docker (push) Successful in 1m29s
2025-08-14 22:05:12 +02:00
5d3518d256 fixes
All checks were successful
Build And Push Image / docker (push) Successful in 1m37s
2025-08-14 15:44:18 +02:00
503d68cd2d Replace date-fns with native date formatting and remove unused code
All checks were successful
Build And Push Image / docker (push) Successful in 1m34s
Remove date-fns dependency in favor of native Intl.DateTimeFormat APIs, clean up obsolete admin endpoints, utility files, and archived documentation. Consolidate docs structure and remove unused plugins.
2025-08-14 15:08:40 +02:00
1875fac7d4 fixes
All checks were successful
Build And Push Image / docker (push) Successful in 1m29s
2025-08-13 23:03:49 +02:00
3d565e8185 fixes
All checks were successful
Build And Push Image / docker (push) Successful in 1m24s
2025-08-13 22:53:14 +02:00
fc1d691950 fixes
All checks were successful
Build And Push Image / docker (push) Successful in 1m26s
2025-08-13 22:43:40 +02:00
b49148cf95 fixes
Some checks failed
Build And Push Image / docker (push) Has been cancelled
2025-08-13 18:55:49 +02:00
db19eb2708 fixes
All checks were successful
Build And Push Image / docker (push) Successful in 3m41s
2025-08-13 15:35:53 +02:00
3620bd8b53 Fix RSVP API calls and compact MemberCard UI design
All checks were successful
Build And Push Image / docker (push) Successful in 4m2s
2025-08-13 14:02:29 +02:00
5473555977 Add rich text editor and enhanced date picker to event dialogs
Some checks failed
Build And Push Image / docker (push) Failing after 3m11s
Replace basic textarea with VuetifyTiptap rich text editor for event descriptions, supporting formatting options like bold, italic, headings, and lists. Replace native datetime inputs with VueDatePicker components featuring timezone support (Monaco/UTC) and improved UX. Update dependencies and add necessary plugins to support the new components.
2025-08-13 13:02:12 +02:00
072acf95eb Fix type safety and data consistency in events system
All checks were successful
Build And Push Image / docker (push) Successful in 3m25s
- Add proper TypeScript type annotations and assertions
- Handle string/number conversion for attendee counts consistently
- Improve null/undefined checks for events array
- Make event handlers async for better error handling
- Fix data type inconsistencies between components and API
2025-08-12 17:23:42 +02:00
287af29f6c feat(board): Add real data integration for board dashboard
All checks were successful
Build And Push Image / docker (push) Successful in 3m22s
- Create /api/board/stats endpoint for member statistics and overview data
- Create /api/board/next-meeting endpoint for upcoming meeting information
- Update board.vue to fetch real data instead of using mock data
- Add loading states and error handling with graceful fallbacks
- Board Overview now shows actual member counts and pending actions
- Next Meeting section displays real event data when available

The board dashboard now displays live data from the database while maintaining
fallback functionality if any data sources are unavailable.
2025-08-12 14:18:55 +02:00
f096897129 Add event management system with calendar and CRUD operations
Some checks failed
Build And Push Image / docker (push) Failing after 2m37s
- Add EventCalendar component with FullCalendar integration
- Create event CRUD dialogs and upcoming event banner
- Implement server-side events API and database utilities
- Add events dashboard page and navigation
- Improve dues calculation with better overdue day logic
- Install FullCalendar and date-fns dependencies
2025-08-12 04:25:35 +02:00
ea6a722364 Fix email template compatibility and enhance user dashboard
All checks were successful
Build And Push Image / docker (push) Successful in 3m20s
- Convert all email templates to table-based layouts for compatibility with Outlook, Gmail, Apple Mail, etc.
- Use only inline CSS and email-safe properties
- Fix welcome.hbs, verification.hbs, password-reset.hbs, dues-reminder.hbs, test.hbs templates
- Enhanced user dashboard with complete member information (Member ID, registration date, dues status, etc.)
- Added proper loading states and error handling for member data
- Improved member profile page with comprehensive information display
- Fixed missing wiring information in user and profile screens as requested
2025-08-11 16:26:51 +02:00
abf6ade8cd Add comprehensive dues tracking with overdue calculations and enhanced UI
All checks were successful
Build And Push Image / docker (push) Successful in 3m17s
2025-08-11 15:29:42 +02:00
7a8c88c341 Implement grace period system for member dues management
All checks were successful
Build And Push Image / docker (push) Successful in 2m55s
- Add grace period logic for new members (1 month from join date)
- Enhance dues status computation with actual payment date validation
- Update member card to show grace period status with warning indicators
- Remove overdue dues banner from member list
- Add payment due date calculation in registration process
- Update email templates for improved member communication
2025-08-11 15:03:44 +02:00
d9ef5bbdeb 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
2025-08-10 23:42:17 +02:00
ff85d1c722 Add overdue dues management system with notifications and status updates
All checks were successful
Build And Push Image / docker (push) Successful in 2m55s
- Create DuesOverdueBanner component for displaying overdue member counts
- Add API endpoints for overdue count retrieval and status updates
- Integrate overdue dues banner into admin and member list dashboards
- Implement handlers for viewing overdue members and updating statuses
- Add dues management section to admin dashboard
2025-08-10 23:29:48 +02:00
d3c3a865ba Add dues management system with UI improvements
All checks were successful
Build And Push Image / docker (push) Successful in 3m3s
- Add BoardDuesManagement and DuesActionCard components
- Create API endpoints for dues status tracking and payment marking
- Integrate dues management section into board dashboard
- Move create portal account button to member card action buttons
- Add edit button to member view dialog
- Implement member update handlers and navigation between views
2025-08-10 23:19:48 +02:00
ecae3795ee Add global branding and implement member ID system
All checks were successful
Build And Push Image / docker (push) Successful in 3m2s
- Add MonacoUSA logo component with global header placement
- Implement member ID generation and migration system
- Create profile page and improve dashboard navigation
- Add member ID as payment reference in dues banner
- Enable support contact functionality with pre-filled email
2025-08-10 16:49:23 +02:00
c4a0230f42 Fix portal account creation and improve email handling
All checks were successful
Build And Push Image / docker (push) Successful in 2m56s
- Add explicit POST method to portal account creation API call
- Improve error handling with specific messages for different failure cases
- Remove SMTP verification step that was causing issues with some servers
- Make email sending non-critical to portal account creation success
- Add better response data handling for keycloak_id
- Add integration review documentation
2025-08-09 16:13:52 +02:00
8d872f9a04 Refactor admin dashboard and fix mobile phone input dropdown
All checks were successful
Build And Push Image / docker (push) Successful in 2m54s
- Simplify admin dashboard by consolidating configuration sections
- Fix mobile dropdown display issues in PhoneInputWrapper component
- Add proper flex layout and minimum height for mobile country list
- Update email configuration and testing functionality
- Remove redundant configuration cards in favor of unified portal settings
2025-08-09 16:05:00 +02:00
97a0b5eea6 fixes
All checks were successful
Build And Push Image / docker (push) Successful in 2m54s
2025-08-08 23:47:21 +02:00
72492fb754 fixes
All checks were successful
Build And Push Image / docker (push) Successful in 3m5s
2025-08-08 20:07:47 +02:00
4365cc53ff fixes
All checks were successful
Build And Push Image / docker (push) Successful in 2m55s
2025-08-08 19:55:32 +02:00
0193269749 Created a beautiful, modern phone input
All checks were successful
Build And Push Image / docker (push) Successful in 2m41s
2025-08-08 00:25:44 +02:00
9f9cb7db53 comprehensive diagnostic and fix system for the "undefined" member display issue
All checks were successful
Build And Push Image / docker (push) Successful in 2m49s
2025-08-07 23:57:18 +02:00
dcce2050ee resolved all member management issues, including the critical member creation bug.
Some checks failed
Build And Push Image / docker (push) Failing after 2m36s
2025-08-07 23:13:31 +02:00
f6bc81cb01 implemented comprehensive member card enhancements with complete multiple nationality support and dues management features.
All checks were successful
Build And Push Image / docker (push) Successful in 2m54s
2025-08-07 22:53:45 +02:00
9202509c9c updated member list with improved filtering system and enhanced editing capabilities.
All checks were successful
Build And Push Image / docker (push) Successful in 2m53s
2025-08-07 22:34:51 +02:00
5fe015af51 Replace flag-icons with vue-country-flag-next and improve UI styling
Some checks failed
Build And Push Image / docker (push) Failing after 2m52s
- Replace flag-icons CSS library with vue-country-flag-next component
- Update CountryFlag component to use new library API
- Improve avatar colors with high-contrast color palette
- Adjust dashboard layout column sizing
- Add new EditMemberDialog component
- Remove unused flag-icons CSS dependency
2025-08-07 21:09:00 +02:00
676420c3fa Refactor admin dashboard layout and improve NocoDB settings dialog handling
All checks were successful
Build And Push Image / docker (push) Successful in 3m14s
2025-08-07 19:57:03 +02:00
6f2037e01c Add NocoDB configuration settings and restructure dashboard navigation
All checks were successful
Build And Push Image / docker (push) Successful in 3m2s
- Add NocoDBSettingsDialog component with API endpoints for config management
- Update dashboard navigation routes and menu structure
- Integrate external user management via auth portal
- Add NocoDB settings dialog to admin panel
2025-08-07 19:46:27 +02:00
af99ea48e2 Add member management system with NocoDB integration
All checks were successful
Build And Push Image / docker (push) Successful in 3m5s
- Add member CRUD operations with API endpoints
- Implement member list page with card-based layout
- Add member creation and viewing dialogs
- Support multiple nationalities with country flags
- Include phone number input with international formatting
- Integrate NocoDB as backend database
- Add comprehensive member data types and utilities
2025-08-07 19:20:29 +02:00
c6a57c7922 Fix redirect loops and SSR hydration issues in auth flow
All checks were successful
Build And Push Image / docker (push) Successful in 2m59s
- Replace ref with useState in useAuth for SSR compatibility
- Move navigation logic from top-level to onMounted hooks
- Add guest middleware to login page to prevent auth conflicts
- Simplify dashboard auth checks by relying on middleware
- Add loading state to index page during auth resolution

This prevents infinite redirect loops and hydration mismatches that
occurred during server-side rendering when navigating between
authenticated and unauthenticated states.
2025-08-07 17:21:18 +02:00
2843bcf4f5 Fix iOS Safari auth loops and simplify admin dashboard
All checks were successful
Build And Push Image / docker (push) Successful in 3m4s
- Add session check throttling in useAuth to prevent iOS Safari authentication loops
- Simplify admin dashboard by removing complex system metrics and stats
- Remove system-metrics utility and streamline stats API endpoint
- Update admin interface to focus on core user and role management
2025-08-07 16:20:05 +02:00
ec6958375c Add system monitoring with real-time metrics to admin dashboard
All checks were successful
Build And Push Image / docker (push) Successful in 2m54s
- Add systeminformation package for system metrics collection
- Create system-metrics utility for CPU, memory, disk monitoring
- Update admin stats API to return real system health data
- Replace mock data with live system metrics in admin dashboard
- Update @vite-pwa/nuxt to v0.10.8
2025-08-07 15:51:16 +02:00
d0c9c02bf9 Add PWA support with install banner and app icons
All checks were successful
Build And Push Image / docker (push) Successful in 2m56s
- Configure @vite-pwa/nuxt module with manifest and service worker
- Add PWA install banner component to login page
- Include app icons (192x192, 512x512) and favicon assets
- Update admin dashboard layout and remove backup section
- Add PWA-related API endpoints and utility scripts
2025-08-07 15:46:17 +02:00
5c8bf15956 fix: streamline authentication check on dashboard mount and improve routing logic
All checks were successful
Build And Push Image / docker (push) Successful in 2m42s
2025-08-07 14:42:05 +02:00
cd29123e23 Refactor authentication system with tier-based access control
All checks were successful
Build And Push Image / docker (push) Successful in 2m59s
- Replace group-based auth with user/board/admin tier system
- Add direct login functionality alongside OAuth
- Implement role-based middleware for route protection
- Create dashboard pages and admin API endpoints
- Add error handling page and improved user management
- Maintain backward compatibility with legacy role methods
2025-08-07 12:28:41 +02:00