feat: Add kiosk management, artist selection, and schedule management

- Add KiosksManagement component with full CRUD for kiosks
- Add ScheduleManagement for staff schedules with break reminders
- Update booking flow to allow artist selection by customers
- Add staff_services API for assigning services to artists
- Update staff management UI with service assignment dialog
- Add auto-break reminder when schedule >= 8 hours
- Update availability API to filter artists by service
- Add kiosk management to Aperture dashboard
- Clean up ralphy artifacts and logs
This commit is contained in:
Marco Gallegos
2026-01-21 13:02:06 -06:00
parent 24e5af3860
commit d27354fd5a
71 changed files with 3353 additions and 2701 deletions

View File

@@ -2,7 +2,17 @@
import React, { useState, useEffect } from 'react'
/** @description Elegant loading screen with Anchor 23 branding */
/**
* @description Elegant branded loading screen with Anchor:23 logo reveal animation
* @param {Object} props - Component props
* @param {() => void} props.onComplete - Callback invoked when loading animation completes
* @returns {JSX.Element} Full-screen loading overlay with animated logo and progress bar
* @audit BUSINESS RULE: Loading screen provides brand consistency during app initialization
* @audit SECURITY: Client-side only animation with no external data access
* @audit Validate: onComplete callback triggers app state transition to loaded
* @audit PERFORMANCE: Uses CSS animations for smooth GPU-accelerated transitions
* @audit UI: Features SVG logo with clip-path reveal animation and gradient progress bar
*/
export function LoadingScreen({ onComplete }: { onComplete: () => void }) {
const [progress, setProgress] = useState(0)
const [showLogo, setShowLogo] = useState(false)