Resolves ESLint parsing errors for test files by adding tests directory
to TypeScript include path.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update ESLint configuration with strict React/TypeScript rules
- Enhance TypeScript configuration with stricter checks
- Add comprehensive type definitions and exports
- Update App.tsx with new routing and layout integration
- Create showcase pages for component development
- Improve package.json with proper dependencies
Configuration ensures code quality and developer productivity with
zero-tolerance for type errors and consistent code standards.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add complete E2E test coverage for authentication flows
- Implement component interaction and navigation testing
- Create responsive design validation across viewports
- Add theme switching and visual regression testing
- Include smoke tests for critical user paths
- Configure Playwright with proper test setup
Test suite ensures application reliability with automated validation
of user flows, accessibility, and visual consistency.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add EventCard component with comprehensive event display
- Implement TicketTypeRow for ticket selection and pricing
- Create OrderSummary for purchase flow display
- Add FeeBreakdown for transparent pricing
- Implement ScanStatusBadge for QR scanning interface
- Include business type definitions and mock data
Components provide realistic Black Canyon Tickets functionality with
proper pricing display, event management, and ticketing flows.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add error boundary components with graceful fallbacks
- Implement loading states with skeleton components
- Create route-level suspense wrapper
- Add error page with recovery options
- Include error boundary demo for testing
Error handling provides resilient user experience with clear feedback
and recovery options when components fail.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add comprehensive mock authentication system
- Implement user/admin/super_admin role hierarchy
- Create protected route component with permission checking
- Add authentication context and custom hooks
- Include login page with form validation
- Support persistent sessions with localStorage
Authentication system provides realistic auth flows without external
dependencies, perfect for frontend development and testing.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add comprehensive layout system (AppLayout, Header, Sidebar, MainContainer)
- Implement responsive navigation with mobile-friendly collapsing sidebar
- Add theme toggle component with smooth transitions
- Include proper ARIA labels and keyboard navigation
- Support authentication state in navigation
Layout system provides consistent structure across all pages with
theme-aware styling and accessibility compliance.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add EventCard with glassmorphism styling and role-based actions
- Add TicketTypeRow with inline editing and inventory tracking
- Add OrderSummary with promo codes and fee breakdown integration
- Add ScanStatusBadge with real-time updates and accessibility
- Add FeeBreakdown with transparent pricing and regulatory compliance
- Create business logic types for events, tickets, orders, scanning
- Implement responsive layouts (card/table) for all screen sizes
- Ensure WCAG AA compliance with proper ARIA labels and screen reader support
- Use design tokens exclusively for consistent theming
- Build comprehensive showcase component demonstrating all features
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix gold text contrast in light theme from 3.30:1 to 6.38:1 (AA compliant)
- Separate ThemeContext into definition and provider files for ESLint compliance
- Update contrast report with final validation results (100% passing tests)
- Ensure all accent colors meet WCAG AA standards across light/dark themes
- Complete design token system with proper semantic color roles
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed modal background opacity from 0.5 to 0.75 for better visibility
- Fixed X button close functionality in TicketTypeModal
- Resolved CORS issues by removing credentials: 'include' from Supabase client
- Fixed onSave callback signature mismatch in TicketsTab component
- Removed old initEmbedModal function references causing JavaScript errors
- Added comprehensive Playwright tests for ticket button functionality
- Verified modal works correctly in both light and dark modes
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed filter controls overlapping with hero section
- Calculate hero section height dynamically and position filters below it
- Filter controls now stick at proper position (719px from top)
- No more overlap between hero and navigation elements
- Both hero section and filters work correctly on scroll
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed sticky header logic that was immediately hiding hero section
- Simplified header behavior to keep hero visible
- Calendar page now displays properly with full hero section
- All calendar functionality working correctly
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix fee settings button in dashboard to link to /settings/fees instead of /calendar
- Implement proper theme management system for calendar page
- Add theme background handler and data-theme-background attribute
- Replace broken theme import with complete theme management
- Both dashboard and calendar now properly support light/dark themes
- Fixed glassmorphism CSS variables and theme switching
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Modified check-super-admin endpoint to use requireAdminSimple instead of requireSuperAdminSimple
- Changed endpoint to gracefully handle admin authentication and return success even when super admin check fails
- Super admin functionality not fully implemented yet, so endpoint returns isSuperAdmin: false
- This prevents 401 errors while allowing admin dashboard to function properly
- Super admin button will not show but admin functionality remains intact
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Created new server-side API endpoint /api/admin/users that bypasses RLS
- Updated admin API router to use server-side endpoint instead of client queries
- Fixed issue where client-side Supabase queries were blocked by RLS policies
- Updated platform stats and recent activity to use the new endpoint
- Ensures proper admin authentication and uses service role for data access
Root cause: RLS policies on users table blocked client-side queries from admin dashboard
Solution: Server-side API endpoint with proper admin auth and service role access
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Updated central container with semi-transparent glass effects
- Added subtle inner glow with gradient overlay
- Enhanced quick action buttons with hover animations and blue-purple highlights
- Improved recent activity cards with glassmorphism styling
- Updated modal styling with deeper shadows and glass effects
- Added smooth transitions and scaling animations throughout
- Maintained excellent text legibility with white text on dark backgrounds
- Harmonized visual design with deep purple gradient theme
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major fixes and improvements:
- Fixed edit event button functionality with proper event handlers and DOM ready state checking
- Added status column to tickets table via Supabase migration to resolve 500 API errors
- Updated stats API to correctly calculate revenue from decimal price values
- Resolved authentication redirect loops by fixing cookie configuration for Docker environment
- Fixed Permissions-Policy header syntax errors
- Added comprehensive debugging and error handling for event management
- Implemented modal-based event editing with form validation and API integration
- Enhanced event data loading with proper error handling and user feedback
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Redirect old /login route to /login-new to prevent conflicts
- Update logout API to redirect to /login-new instead of /login
- Fix network connection errors caused by inconsistent login URLs
This resolves the "Failed to load resource: The network connection was lost"
error that occurred when browsers tried to access the old login route.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add delay after login to ensure session cookies are set properly
- Fix client-side auth checks in dashboard to handle session refresh gracefully
- Remove conflicting client-side redirects from Navigation component
- All authentication now properly handled by unified server-side auth system
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit fixes the persistent login/redirect loop issue and implements
a robust authentication system for the Docker/localhost environment.
Key Changes:
- Environment-aware cookie configuration in supabase-ssr.ts
- New AuthLoader component to prevent content flashing during auth checks
- Cleaned up login page client-side auth logic to prevent redirect loops
- Updated dashboard to use AuthLoader for smooth authentication experience
Technical Details:
- Cookies now use environment-appropriate security settings
- Server-side auth verification eliminates client-side timing issues
- Loading states provide better UX during auth transitions
- Unified authentication pattern across all protected pages
Fixes:
- Dashboard no longer flashes before auth redirect
- Login page loads cleanly without auth checking loops
- Cookie configuration works correctly in Docker localhost
- No more redirect loops between login and dashboard pages
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Client-side improvements (supabase.ts):
- Set detectSessionInUrl: false to prevent SSR redirect loops
- Add explicit cookieOptions with Docker-friendly settings
- Configure secure: false for localhost non-HTTPS
- Set sameSite: 'lax' for proper navigation cookie handling
Server-side improvements (supabase-ssr.ts):
- Add comprehensive default cookie options
- Ensure consistent cookie configuration across all server clients
- Set maxAge: 7 days for proper session persistence
- Maintain security with httpOnly: true
These changes address session persistence issues in Docker containers
and should resolve Stripe setup redirect loops for existing users.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Set secure: false for localhost (non-HTTPS) environment
- Configure sameSite: 'lax' to allow cookie transmission
- Ensure path: '/' for site-wide cookie access
- Maintain httpOnly: true for security
This should resolve session persistence issues in Docker containers.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Disable automatic auth check on login page to prevent conflicts
- Use window.location.replace instead of href to prevent back button issues
- Simplify login flow to eliminate competing redirects
- Add console logging for better debugging of login flow
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add null checks for cookies object in Supabase SSR client
- Fix auth test page to use Astro.cookies instead of Astro.request
- Prevent "Cannot read properties of undefined" errors in cookie handling
- Ensure proper unified auth usage pattern in test pages
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Import requireAuth function to fix ReferenceError
- Ensure auth test page has all necessary imports from unified auth module
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Install Playwright for automated browser testing
- Create comprehensive auth flow test script with screenshots
- Verify authentication fixes prevent flashing and redirect loops
- Generate visual proof that unified auth system works correctly
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Removed checkAuth() function and redirects from dashboard.astro
- Removed checkAuth() function and redirects from events/new.astro
- Updated to use Astro.cookies for better SSR compatibility
- Client-side code now focuses on data loading, not authentication
- Server-side unified auth system handles all protection
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Created single auth-unified.ts module as the source of truth
- Deprecated old auth.ts and simple-auth.ts (now proxy to unified)
- Fixed dashboard SSR auth using Astro.cookies for better compatibility
- Added comprehensive auth test page at /auth-test-unified
- Resolved cookie handling issues in Docker environment
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Change docker-compose.prod.yml from image: to build: configuration
- Remove image pulling from deployment script
- Add --build flag to docker-compose up command
- Fixes "image not found" error by building from local Dockerfile
This ensures the deployment script builds the image from source
instead of trying to pull a non-existent image from a registry.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Change from external bct-network to locally created network
- Fix docker-compose.astro.yml network definition
- Fix docker-compose.prod.yml network definition
- Prevents "undefined networks" error during deployment
Networks are now created automatically by Docker Compose
instead of requiring pre-existing external network.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add environment variable loading from .env file in main() function
- Use set -o allexport to export all variables from .env
- Load variables before check_env_vars() is called
- Fixes "Missing required environment variables" error
This ensures the deployment script can access all environment variables
from the .env file before validating they exist.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update NGINX configuration for correct domain
- Update deployment guide with proper SSL certificate paths
- Update service URLs in documentation
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Multi-stage Dockerfile with Node.js 20 Alpine base
- Production and development docker-compose configurations
- Health check API endpoint for container monitoring
- Build and deployment scripts with versioning support
- Port 3000 configuration for nginx compatibility
- Non-root user and security hardening
- Resource limits and logging configuration
- Package.json scripts for Docker operations
This eliminates dependency conflicts and provides reproducible deployments.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Downgrade @astrojs/tailwind to v5.1.1 for v3 compatibility
- Remove @tailwindcss/vite dependency (v4 specific)
- Update tailwindcss to v3.4.17
- Fix astro.config.mjs to use standard Tailwind integration
- Update CSS imports to use v3 @tailwind directives
Fixes server deployment build failures due to dependency conflicts.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add test comment to trigger deployment pipeline and verify auto-deploy is working correctly.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- OpenAI API integration for event description generation
- Environment variable configuration for API key
- Premium feature access controls and usage tracking
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>