- Wired the checkout wizard for Google “comfort login”: added Socialite controller + dependency, new Google env

hooks in config/services.php/.env.example, and updated wizard steps/controllers to store session payloads,
attach packages, and surface localized success/error states.
- Retooled payment handling for both Stripe and PayPal, adding richer status management in CheckoutController/
PayPalController, fallback flows in the wizard’s PaymentStep.tsx, and fresh feature tests for intent
creation, webhooks, and the wizard CTA.
- Introduced a consent-aware Matomo analytics stack: new consent context, cookie-banner UI, useAnalytics/
useCtaExperiment hooks, and MatomoTracker component, then instrumented marketing pages (Home, Packages,
Checkout) with localized copy and experiment tracking.
- Polished package presentation across marketing UIs by centralizing formatting in PresentsPackages, surfacing
localized description tables/placeholders, tuning badges/layouts, and syncing guest/marketing translations.
- Expanded docs & reference material (docs/prp/*, TODOs, public gallery overview) and added a Playwright smoke
test for the hero CTA while reconciling outstanding checklist items.
This commit is contained in:
Codex Agent
2025-10-19 11:41:03 +02:00
parent ae9b9160ac
commit a949c8d3af
113 changed files with 5169 additions and 712 deletions

View File

@@ -4,6 +4,7 @@
"hero_title": "Fotospiel",
"hero_description": "Collect guest photos for events with QR codes. Our secure PWA platform for guests and organizers simple, mobile, and privacy-compliant. Better than competitors, loved by thousands.",
"cta_explore": "Discover Packages",
"cta_explore_highlight": "Get started now",
"hero_image_alt": "Event photos with QR code",
"how_title": "How it works",
"step1_title": "Choose Package",
@@ -52,6 +53,7 @@
"hero_title": "Discover our flexible Packages",
"hero_description": "From free entry to premium features: Tailor your event package to your needs. Simple, secure, and scalable.",
"cta_explore": "Discover Packages",
"cta_explore_highlight": "Explore top packages",
"tab_endcustomer": "End Customers",
"tab_reseller": "Resellers & Agencies",
"section_endcustomer": "Packages for End Customers (One-time purchase per event)",
@@ -105,8 +107,16 @@
"feature_overview": "Feature overview",
"order_hint": "Launch instantly secure Stripe or PayPal checkout, no hidden fees.",
"features_label": "Features",
"feature_highlights": "Feature Highlights",
"more_details_tab": "More Details",
"quick_facts": "Quick Facts",
"quick_facts_hint": "Your at-a-glance snapshot of core limits.",
"more_details_link": "See even more details",
"badge_deep_dive": "Deep Dive",
"breakdown_label": "At-a-glance",
"breakdown_label_hint": "Dive deeper into how the package is structured.",
"limits_label": "Limits & Capacity",
"limits_label_hint": "Understand the exact limits for planning and approvals.",
"for_endcustomers": "For End Customers",
"for_resellers": "For Resellers",
"details_show": "Show Details",
@@ -372,7 +382,12 @@
"next_to_payment": "Next to Payment",
"switch_to_register": "Register",
"switch_to_login": "Login",
"google_coming_soon": "Google Login coming soon in Comfort-Delta."
"continue_with_google": "Continue with Google",
"google_success_toast": "Signed in with Google.",
"google_error_title": "Google login failed",
"google_missing_package": "Please choose a package before using Google login.",
"google_missing_email": "We could not retrieve your Google email address.",
"google_error_fallback": "We couldn't complete the Google login. Please try again."
},
"payment_step": {
"title": "Payment",
@@ -383,6 +398,7 @@
"activate_package": "Activate Package",
"loading_payment": "Payment data is loading...",
"secure_payment_desc": "Secure payment with credit card, debit card or SEPA direct debit.",
"secure_paypal_desc": "Pay securely with PayPal.",
"payment_failed": "Payment failed. ",
"error_card": "Card error occurred.",
"error_validation": "Input data is invalid.",
@@ -398,7 +414,23 @@
"pay_now": "Pay Now (${price})",
"stripe_not_loaded": "Stripe is not initialized. Please reload the page.",
"network_error": "Network error loading payment data",
"payment_intent_error": "Error loading payment data"
"payment_intent_error": "Error loading payment data",
"paypal_order_error": "Could not create the PayPal order. Please try again.",
"paypal_capture_error": "PayPal capture failed. Please try again.",
"paypal_error": "PayPal reported an error.",
"paypal_cancelled": "You cancelled the PayPal payment.",
"paypal_missing_plan": "Missing PayPal plan configuration for this package. Please choose another payment method.",
"auth_required": "Please log in to continue to payment.",
"status_loading": "Preparing secure payment data…",
"status_ready": "Payment form ready. Enter your details to continue.",
"status_processing": "Processing payment with {{provider}}…",
"status_success": "Payment confirmed. Finalising your order…",
"status_info_title": "Payment status",
"status_error_title": "Payment failed",
"status_success_title": "Payment completed",
"status_retry": "Retry",
"method_stripe": "Credit Card (Stripe)",
"method_paypal": "PayPal"
},
"confirmation_step": {
"title": "Confirmation",
@@ -421,7 +453,12 @@
"already_logged_in": "You are already logged in as {email}.",
"switch_to_register": "Register",
"switch_to_login": "Login",
"google_coming_soon": "Google Login coming soon in Comfort-Delta."
"continue_with_google": "Continue with Google",
"google_success_toast": "Signed in with Google.",
"google_error_title": "Google login failed",
"google_missing_package": "Please choose a package before using Google login.",
"google_missing_email": "We could not retrieve your Google email address.",
"google_error_fallback": "We couldn't complete the Google login. Please try again."
}
}
}