Commit Graph

89 Commits

Author SHA1 Message Date
Codex Agent
eed7699549 Implement compliance exports and retention overrides
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled
2026-01-02 20:13:45 +01:00
Codex Agent
8f13465415 Implement tenant announcements and audit log fixes
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled
2026-01-02 14:19:46 +01:00
Codex Agent
412ecbe691 Implement superadmin audit log for mutations
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled
2026-01-02 11:57:49 +01:00
Codex Agent
aaf418a917 Expliziten Return‑Flow umgesetzt: neue Return‑Route nimmt _ptxn, lädt die Transaktion und leitet anhand custom_data
auf success_url/cancel_url weiter. Gleichzeitig werden diese URLs jetzt in custom_data bei Add‑ons, Package‑Checkout
  und Gift‑Vouchern gespeichert, damit der Return‑Handler sie kennt.

  Details (relevant):
  - app/Http/Controllers/PaddleReturnController.php verarbeitet _ptxn, prüft Status, schützt vor Open‑Redirects.
  - routes/web.php neue Route paddle.return (öffentlich).
  - app/Services/Addons/EventAddonCheckoutService.php, app/Services/Paddle/PaddleCheckoutService.php, app/Services/
GiftVouchers/GiftVoucherCheckoutService.php speichern success_url/cancel_url in custom_data.
  - tests/Feature/PaddleReturnTest.php prüft Success/Cancel‑Redirects.
  - Tests aktualisiert: tests/Unit/PaddleCheckoutServiceTest.php.
  Wichtig für die Rückleitung:

  - Bitte in Paddle (Sandbox + Live) die Checkout‑Success/Cancel URL auf http://fotospiel-app.test/paddle/return
    setzen.
    Ohne diese Einstellung schickt Paddle den Nutzer nicht zu unserem Return‑Handler.
  Nebenwirkung: Add‑on‑Checkout gibt jetzt als checkout_id die Transaktions‑ID (txn_…) zurück (statt chk_…).
2025-12-29 18:20:52 +01:00
Codex Agent
b780d82d62 Added Phase‑1 continuation work across deep links, offline moderation queue, and admin push.
resources/js/admin/mobile/lib.
  - Admin push is end‑to‑end: new backend model/migration/service/job + API endpoints, admin runtime config, push‑aware
    service worker, and a settings toggle via useAdminPushSubscription. Notifications now auto‑refresh on push.
  - New PHP/JS tests: admin push API feature test and queue/haptics unit tests
  Added admin-specific PWA icon assets and wired them into the admin manifest, service worker, and admin shell, plus a
  new “Device & permissions” card in mobile Settings with a persistent storage action and translations.
  Details: public/manifest.json, public/admin-sw.js, resources/views/admin.blade.php, new icons in public/; new hook
  resources/js/admin/mobile/hooks/useDevicePermissions.ts, helpers/tests in resources/js/admin/mobile/lib/
  devicePermissions.ts + resources/js/admin/mobile/lib/devicePermissions.test.ts, and Settings UI updates in resources/
  js/admin/mobile/SettingsPage.tsx with copy in resources/js/admin/i18n/locales/en/management.json and resources/js/
admin/i18n/locales/de/management.json.
2025-12-28 15:00:47 +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
ed5c1918fc csrf handling mit der korrekten middleware verbunden 2025-12-23 09:54:26 +01:00
Codex Agent
826e2a93ce super.admin login bringt nun keinen Fehler 419 mehr 2025-12-23 09:25:59 +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
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
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
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
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
0aae494945 photo-upload und ansicht im admin gefixt 2025-12-16 16:19:23 +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
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
Codex Agent
1d3d49e05a widerrufsbelehrung hinzugefügt und in den checkout mit eingebunden. refund ins backend eingebaut. 2025-12-07 11:57:05 +01:00
Codex Agent
dd3198cb79 fixed language switching in the frontend 2025-12-02 13:31:58 +01:00
Codex Agent
28539754a7 removed all references to credits. now credits are completely replaced by addons. 2025-12-01 15:50:17 +01:00
Codex Agent
96f8c5d63c events werden nun erfolgreich gespeichert, branding wird nun erfolgreich gespeichert, emotionen können nun angelegt werden. Task Ansicht im Event admin verbessert, Buttons in FAB umgewandelt und vereinheitlicht. Teilen-Link Guest PWA schicker gemacht, SynGoogleFonts ausgebaut (mit Einzel-Family-Download). 2025-11-27 16:08:08 +01:00
Codex Agent
bfa15cc48e die eventphotospage funktioniert nun zuverlässig 2025-11-26 17:49:55 +01:00
Codex Agent
9bde8f3f32 Neue Branding-Page und Gäste-PWA reagiert nun auf Branding-Einstellungen vom event-admin. Implemented local Google Fonts pipeline and admin UI selects for branding and invites.
- Added fonts:sync-google command (uses GOOGLE_FONTS_API_KEY, generates /public/fonts/google files, manifest, CSS, cache flush) and
    exposed manifest via new GET /api/v1/tenant/fonts endpoint with fallbacks for existing local fonts.
  - Imported generated fonts CSS, added API client + font loader hook, and wired branding page font fields to searchable selects (with
    custom override) that auto-load selected fonts.
  - Invites layout editor now offers font selection per element with runtime font loading for previews/export alignment.
  - New tests cover font sync command and font manifest API.

  Tests run: php artisan test --filter=Fonts --testsuite=Feature.
  Note: repository already has other modified files (e.g., EventPublicController, SettingsStoreRequest, guest components, etc.); left
  untouched. Run php artisan fonts:sync-google after setting the API key to populate /public/fonts/google.
