Commit Graph

18 Commits

Author SHA1 Message Date
2ddd0704d7 Add interactive map to Impressum with configurable coordinates
- Add OpenStreetMap iframe to legal page showing business location
- Support ADDRESS_LATITUDE and ADDRESS_LONGITUDE environment variables
- Generate dynamic map URLs based on configured coordinates
- Include link to full map view
- Update legal-config.ts interface to include latitude/longitude
- Document new environment variables in README.md
- Use Kiel coordinates as default (54.3233, 10.1228)
2025-09-30 18:52:11 +02:00
01754bf142 Füge 'Zurück zur Startseite' Link zur Login-Seite hinzu
- Navigation-Link unter dem Anmelde-Formular
- Pinkes Design passend zum Stargirlnails-Branding
- Pfeil-Icon für bessere Benutzerfreundlichkeit
- Hover-Effekt mit sanfter Farbänderung
- Zentrierte Platzierung für sauberes Design
- Verbesserte Navigation und UX
2025-09-30 18:39:15 +02:00
671f9693c5 Füge Logo-Klick-Navigation zum Impressum-Header hinzu
- Logo und Titel im Impressum-Header sind jetzt klickbar
- Klick führt zur Startseite zurück
- Visuelle Hover-Effekte (cursor-pointer, opacity-Änderung)
- Konsistentes Verhalten mit der Haupt-App
- Verbesserte Benutzerfreundlichkeit und Navigation
2025-09-30 18:27:51 +02:00
90e48c82ac Behebe Impressum/Datenschutz-Tab und bereinige UI
- Impressum-Tab zeigt jetzt korrekt rechtliche Informationen an
- Direkter HTTP-Endpoint /api/legal-config als Workaround für RPC-Problem
- Client-Komponente verwendet fetch() anstatt RPC-Calls
- Debug-Logs hinzugefügt für bessere Fehlerdiagnose
- Hinweis-Text über Umgebungsvariablen entfernt für saubereres Design
- Legal-Konfiguration funktioniert jetzt vollständig mit echten Daten
- Tab-Navigation zwischen Impressum und Datenschutz funktioniert
2025-09-30 18:25:50 +02:00
40d76680fd Implementiere Impressum/Datenschutz-System und bereinige URL-Konfiguration
- Neues Impressum/Datenschutz-Tab mit konfigurierbaren rechtlichen Daten
- Konfigurationsdatei legal-config.ts für alle rechtlichen Informationen
- RPC-Endpoint legal.getConfig() für rechtliche Daten
- Schöne Tab-Navigation zwischen Impressum und Datenschutz
- Responsive Design mit Loading-States und Fehlerbehandlung
- Alle rechtlichen Daten über Umgebungsvariablen konfigurierbar
- FRONTEND_URL entfernt - nur noch DOMAIN wird verwendet
- Hilfsfunktion generateUrl() für konsistente URL-Generierung
- Code-Duplikation in bookings.ts eliminiert
- .env.example aktualisiert mit allen neuen Variablen
- README.md dokumentiert neue rechtliche Konfiguration
- DSGVO- und TMG-konforme Inhalte implementiert
2025-09-30 18:14:01 +02:00
55923e0426 Implementiere Stornierungssystem und E-Mail-Links zur Hauptseite
- Neues Stornierungssystem mit sicheren Token-basierten Links
- Stornierungsfrist konfigurierbar über MIN_STORNO_TIMESPAN (24h Standard)
- Stornierungs-Seite mit Buchungsdetails und Ein-Klick-Stornierung
- Automatische Slot-Freigabe bei Stornierung
- Stornierungs-Link in Bestätigungs-E-Mails integriert
- Alle E-Mails enthalten jetzt Links zur Hauptseite (DOMAIN Variable)
- Schöne HTML-Buttons und Text-Links in allen E-Mail-Templates
- Vollständige Validierung: Vergangenheits-Check, Token-Ablauf, Stornierungsfrist
- Responsive Stornierungs-Seite mit Loading-States und Fehlerbehandlung
- Dokumentation in README.md aktualisiert
2025-09-30 17:48:03 +02:00
d1f312116e feat: Add Docker support and health endpoint
- Add production-ready Dockerfile with multi-stage build
- Add .dockerignore for optimized builds
- Add docker-compose.yml for easy deployment
- Add /health endpoint for container health checks
- Update README with comprehensive Docker documentation
- Include security best practices (non-root user, health checks)
- Support for both development and production deployments
2025-09-30 14:23:14 +02:00
bcfc481578 feat: Add inspiration photo upload functionality to booking system
- Extend booking schema with optional inspirationPhoto field (Base64 encoded)
- Implement photo upload in booking form with file validation (max 5MB, image files only)
- Add photo preview with remove functionality in booking form
- Create thumbnail display in admin bookings management
- Implement photo popup modal for full-size image viewing
- Add inspiration photo column to bookings table
- Include photo upload in form reset after successful booking
- Add user-friendly photo upload UI with drag-and-drop styling

