Commit Graph

50 Commits

Author SHA1 Message Date
Matt a0153a76a4 fixes
Build And Push Image / docker (push) Successful in 3m59s Details
2025-08-13 13:18:07 +02:00
Matt 5473555977 Add rich text editor and enhanced date picker to event dialogs
Build And Push Image / docker (push) Failing after 3m11s Details
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
Matt 1553a39fa8 fixes
Build And Push Image / docker (push) Successful in 3m23s Details
2025-08-13 12:27:21 +02:00
Matt ef01d2f22e fixes
Build And Push Image / docker (push) Successful in 3m5s Details
2025-08-12 17:31:03 +02:00
Matt 072acf95eb Fix type safety and data consistency in events system
Build And Push Image / docker (push) Successful in 3m25s Details
- 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
Matt 22dbbae150 fixes
Build And Push Image / docker (push) Successful in 3m12s Details
2025-08-12 12:43:54 +02:00
Matt 67d4d5236b Add NocoDB events/RSVPs table config and improve session handling
Build And Push Image / docker (push) Successful in 3m24s Details
- Add events and rsvps table ID fields to NocoDB settings dialog
- Replace mock getUserSession with proper SessionManager integration
- Improve type safety with explicit type casting and error handling
- Add comprehensive events system bug analysis documentation
2025-08-12 12:24:16 +02:00
Matt f096897129 Add event management system with calendar and CRUD operations
Build And Push Image / docker (push) Failing after 2m37s Details
- 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
Matt f1a462094a Add payment date selection for dues payments and improve member viewing
Build And Push Image / docker (push) Successful in 3m23s Details
- Add payment date dialog when marking dues as paid with date validation
- Replace direct member view emission with dedicated ViewMemberDialog component
- Add backend support for custom payment dates in mark-dues-paid endpoint
- Prevent future date selection for payment records
- Improve user workflow for viewing and editing member details
2025-08-11 15:41:33 +02:00
Matt abf6ade8cd Add comprehensive dues tracking with overdue calculations and enhanced UI
Build And Push Image / docker (push) Successful in 3m17s Details
2025-08-11 15:29:42 +02:00
Matt 7a8c88c341 Implement grace period system for member dues management
Build And Push Image / docker (push) Successful in 2m55s Details
- 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
Matt d9ef5bbdeb feat: Enhanced dues overdue system with detailed time tracking
Build And Push Image / docker (push) Successful in 2m42s Details
- 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
Matt ff85d1c722 Add overdue dues management system with notifications and status updates
Build And Push Image / docker (push) Successful in 2m55s Details
- 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
Matt d3c3a865ba Add dues management system with UI improvements
Build And Push Image / docker (push) Successful in 3m3s Details
- 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
Matt ecae3795ee Add global branding and implement member ID system
Build And Push Image / docker (push) Successful in 3m2s Details
- 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
Matt 9572291299 fixes
Build And Push Image / docker (push) Has been cancelled Details
2025-08-10 15:21:43 +02:00
Matt 4e53e7ea10 fixes
Build And Push Image / docker (push) Successful in 3m7s Details
2025-08-10 14:54:37 +02:00
Matt 524ecc6941 fixes
Build And Push Image / docker (push) Failing after 2m33s Details
2025-08-10 14:47:40 +02:00
Matt 006d4cf1ff Improve mobile keyboard handling and viewport detection
Build And Push Image / docker (push) Successful in 3m3s Details
- Disable transitions and make menu persistent on mobile devices
- Add keyboard open/close detection to prevent unwanted viewport updates
- Differentiate between keyboard events and actual viewport changes
- Improve resize debouncing with longer delays for mobile
- Handle orientation changes separately from keyboard events
2025-08-09 19:49:12 +02:00
Matt 2b2cd5891f Refactor mobile detection to use unified composable
Build And Push Image / docker (push) Successful in 2m52s Details
- Add useMobileDetection composable to centralize device detection logic
- Replace direct utility imports with composable usage across components
- Update MultipleNationalityInput, PhoneInputWrapper, and auth pages
- Simplify mobile-specific styling and behavior handling
- Improve code maintainability by consolidating detection logic
2025-08-09 19:27:15 +02:00
Matt 09773f9571 Looking at the changes, this commit primarily focuses on fixing a critical mobile Safari issue with the country dropdown selector. Here's my suggested commit message:
Build And Push Image / docker (push) Successful in 3m0s Details
```
Fix mobile Safari country dropdown with touch-optimized dialog interface

- Replace broken v-select with mobile-friendly dialog for Safari
- Add device detection to switch between desktop and mobile interfaces
- Implement full-screen country selection with search functionality
- Add touch-optimized UI with larger targets and smooth scrolling
- Update documentation with fix details and implementation notes
```

