Files
fotospiel-app/docs/prp/packages-ui-improvements.md
2025-11-20 10:44:29 +01:00

4.1 KiB

Packages-Seite UI-Verbesserungen: Analyse und Plan

Recherche-Zusammenfassung

Features und Abgrenzungen (aus docs/prp/15-packages-design.md, Model/Seeder)

  • Endkunden-Pakete (Einmalkauf pro Event):
    • Free/Test (0€): max_photos=30, max_guests=50, gallery_days=7, max_tasks=5, watermark_allowed=true, features=['basic_uploads', 'limited_sharing'].
    • Starter (29€): max_photos=200, max_guests=100, gallery_days=30, max_tasks=10, watermark_allowed=true, features=['basic_uploads', 'unlimited_sharing', 'no_watermark', 'custom_tasks'].
    • Pro (79€): max_photos=1000, max_guests=500, gallery_days=90, max_tasks=20, watermark_allowed=false, features=['basic_uploads', 'unlimited_sharing', 'no_watermark', 'custom_tasks', 'advanced_analytics', 'priority_support', 'live_slideshow'].
  • Reseller-Pakete (Subscription jährlich):
    • S (199€): max_events_per_year=5, max_photos=500 (per Event), features=['reseller_dashboard', 'custom_branding', 'priority_support'].
    • M (399€): max_events_per_year=15, max_photos=1000, features=['reseller_dashboard', 'custom_branding', 'priority_support', 'advanced_reporting'].
    • Enterprise (999€+): Unlimited, White-Label, Custom Domain.
  • Limits: max_photos, max_guests, gallery_days, max_tasks, max_events_per_year (vererbt an Events).
  • Abgrenzungen: Watermark/Branding (bool), Support (priority), Analytics (advanced), Galerie-Dauer, Task-Anzahl. Filament: TenantResource trackt active_package, remaining_events; RelationManagers für Purchases/Packages (manual add).
  • Ja, vollständig: shadcn Carousel für mobile (block md:hidden, Swipe mit Previous/Next Buttons, basis-full Items); Desktop: hidden md:block Grid (md:grid-cols-3/2). Dynamisch aus Props (endcustomerPackages, resellerPackages).

Umgesetzte UI-Verbesserungen

  • Responsive Design: Mobile Carousel vs Desktop Grid.
  • Dynamische Darstellung: Features map() aus JSON, partial Limits (max_photos, max_tenants).
  • Hero-Section: Aurora-Gradient (bg-aurora-enhanced), Playfair Display Überschrift, Montserrat Text.
  • Konsistentes Layout: MarketingLayout (Header mit Nav, Footer mit Legal-Links).
  • CTA: Links zu /buy-packages/{id}, Hover-Transitions.
  • Fonts: font-display (Playfair), font-sans-marketing (Montserrat).

Offene/Mögliche Verbesserungen

  1. Multi-Step-Modal auf Card-Click: Dialog (shadcn) mit Tabs (Step 1: Details + Social Proof/Testimonials (3 Cards mit Stars); Step 2: Upsell-Tabelle (shadcn Table, Spalten: Features/Limits, Zeilen: alle Packages, Highlight selected mit bg-[#FFB6C1]); Step 3: CTA (usePage().props.auth ? Link /buy-packages : /register?package_id, localStorage pre-fill für Name/Email)).
  2. Erweiterte Limits-Darstellung: Vollständig in Cards (gallery_days, max_guests, max_tasks als <li>, watermark/branding als Badge/Check/X-Icons).
  3. UI-Enhancements: Progress Bar (33/66/100% für Steps), Micro-Interactions (Card-Hover: scale-105/shadow-lg), FAQ-Section (Accordion mit 4 Fragen: Free-Paket, Upgrade, Reseller, Zahlung), Testimonials-Section (3 Cards mit Quotes/Ratings).
  4. Desktop Pricing Table: Toggle-Button neben Grid (View: Table-Modus, Vergleichs-View mit Checkmarks für Features).
  5. Weitere: A/B-Testing (CTAs), Accessibility (ARIA-Labels für Carousel/Modal, Keyboard-Nav), SEO (Head meta description pro Package), Performance (Lazy Testimonials), Integration (Track Clicks mit Analytics).

Implementierungs-Plan (Code-Modus)

  1. Modal hinzufügen: useState für open/selected/step; Dialog mit Tabs; Step 1: Details + Testimonials; Step 2: Table (alle Packages); Step 3: CTA (auth-check, pre-fill).
  2. Limits erweitern: In Cards <li> für gallery_days/max_guests/max_tasks; Badges für watermark/branding.
  3. UI-Verbesserungen: Progress in Modal, Hover auf Cards, FAQ-Accordion, Testimonials-Section.
  4. Pricing Table: useState für viewMode (Grid/Table); Table mit Check/X für Features.
  5. Test: npm run build/dev; Browser: Card-Click → Modal-Steps, Tabelle-Vergleich, CTA-Redirect, Responsiveness.

Nach Umsetzung: Update PRP (docs/prp/15-packages-design.md mit UI-Details).