Commit Graph

32 Commits

Author SHA1 Message Date
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