Commit Graph

27 Commits

Author SHA1 Message Date
Matt f20c1ef96a Fix sidebar collapse functionality for all three layouts
Build And Push Image / docker (push) Successful in 2m7s Details
- Changed from fixed width to dynamic width based on miniVariant state
- Replaced v-show with v-if for list groups to properly hide when collapsed
- Added proper template conditionals for logo section
- Added tooltips for all single navigation items when in rail mode
- Fixed badge display to use dot when collapsed
- Ensured proper title binding with undefined when collapsed

This fixes the sidebar collapse issue across admin, board, and member layouts.
2025-08-31 19:56:54 +02:00
Matt 8954621813 CRITICAL FIX: Remove deprecated 'app' prop to enable sidebar collapse
Build And Push Image / docker (push) Successful in 2m1s Details
- Removed 'app' prop from v-navigation-drawer in all layouts
- Removed 'app' prop from v-app-bar in all layouts
- The 'app' prop is deprecated in Vuetify 3 and was preventing rail mode
- This was the root cause of sidebar not collapsing

Vuetify 3 automatically handles layout participation without the app prop.
The presence of this deprecated prop was causing Vuetify to ignore the
rail prop entirely, preventing the sidebar from collapsing.
2025-08-31 19:47:38 +02:00
Matt 185ac24067 Fix sidebar collapse functionality for all three layouts
Build And Push Image / docker (push) Successful in 1m56s Details
- Remove manual width control that was conflicting with rail prop
- Use fixed width and rail-width props for proper Vuetify 3 behavior
- Simplify toggleDrawer function to just toggle miniVariant
- Add v-show directive to hide list groups in rail mode
- Applied fixes to admin.vue, member.vue, and board.vue layouts

The sidebar now properly collapses to 56px rail mode showing only icons,
and expands to 280px full width showing complete navigation items.
2025-08-31 19:36:28 +02:00
Matt c99599f7a2 Fix sidebar collapse functionality in all layouts
Build And Push Image / docker (push) Successful in 2m3s Details
- Add permanent prop to navigation drawer
- Add :expand-on-hover='false' to prevent hover expansion
- Adjust width from 64 to 56 for better collapsed view
- Ensures sidebar properly collapses across admin, member, and board portals
2025-08-31 19:22:28 +02:00
Matt cbf97254a2 Fix sidebar collapse functionality across all layouts
Build And Push Image / docker (push) Successful in 2m2s Details
- Change from :mini-variant to :rail for Vue 3/Vuetify 3 compatibility
- Fix width prop to use numbers instead of strings
- Add missing loading ref in board members page
- Ensure consistent collapse behavior across admin, member, and board layouts
2025-08-31 19:06:07 +02:00
Matt ce7d5af450 Restore fully collapsible sidebar with mini-variant mode
Build And Push Image / docker (push) Successful in 1m57s Details
- Added three-state sidebar (closed, mini, full) across all layouts
- Positioned collapse toggle button in app bar
- Made logo and text responsive to collapsed state
- Added proper tooltips for mini mode navigation
- Consistent implementation across board, admin, and member portals
2025-08-31 18:53:21 +02:00
Matt 9d93f0ca84 Standardize avatar display across application
Build And Push Image / docker (push) Successful in 2m6s Details
- Replace all hardcoded avatars with ProfileAvatar component
- Update admin and board layouts to use ProfileAvatar
- Update DuesActionCard and DuesOverdueBanner components
- Update admin users list to use ProfileAvatar
- Ensure consistent display of profile pictures with initials fallback
- All avatars now show either user's profile picture or initials

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 18:06:50 +02:00
Matt a85be39ffa Remove rotation animations from circular buttons on hover
Build And Push Image / docker (push) Successful in 1m54s Details
- Removed rotate(5deg) from icon buttons hover state
- Removed rotate(5deg) from FAB buttons hover state
- Removed icon-hover-rotate mixin from nav items
- Keep scale animations but remove tilt/rotation effects

