- Fixed :deep() selector usage with parent selectors
- Separated each modifier class into its own :deep() selector
- Resolves build error with Sass compilation
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Updated design philosophy to v2.0 with focus on beauty and interactivity
- Added @vueuse/motion for advanced animations
- Created reusable dashboard components:
- BentoGrid: Flexible grid layout system
- StatsCard: Animated statistics with sparklines
- ProfileCard: Premium profile display with progress
- ActivityTimeline: Beautiful timeline with staggered animations
- EventsCard: Upcoming events display
- PaymentCard: Payment status and history
- QuickActionCard: Animated action buttons
- Rebuilt member dashboard with bento grid layout
- Added glass morphism effects throughout
- Implemented micro-interactions and hover effects
- Added gradient text effects and decorative elements
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Installed lucide-vue-next package
- Rewrote Icon.vue to use Lucide icons instead of non-existent icon files
- Added comprehensive icon mapping for all commonly used icons
- Build now succeeds without errors
- Fixed incorrect '&' selector placement causing build failure
- Created members page mockup with multiple view modes
- Added MemberCard component for member listings
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added sass package as dev dependency for SCSS support
- Created MemberCard component for member listings
- Build should now succeed with SCSS compilation
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 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>
- Add API endpoint and email templates for dues reminders
- Change due date calculation from yearly to monthly billing
- Add visual status indicators for overdue and due-soon members
- Enhance member cards with status stripes and styling
- 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
- Split combined datetime pickers into separate date and time fields
- Add validation for past dates and time consistency
- Implement error message display with dismissible alerts
- Add watchers to combine date/time values into ISO strings
- Set minimum date constraints to prevent past date selection
- Add delete endpoint for events
- Add portal access control section to EditMemberDialog for admins
- Implement API endpoints for managing member Keycloak groups
- Add group selection UI with user/board/admin access levels
- Enhance admin config with reload functionality
- Support real-time group synchronization and status feedback
- Add guest settings to event creation with configurable max guests per person
- Implement guest selection in RSVP form when guests are permitted
- Update API endpoints to handle guest count in RSVP requests
- Extend event and RSVP types to support guest-related fields
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.
- 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