The main change is addressing a completely broken country selection dropdown on mobile Safari by implementing a mobile-specific dialog interface while maintaining the original desktop experience.
2025-08-09 18:53:26 +02:00
Matt 8d872f9a04 Refactor admin dashboard and fix mobile phone input dropdown
Build And Push Image / docker (push) Successful in 2m54s Details
- 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
Matt dcb7840825 Make email service initialization asynchronous
Build And Push Image / docker (push) Successful in 3m10s Details
Convert getEmailService() to async function and update all callers to use await.
Replace synchronous require() with dynamic import() for admin-config module.
Add SMTP config loading to admin configuration dialog.
2025-08-09 15:50:54 +02:00
Matt 4ec05e29dc Add email verification system for user registration
Build And Push Image / docker (push) Successful in 3m1s Details
- Add SMTP configuration UI in admin panel with test functionality
- Implement email verification workflow with tokens and templates
- Add verification success/expired pages for user feedback
- Include nodemailer, handlebars, and JWT dependencies
- Create API endpoints for email config, testing, and verification
2025-08-08 22:51:14 +02:00
Matt 15dd090d44 fixes
Build And Push Image / docker (push) Successful in 3m7s Details
2025-08-08 21:52:21 +02:00
Matt 3894295569 fixes
Build And Push Image / docker (push) Successful in 2m55s Details
2025-08-08 20:41:39 +02:00
Matt 5535b7905d #### __1. Role-Based Security Architecture__
Build And Push Image / docker (push) Successful in 2m58s Details
- Replaces group-based tiers with proper Keycloak realm roles
- `monaco-user`, `monaco-board`, `monaco-admin` roles
- Backward compatibility with existing group system

#### __2. Advanced User Management__

- Comprehensive user profile synchronization
- Membership data stored in Keycloak user attributes
- Bidirectional sync between NocoDB and Keycloak

#### __3. Session Security & Monitoring__

- Real-time session tracking and management
- Administrative session control capabilities
- Enhanced security analytics foundation

#### __4. Email Workflow System__

- Multiple email types: DUES_REMINDER, MEMBERSHIP_RENEWAL, WELCOME, VERIFICATION
- Customizable email parameters and lifespans
- Advanced email template support

#### __5. Seamless Migration Path__

- All existing functionality continues to work
- New users automatically get realm roles
- Gradual migration from groups to roles
- Zero breaking changes

### 🔧 __What You Can Do Now__

#### __For New Users:__

- Public registrations automatically assign `monaco-user` role
- Portal account creation syncs member data to Keycloak attributes
- Enhanced email verification and welcome workflows

#### __For Administrators:__

- Session management and monitoring capabilities
- Advanced user profile management with member data sync
- Comprehensive role assignment and management
- Enhanced email communication workflows

#### __For Developers:__

- Use `hasRole('monaco-admin')` for role-based checks
- Access `getAllRoles()` for debugging and analytics
- Enhanced `useAuth()` composable with backward compatibility
- Comprehensive TypeScript support throughout

### 🛡️ __Security & Reliability__

