Commit Graph

268 Commits

Author SHA1 Message Date
Codex Agent
1a48c9458e Added pinch/zoom/drag for the photo viewer using @use-gesture/react + @react-spring/web, with swipe navigation only
when not zoomed and double‑tap/double‑click to toggle zoom. I also added a guest haptics toggle in settings (sheet
  + /settings) backed by localStorage.
2025-12-27 14:11:13 +01:00
Codex Agent
fa5a1fa367 Added a guest haptics preference and surfaced it in both the settings sheet and /settings, with safe device detection
and a reduced‑motion guard. Haptics now honor the toggle and still fall back gracefully on iOS (switch disabled when
  navigator.vibrate isn’t available).

  What changed

  - Haptics preference storage + gating: resources/js/guest/lib/haptics.ts
  - Preference hook: resources/js/guest/hooks/useHapticsPreference.ts
  - Settings UI toggle in sheet + page: resources/js/guest/components/settings-sheet.tsx, resources/js/guest/pages/
    SettingsPage.tsx
  - i18n labels: resources/js/guest/i18n/messages.ts
  - Tests: resources/js/guest/lib/__tests__/haptics.test.ts
2025-12-27 14:00:12 +01:00
Codex Agent
3e3a2c49d6 Implemented guest-only PWA using vite-plugin-pwa (the actual published package; @vite-pwa/plugin isn’t on npm) with
injectManifest, a new typed SW source, runtime caching, and a non‑blocking update toast with an action button. The
  guest shell now links a dedicated manifest and theme color, and background upload sync is managed in a single
  PwaManager component.

  Key changes (where/why)

  - vite.config.ts: added VitePWA injectManifest config, guest manifest, and output to /public so the SW can control /
    scope.
  - resources/js/guest/guest-sw.ts: new Workbox SW (precache + runtime caching for guest navigation, GET /api/v1/*,
    images, fonts) and preserves push/sync/notification logic.
  - resources/js/guest/components/PwaManager.tsx: registers SW, shows update/offline toasts, and processes the upload
    queue on sync/online.
  - resources/js/guest/components/ToastHost.tsx: action-capable toasts so update prompts can include a CTA.
  - resources/js/guest/i18n/messages.ts: added common.updateAvailable, common.updateAction, common.offlineReady.
  - resources/views/guest.blade.php: manifest + theme color + apple touch icon.
  - .gitignore: ignore generated public/guest-sw.js and public/guest.webmanifest; public/guest-sw.js removed since it’s
    now build output.
2025-12-27 10:59:44 +01:00
Codex Agent
efc173cf5d komplette überarbeitung des Gäste-Hilfebereichs und Ergänzung eines One-Time-Containers zum Aktualisieren der Hilfedokumente 2025-12-24 16:23:55 +01:00
Codex Agent
42b4b647d7 • Added the two‑step Widerruf flow with an auth‑only CTA on the Widerrufsbelehrung page and a dedicated confirmation
screen where users pick an eligible end‑customer purchase and confirm. Eligibility is enforced server‑side
  (endcustomer_event, within 14 days, no event package created after purchase), refund is issued via Paddle, the
  purchase is marked refunded, the tenant package is deactivated, and a new confirmation email is sent using resources/
  views/emails/partials/layout.blade.php.

  Details

  - New controller + form request for the confirm flow: app/Http/Controllers/WithdrawalController.php, app/Http/
    Requests/Marketing/WithdrawalConfirmRequest.php
  - New confirmation page + CTA: resources/js/pages/marketing/WithdrawalConfirm.tsx, resources/js/pages/legal/Show.tsx
  - Routes + locale rewrites: routes/web.php, resources/js/lib/localizedPath.ts
  - New email notification + template: app/Notifications/Customer/WithdrawalConfirmed.php, resources/views/emails/
    withdrawal-confirmation.blade.php
  - Translations added for marketing UI + backend flash + email copy: public/lang/de/marketing.json, public/lang/en/
    marketing.json, resources/lang/de/marketing.php, resources/lang/en/marketing.php, resources/lang/de/emails.php,
    resources/lang/en/emails.php
  - Tests: tests/Feature/Marketing/WithdrawalConfirmationTest.php
2025-12-24 11:54:15 +01:00
Codex Agent
1d2c2da915 all system emails look fresh now, plus added paddle portal debugging 2025-12-23 14:31:42 +01:00
Codex Agent
207725d460 Converted all notification emails to the branded layout by routing them through a shared Blade template and swapping
the MailMessage builders to use view(). This keeps the existing copy/labels but aligns the look with resources/views/
  emails/partials/layout.blade.php. I also switched the customer add‑on receipt notification to reuse the existing
  branded view and added missing translations for the upload pipeline alert.
2025-12-23 14:03:42 +01:00
Codex Agent
20ff3044e2 fehlende Nachrichtenübersetzungen für die erfolgreiche E-Mail-Verifikation ergänzt 2025-12-23 12:19:59 +01:00
Codex Agent
886b24b06b schickere bestellbestätigung und user role detaults auf "user" gesetzt. 2025-12-23 10:33:06 +01:00
Codex Agent
0f2604309d various fixes for checkout 2025-12-22 21:51:34 +01:00
Codex Agent
84d90c5ece paddle session fixes 2025-12-22 15:11:51 +01:00
Codex Agent
c0c98abbc7 wenn checkout.completed kommt, senden wir jetzt transaction_id +
checkout_id direkt an das Backend, damit der Server die Session via Paddle‑API finalisiert (auch wenn der Webhook
  nicht greift). Dadurch sollte “Zahlung wird verarbeitet” nicht mehr hängen bleiben.
2025-12-22 14:45:51 +01:00
Codex Agent
83712b9a3a fix csrf mismatch 2025-12-22 14:33:36 +01:00
Codex Agent
c947e638eb verschieben des sofortigen verzichts auf das Widerrrufsrecht zum Anlegen des Events 2025-12-22 13:11:16 +01:00
Codex Agent
84234bfb8e Updated checkout to wait for backend confirmation before advancing, added a “Processing payment…” state with retry/ refresh fallback, and now use Paddle totals/currency for purchase records + confirmation emails (with new email translations). 2025-12-22 09:06:48 +01:00
Codex Agent
6ee40745ca added upload queue notifications 2025-12-21 12:37:20 +01:00
Codex Agent
1e6027f438 bessere sichtbarkeit für die kamera-buttons 2025-12-20 19:19:07 +01:00
Codex Agent
d4c7d3f93a kamerazugriff wieder möglich + anleitung zum erlauben des kamerazugriffs 2025-12-20 17:43:40 +01:00
Codex Agent
80985828d8 ungültige paket-IDs werden nun abgefangen 2025-12-20 16:59:14 +01:00
Codex Agent
6500b8df2c neuer checkout-pfad: /de/bestellen/paketID und /en/checkout/PackageID 2025-12-20 16:17:21 +01:00
Codex Agent
778ffc8bb9 added glitchtip using sentry sdk 2025-12-19 10:13:30 +01:00
Codex Agent
53ec427e6e photo visibility for demo events, hardened the demo mode. fixed dark/light mode toggle and notification bell toggle. fixed photo upload page sizes & header visibility. 2025-12-18 21:14:24 +01:00
Codex Agent
7c4067b32b fixed reload flash for task picker page 2025-12-18 14:49:35 +01:00
Codex Agent
403ca71710 card slider now looks good, not messy, card height is unified and long text can be tapped to be fully visible. 2025-12-18 14:09:18 +01:00
Codex Agent
2196346db7 kleinere fixes zur sichtbarkeit der texte in aufgabenkarten und der demo-vorschau auf der homepage. 2025-12-18 13:42:57 +01:00
Codex Agent
2e4226a838 Checkout‑Registrierung validiert jetzt die E‑Mail‑Länge, und die Checkout‑Flows sind Paddle‑only: Stripe‑Endpoints/
Services/Helpers sind entfernt, API/Frontend angepasst, Tests auf Paddle umgestellt. Außerdem wurde die CSP gestrafft
  und Stripe‑Texte in den Abandoned‑Checkout‑Mails ersetzt.
2025-12-18 11:14:42 +01:00
Codex Agent
1c4acda332 updated table structure for photobooth/sparkbooth settings. now there's a separate table for it. update all references and tests. also fixed the notification panel and the lightbox in the guest app. 2025-12-18 08:49:56 +01:00
Codex Agent
ece38fc009 completed addon checkout in mobile event admin 2025-12-17 17:24:26 +01:00
Codex Agent
5f3e7ae8c8 added watermark settings tab on the branding page and added more package details to the billing page, added a new guest notifications page 2025-12-17 16:39:25 +01:00
Codex Agent
efe697f155 Das Abschalten des Aufgaben-Modus wird nun sauber in der App reflektiert- die UI passt sich an und der Admin erhält einen Hinweis, dass die Aufgabenverwaltung nicht verfügbar ist 2025-12-17 13:20:48 +01:00
Codex Agent
03e37d7e23 achievements didn't load correctly 2025-12-17 11:04:08 +01:00
Codex Agent
d64839ba2f fixed notification system and added a new tenant notifications receipt table to track read status and filter messages by scope. 2025-12-17 10:57:19 +01:00
Codex Agent
9e4e9a0d87 Aufgabenkarten in der Gäste-pwa als swipe-barer Stapel umgesetzt. Sofortiges Freigeben von Foto-Uploads als Event-Einstellung implementiert. 2025-12-16 15:30:52 +01:00
Codex Agent
f2473c6f6d enhancements of the homepage in the guest pwa 2025-12-15 19:05:27 +01:00
Codex Agent
a8b6e5d9c4 qr code layouts im mobile admin perfektioniert. 2025-12-14 22:14:30 +01:00
Codex Agent
c8b149d887 using pressables to change numerical values 2025-12-14 18:24:47 +01:00
Codex Agent
a35b56f09d improved layout customize page 2025-12-12 23:19:23 +01:00
Codex Agent
a35f81705d further improvements for the mobile admin 2025-12-12 21:47:34 +01:00
Codex Agent
1719d96fed removed the old event admin components and pages 2025-12-12 13:38:06 +01:00
Codex Agent
7cf7c4b8df further layout preview fixes 2025-12-12 08:34:19 +01:00
Codex Agent
57be7d0030 added more translations and added the new layout wizard 2025-12-11 16:55:12 +01:00
Codex Agent
b4417db5cd weitere perfektionierung der neuen mobile app 2025-12-11 12:18:08 +01:00
Codex Agent
7b01a77083 weiterer fortschritt mit tamagui und dem neuen mobile event admin 2025-12-10 20:01:47 +01:00
Codex Agent
73e550ee87 Implemented a shared mobile shell and navigation aligned to the new architecture, plus refactored the dashboard and
tab flows.

  - Added a dynamic MobileShell with sticky header (notification bell with badge, quick QR when an event is
    active, event switcher for multi-event users) and stabilized bottom tabs (home, tasks, uploads, profile)
    driven by useMobileNav (resources/js/admin/mobile/components/MobileShell.tsx, components/BottomNav.tsx, hooks/
    useMobileNav.ts).
  - Centralized event handling now supports 0/1/many-event states without auto-selecting in multi-tenant mode and
    exposes helper flags/activeSlug for consumers (resources/js/admin/context/EventContext.tsx).
  - Rebuilt the mobile dashboard into explicit states: onboarding/no-event, single-event focus, and multi-event picker
    with featured/secondary actions, KPI strip, and alerts (resources/js/admin/mobile/DashboardPage.tsx).
  - Introduced tab entry points that respect event context and prompt selection when needed (resources/js/admin/
    mobile/TasksTabPage.tsx, UploadsTabPage.tsx). Refreshed tasks/uploads detail screens to use the new shell and sync
    event selection (resources/js/admin/mobile/EventTasksPage.tsx, EventPhotosPage.tsx).
  - Updated mobile routes and existing screens to the new tab keys and header/footer behavior (resources/js/admin/
    router.tsx, mobile/* pages, i18n nav/header strings).
2025-12-10 16:13:44 +01:00
Codex Agent
9930b272ca first implementation of tamagui mobile pages 2025-12-10 15:49:08 +01:00
Codex Agent
928d28fcaf implemented a lot of security measures 2025-12-09 20:29:32 +01:00
Codex Agent
4bdb93c171 gift voucher language fixes + move into user menu 2025-12-08 20:18:01 +01:00
Codex Agent
bc960dc22b switch to a new logviewer and upgraded php libraries 2025-12-08 18:45:34 +01:00
Codex Agent
4784c23e70 Hintergründe zum EventInvitePage Layout Customizer hinzugefügt. Badge und CTA entfernt, Textfelder zu Textareas gemacht. Geschenkgutscheine verbessert, E-Mail-Versand ergänzt + Resend + Confirmationseite mit Code-Copy und Link zur Package-Seite, die den Code als URL-Parameter enthält. 2025-12-08 16:20:04 +01:00
Codex Agent
046e2fe3ec geschenkgutscheine implementiert ("Paket verschenken"). Neuer Upload-Provider: Sparkbooth. 2025-12-07 16:54:58 +01:00