Features:
- Optional photo upload for customer inspiration/reference
- File size validation (5MB limit)
- File type validation (images only)
- Photo preview in booking form
- Thumbnail display in admin panel
- Full-size popup modal for detailed viewing
- Responsive design with hover effects
- German localization throughout

Changes:
- booking-form.tsx: Add photo upload UI and functionality
- admin-bookings.tsx: Add photo thumbnails and popup modal
- bookings.ts: Extend schema with inspirationPhoto field
2025-09-30 11:50:37 +02:00
aeb32da6c2 feat: Convert email date format from American to European (dd.mm.yyyy)
- Add formatDateGerman() helper function to convert yyyy-mm-dd to dd.mm.yyyy
- Update all email templates (HTML and text versions) to use European date format
- Apply formatting to booking pending, confirmed, and cancelled emails
- Ensure consistent date display across all customer communications
- Improve user experience with familiar German date format

Changes:
- email-templates.ts: Add date formatting to all HTML templates
- bookings.ts: Add date formatting to all text email versions
- Both files: Consistent European date format (dd.mm.yyyy) throughout
2025-09-30 11:42:41 +02:00
a1935aae02 feat: Add AGB PDF attachment to booking confirmation emails
- Extend email system to support file attachments
- Add sendEmailWithAGB() function that automatically attaches AGB.pdf
- Implement AGB PDF caching for better performance
- Update booking confirmation email template with AGB notice
- Add visual highlight box in HTML email with AGB information
- Update email subject to indicate AGB attachment
- Include AGB reference in both HTML and text versions
- Ensure legal compliance by automatically sending terms with confirmations

Changes:
- email.ts: Add attachment support and AGB PDF integration
- email-templates.ts: Add AGB notice to confirmation emails
- bookings.ts: Use sendEmailWithAGB for confirmed bookings
- German localization for admin treatments component
2025-09-30 11:18:23 +02:00
072c7985c7 feat: Add admin calendar and improve availability management
- Add admin calendar component with booking overview and status management
- Implement treatment-specific availability slots with automatic duration
- Enhance availability management with better UI and error handling
- Move admin credentials to .env configuration
- Add .env.example with all required environment variables
- Update README.md with comprehensive setup guide including PowerShell password hash generation
- Improve slot deletion with proper error handling and user feedback
- Add toast notifications for better UX
2025-09-30 10:58:33 +02:00
ab96114295 Add Stargil Nails logo and favicon
- Replace emoji icons with Stargil Nails logo in header and loading spinner
- Add favicon.png to public directory
- Copy logo to public/assets for browser access
- Update vite.config.ts to serve public directory
- Add favicon link to HTML head section
2025-09-29 19:50:10 +02:00
b33036300f Initial commit: Kalender, Buchungen mit Slot-Reservierung, Resend-E-Mails, Admin-UI, Startscript 2025-09-29 19:10:42 +02:00
Quests Agent
82a4087d59 fehler:
❯ pnpm dev

> quests-template-basic@0.0.0 dev C:\Users\mbusc\AppData\Roaming\Quests\workspace\projects\silver-bright-fork-23
> vite

  VITE v7.1.3  ready in 780 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
  ➜  press h + enter to show help
18:15:12 [vite] (ssr) Error when evaluating SSR module ./src/server/index.ts: OPENAI_BASE_URL is not set
      at eval (C:/Users/mbusc/AppData/Roaming/Quests/workspace/projects/silver-bright-fork-23/src/server/rpc/demo/ai.ts:13:9)
      at async ESModulesEvaluator.runInlinedModule (file:///C:/Users/mbusc/AppData/Roaming/Quests/workspace/projects/silver-bright-fork-23/node_modules/.pnpm/vite@7.1.3_@types+node@22.1_7fc9e9804073d39b787b9384e0ee4b8c/node_modules/vite/dist/node/module-runner.js:910:3)
2025-09-29 18:18:17 +02:00
Quests Agent
afb24220c7 Nutze informelles Deutsch, also "Du" statt "Sie". 2025-09-29 18:13:22 +02:00
Quests Agent
11d17213c1 Füge eine Benutzerverwaltung hinzu, damit "Manage Treatments" und "Manage Bookings" nur für den Shop Inhaber zugänglich ist. 2025-09-29 18:11:20 +02:00
Quests Agent
63a402b3ad I´d like to create a booking platform for a beauty shop (nail design). the customer shall be able to book a treatment. an admin backend is needed to manage articles and their durations. 2025-09-29 18:01:00 +02:00
Quests Agent
a4ecf845bf Project created from basic template 2025-09-29 17:56:30 +02:00