Buttons now scale without rotating for cleaner interaction
2025-08-31 16:48:53 +02:00
Matt 7685cd130f Remove hamburger buttons and implement enhanced sidebar design across all layouts
Build And Push Image / docker (push) Successful in 2m6s Details
- Removed hamburger menu buttons from all layouts (member, admin, board, dashboard)
- Updated all sidebars to fixed 280px width (non-collapsible)
- Enhanced glass morphism effects with 30px blur
- Implemented vertical profile card with small avatar
- Added consistent animations and hover effects
- Updated design documentation with new specifications
2025-08-31 15:38:19 +02:00
Matt e74f12eaa0 Fix profile card avatar size and menu button
Build And Push Image / docker (push) Successful in 1m56s Details
- Reduced avatar size from 'large' to 'small' for better proportions
- Made menu button extra small and moved it inside profile-content
- Positioned menu button absolutely in top-right of content area
- Reduced online indicator size to match smaller avatar
- Added subtle opacity to menu button (visible on hover)
- Improved overall visual balance of profile card

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 15:16:15 +02:00
Matt 36b8f9d2d4 Improve profile card layout in sidebar
Build And Push Image / docker (push) Successful in 2m6s Details
- Made profile card taller with min-height of 180px
- Stacked profile image above name and email vertically
- Centered profile content for better visual balance
- Increased profile avatar size to 'large' for better visibility
- Moved menu button to absolute position in top-right corner
- Adjusted font sizes slightly for better readability
- Fixed text overflow with proper ellipsis

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 15:08:54 +02:00
Matt 6e0e640f1d Remove sidebar collapse functionality entirely
Build And Push Image / docker (push) Successful in 2m14s Details
- Removed all collapse/expand functionality from sidebar
- Removed collapse button and chevron icons
- Removed isCollapsed state and toggle logic
- Removed all CSS related to collapsed states
- Simplified navigation items without tooltips
- Fixed sidebar at 280px width permanently
- Cleaned up profile footer without conditional rendering

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 15:01:06 +02:00
Matt 5af0f2e4c0 Increase collapsed sidebar width to 140px
Build And Push Image / docker (push) Successful in 1m57s Details
- Changed collapsed width from 100px to 140px for better icon and content spacing
- Prevents squishing of navigation icons and profile image

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 14:49:15 +02:00
Matt ab706298a6 Fix sidebar styling issues
Build And Push Image / docker (push) Successful in 1m54s Details
- Increased collapsed sidebar width from 80px to 100px for better spacing
- Removed rose/pink tint from sidebar header section
- Changed header background to neutral white/gray gradient
- Added subtle border and shadow to header section for better definition

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 14:44:52 +02:00
Matt eb6efe7c90 Enhanced sidebar with beautiful glass morphism effects
Build And Push Image / docker (push) Successful in 2m29s Details
- Added enhanced glass morphism mixins with gradients and inner glows
- Implemented collapsible/expandable sidebar with rail mode
- Added smooth animations for navigation items (shimmer, pulse, hover effects)
- Enhanced profile section with online indicator animation
- Implemented tooltip system for collapsed state
- Added localStorage persistence for sidebar state
- Improved transitions with fade effects and sliding indicators
- Updated SCSS with new animation mixins (ripple, icon rotation)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 14:32:27 +02:00
Matt 696b321373 Simplify member dashboard - remove points, payments, stats, and social features
Build And Push Image / docker (push) Successful in 1m57s Details
2025-08-31 14:12:58 +02:00
Matt aba6c2ecac Implement comprehensive glass morphism UI redesign
Build And Push Image / docker (push) Successful in 1m56s Details
- Created global SCSS architecture with Monaco design system
- Implemented glass morphism effects across all layouts
- Updated admin layout with premium glass effects and dark gradients
- Updated board layout with balanced glass effects and medium gradients
- Updated member layout with light glass effects and soft gradients
- Added floating logo animations and smooth transitions
- Implemented role-based visual hierarchy through gradient variations
- Created comprehensive documentation for glass morphism patterns
- Aligned all changes with established design philosophy in design-system.md

Key features:
- Glass navigation drawers with backdrop blur
- Gradient app bars with role-specific variations
- Glass icon buttons with hover effects
- Monaco red color spectrum integration
- Responsive design with mobile optimizations
- Performance-optimized blur effects

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 13:10:45 +02:00
Matt d9d8627e97 feat: Reorganize platform into member, board, and admin sections
Build And Push Image / docker (push) Failing after 55s Details
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
Matt 4adbb0465a fixes
Build And Push Image / docker (push) Successful in 1m29s Details
2025-08-14 22:05:12 +02:00
Matt b059d81c21 fixes
Build And Push Image / docker (push) Successful in 1m31s Details
2025-08-14 16:03:47 +02:00
Matt 2ff0c31bbd Add profile image system with MinIO storage
Build And Push Image / docker (push) Failing after 1m5s Details
- Implement ProfileAvatar component for user avatars
- Integrate MinIO for profile image storage and management
- Add profile image fields to Member type definition
- Create server utilities and API endpoints for image handling
- Replace basic avatar icon with new ProfileAvatar in dashboard
- Update sharp dependency to v0.34.3
2025-08-14 10:28:40 +02:00
Matt 3620bd8b53 Fix RSVP API calls and compact MemberCard UI design
Build And Push Image / docker (push) Successful in 4m2s Details
2025-08-13 14:02:29 +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 91dea9910d Move MonacoUSA logo from global overlay to dashboard nav toggle
Build And Push Image / docker (push) Successful in 3m3s Details
Remove global fixed-position logo from app.vue and integrate it as the navigation drawer toggle button in the dashboard layout's app bar. This improves the layout by eliminating overlay positioning issues while maintaining logo visibility and functionality.
2025-08-10 16:54:50 +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 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 cd29123e23 Refactor authentication system with tier-based access control
Build And Push Image / docker (push) Successful in 2m59s Details
- 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