feat: comprehensive update with Signal, Copilot, themes, and PDF features

## Signal Messaging Integration
- Added SignalService for sending messages to drivers via Signal
- SignalMessage model for tracking message history
- Driver chat modal for real-time messaging
- Send schedule via Signal (ICS + PDF attachments)

## AI Copilot
- Natural language interface for VIP Coordinator
- Capabilities: create VIPs, schedule events, assign drivers
- Help and guidance for users
- Floating copilot button in UI

## Theme System
- Dark/light/system theme support
- Color scheme selection (blue, green, purple, orange, red)
- ThemeContext for global state
- AppearanceMenu in header

## PDF Schedule Export
- VIPSchedulePDF component for schedule generation
- PDF settings (header, footer, branding)
- Preview PDF in browser
- Settings stored in database

## Database Migrations
- add_signal_messages: SignalMessage model
- add_pdf_settings: Settings model for PDF config
- add_reminder_tracking: lastReminderSent for events
- make_driver_phone_optional: phone field nullable

## Event Management
- Event status service for automated updates
- IN_PROGRESS/COMPLETED status tracking
- Reminder tracking for notifications

## UI/UX Improvements
- Driver schedule modal
- Improved My Schedule page
- Better error handling and loading states
- Responsive design improvements

## Other Changes
- AGENT_TEAM.md documentation
- Seed data improvements
- Ability factory updates
- Driver profile page

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-01 19:30:41 +01:00
parent 2d842ed294
commit 3b0b1205df
84 changed files with 12330 additions and 2103 deletions

View File

@@ -14,16 +14,16 @@ export function Login() {
}, [isAuthenticated, navigate]);
return (
<div className="min-h-screen flex items-center justify-center bg-gradient-to-br from-blue-50 to-indigo-100">
<div className="max-w-md w-full bg-white rounded-lg shadow-xl p-8">
<div className="min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 via-background to-primary/10">
<div className="max-w-md w-full bg-card border border-border rounded-lg shadow-xl p-8">
<div className="text-center mb-8">
<div className="inline-block p-3 bg-primary/10 rounded-full mb-4">
<Plane className="h-12 w-12 text-primary" />
</div>
<h1 className="text-3xl font-bold text-gray-900 mb-2">
<h1 className="text-3xl font-bold text-foreground mb-2">
VIP Coordinator
</h1>
<p className="text-gray-600">
<p className="text-muted-foreground">
Transportation logistics and event coordination
</p>
</div>
@@ -35,7 +35,7 @@ export function Login() {
Sign In with Auth0
</button>
<div className="mt-6 text-center text-sm text-gray-500">
<div className="mt-6 text-center text-sm text-muted-foreground">
<p>First user becomes administrator</p>
<p>Subsequent users require admin approval</p>
</div>