2025-11-25 19:31:52 +01:00
Codex Agent
df414a31cd photobooth funktionen im event admin verlinkt, gäste pwa zeigt photobooth nur noch an, wenn diese aktiviert ist. kontaktformular optimiert. teilen-link mit iMessage und whatsapp erweitert. 2025-11-23 22:22:06 +01:00
Codex Agent
7a8d22a238 implemented event package addons with filament resource, event-admin purchase path and notifications, showing up in purchase history 2025-11-21 11:25:45 +01:00
Codex Agent
e0127e7f39 legal documents improved, gäste-pwa uploads optimiert: client-side compression/resize. 2025-11-20 22:09:11 +01:00
Codex Agent
0127114e59 rework of the e2e test suites 2025-11-19 22:23:33 +01:00
Codex Agent
8d2075bdd2 nicer package layout, also in checkout step 1, fixed missing registration language strings, registration error handling, email verification redirect, email verification error handling and messaging, 2025-11-19 20:21:54 +01:00
Codex Agent
574aa47ce7 Add guest push notifications and queue alerts 2025-11-12 20:42:46 +01:00
Codex Agent
4495ac1895 feat: add guest notification center 2025-11-12 16:56:50 +01:00
Codex Agent
1cec116933 reworked the guest pwa, modernized start and gallery page. added share link functionality. 2025-11-10 22:25:25 +01:00
Codex Agent
2587b2049d im profil kann ein nutzer nun seine daten exportieren. man kann seinen account löschen. nach 2 jahren werden inaktive accounts gelöscht, 1 monat vorher wird eine email geschickt. Hilfetexte und Legal Pages in der Guest PWA korrigiert und vom layout her optimiert (dark mode). 2025-11-10 19:55:46 +01:00
Codex Agent
447a90a742 added a help system, replaced the words "tenant" and "Pwa" with better alternatives. corrected and implemented cron jobs. prepared going live on a coolify-powered system. 2025-11-10 16:23:09 +01:00
Codex Agent
7ec3db9c59 added "members" for an event that help the admins to moderate. members must be invited via email. 2025-11-09 22:24:40 +01:00
Codex Agent
082b78cd43 coupon code system eingeführt. coupons werden vom super admin gemanaged. coupons werden mit paddle synchronisiert und dort validiert. plus: einige mobil-optimierungen im tenant admin pwa. 2025-11-09 20:26:50 +01:00
Codex Agent
67affd3317 stage 2 of oauth removal, switch to sanctum pat tokens completed, docs updated 2025-11-07 07:46:53 +01:00
Codex Agent
776da57ca9 stage 1 of oauth removal, switch to sanctum pat tokens 2025-11-06 20:35:58 +01:00
Codex Agent
b32413b108 completed the frontend dashboard component and bound it to the tenant admin pwa for the optimal onboarding experience.. Added a profile page. 2025-11-04 22:28:37 +01:00
Codex Agent
fe380689fb die tenant admin oauth authentifizierung wurde implementiert und funktioniert jetzt. Zudem wurde das marketing frontend dashboard implementiert. 2025-11-04 16:14:17 +01:00
Codex Agent
55c606bdd4 das marketing frontend wurde auf lokalisierte urls umgestellt. 2025-11-03 15:50:10 +01:00
Codex Agent
20eda6b4f8 login-seiten neu designt, homepage neu designt. "so funktioniert's" ergänzt und Demo-Seite hinzugefügt. Paketansicht in mobile verbessert. 2025-11-03 11:47:19 +01:00
Codex Agent
792b5dfe8b verbesserung von benachrichtungen und warnungen an nutzer abgeschlossen. layout editor nun auf gutem stand. 2025-11-02 11:11:13 +01:00
Codex Agent
8e6c66f0db layouts schick gemacht und packagelimits weiter implementiert 2025-11-01 22:55:13 +01:00
Codex Agent
79b209de9a Limit-Status im Upload-Flow anzeigen (Warnbanner + Sperrzustände).
Upload-Fehlercodes auswerten und freundliche Dialoge zeigen.
2025-11-01 19:50:17 +01:00
Codex Agent
eb0c31c90b zu fabricjs gewechselt, noch nicht funktionsfähig 2025-10-31 20:19:09 +01:00
Codex Agent
a7bbf230fd feat: extend event toolkit and polish guest pwa 2025-10-28 18:28:22 +01:00