- __Backward Compatibility__: Existing users continue to work seamlessly
- __Enhanced Security__: Proper realm role-based authorization
- __Error Handling__: Comprehensive error handling and fallbacks
- __Type Safety__: Full TypeScript support throughout the system
2025-08-08 19:40:13 +02:00
Matt b308b8272c updates to database schema
Build And Push Image / docker (push) Successful in 2m50s Details
2025-08-08 18:32:46 +02:00
Matt 28fa779dae fixes and cleanup
Build And Push Image / docker (push) Successful in 3m1s Details
2025-08-08 13:50:01 +02:00
Matt 0545f7e9c4 phone fixes
Build And Push Image / docker (push) Successful in 3m9s Details
2025-08-08 13:23:18 +02:00
Matt 59bb4ca714 fixed phone display
Build And Push Image / docker (push) Successful in 2m53s Details
2025-08-08 13:02:48 +02:00
Matt 497e0134d8 mobile optimizations
Build And Push Image / docker (push) Successful in 3m13s Details
2025-08-08 12:59:27 +02:00
Matt d2057cc878 fixed phone flags
Build And Push Image / docker (push) Successful in 2m59s Details
2025-08-08 12:54:05 +02:00
Matt 65bda25c8f successfully replaced your oversized, clunky phone input with a professional vue-tel-input library
Build And Push Image / docker (push) Successful in 2m46s Details
2025-08-08 00:35:57 +02:00
Matt e6371d02b9 phone updates
Build And Push Image / docker (push) Successful in 2m46s Details
2025-08-08 00:19:16 +02:00
Matt 3f81d0dd86 fixed the member creation functionality that was failing with validation errors. Here's what I accomplished
Build And Push Image / docker (push) Successful in 2m52s Details
2025-08-07 23:44:28 +02:00
Matt dcce2050ee resolved all member management issues, including the critical member creation bug.
Build And Push Image / docker (push) Failing after 2m36s Details
2025-08-07 23:13:31 +02:00
Matt 863ad9abe7 fixed both the member edit display issue and the flag positioning problems in the nationality input
Build And Push Image / docker (push) Successful in 2m53s Details
2025-08-07 23:05:46 +02:00
Matt f6bc81cb01 implemented comprehensive member card enhancements with complete multiple nationality support and dues management features.
Build And Push Image / docker (push) Successful in 2m54s Details
2025-08-07 22:53:45 +02:00
Matt 024eca02ac telephone updates
Build And Push Image / docker (push) Successful in 2m52s Details
2025-08-07 22:13:05 +02:00
Matt 13fa95a9a2 fixes
Build And Push Image / docker (push) Successful in 3m9s Details
2025-08-07 22:01:02 +02:00
Matt f096a22824 Enhance CountryFlag to accept country names and codes
Build And Push Image / docker (push) Successful in 3m20s Details
- Add actualCountryCode computed property to handle both 2-letter codes and country names
- Extend parseCountryInput with common country name variations (USA, UK, etc.)
- Import parseCountryInput utility in CountryFlag component
- Update template to use actualCountryCode instead of direct countryCode prop
2025-08-07 21:30:47 +02:00
Matt b043648db6 Refactor CountryFlag component to use ClientOnly wrapper and improve placeholder styling
Build And Push Image / docker (push) Successful in 3m14s Details
2025-08-07 21:22:01 +02:00
Matt 5fe015af51 Replace flag-icons with vue-country-flag-next and improve UI styling
Build And Push Image / docker (push) Failing after 2m52s Details
- 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
Matt 22a74c6b33 Refactor NocoDB settings to support dynamic table configuration and update related validation
Build And Push Image / docker (push) Successful in 3m13s Details
2025-08-07 20:43:39 +02:00
Matt 6f2037e01c Add NocoDB configuration settings and restructure dashboard navigation
Build And Push Image / docker (push) Successful in 3m2s Details
- 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
Matt af99ea48e2 Add member management system with NocoDB integration
Build And Push Image / docker (push) Successful in 3m5s Details
- 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
Matt 146b3c9400 feat: enhance mobile compatibility and debugging across authentication and system metrics
Build And Push Image / docker (push) Successful in 3m18s Details
2025-08-07 16:08:39 +02:00
Matt d0c9c02bf9 Add PWA support with install banner and app icons
Build And Push Image / docker (push) Successful in 2m56s Details
- 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
Matt 2c2c0f5c33 feat: implement custom login system with direct authentication
Build And Push Image / docker (push) Successful in 2m51s Details
- Add custom login page with username/password form and SSO fallback
- Implement direct login API endpoint with security features
- Add forgot password functionality and email notifications
- Create guest middleware for authentication routing
- Update Keycloak configuration and add cookie domain settings
- Add security utilities for rate limiting and validation
- Include comprehensive documentation for custom login implementation
2025-08-07 03:43:25 +02:00