diff --git a/public/lang/de/marketing.json b/public/lang/de/marketing.json index d4c0fe1..420cf4a 100644 --- a/public/lang/de/marketing.json +++ b/public/lang/de/marketing.json @@ -108,16 +108,20 @@ "standard_support": "Standard-Support", "priority_support": "Priorisierter Support", "cancel_link": "Paket verwalten: :link", + "hero_kicker": "Pakete, die mit eurem Event mitwachsen", "hero_title": "Entdecken Sie unsere flexiblen Packages", "hero_description": "Von kostenlosem Einstieg bis Premium-Features: Passen Sie Ihr Event-Paket an Ihre Bedürfnisse an. Einfach, sicher und skalierbar.", "hero_secondary": "Teste den kompletten Gäste-Flow in unserer Live-Demo – kein Login, kein App-Store.", "cta_demo": "Demo ansehen", "cta_explore": "Pakete entdecken", "cta_explore_highlight": "Lieblingspaket sichern", + "gift_cta": "Paket verschenken", "tab_endcustomer": "Endkunden", "tab_reseller": "Partner / Agentur", "section_endcustomer": "Packages für Endkunden (Einmalkauf pro Event)", "section_reseller": "Packages für Partner / Agenturen (Event-Kontingent)", + "bundles_title": "Partner & Agentur Bundles", + "bundles_description": "Event-Kontingente für Profis. Inklusive Partner-Dashboard und priorisiertem Support.", "free": "Kostenlos", "one_time": "Einmalkauf", "subscription": "Event-Kontingent", @@ -167,7 +171,9 @@ "feature_photobooth_connect": "Photobooth-Anbindung (Windows, macOS & Linux)", "badge_most_popular": "Beliebteste Wahl", "badge_best_value": "Bestes Preis-Leistungs-Verhältnis", + "badge_recommended": "Empfehlung", "badge_starter": "Perfekt für den Start", + "events_badge": "{{count}} Events", "billing_per_event": "pro Event", "billing_per_year": "pro Jahr", "billing_per_kontingent": "pro Kontingent", @@ -199,6 +205,15 @@ "view_details": "Details", "details_show": "Details anzeigen", "comparison_title": "Packages vergleichen", + "calculator_title": "Noch unschlüssig?", + "calculator_description": "Nutzen Sie unseren Kalkulator, um das passende Paket basierend auf Ihrer Gästeanzahl zu finden.", + "calculator_question": "Wie viele Gäste erwarten Sie?", + "calculator_hint": "Bewegen Sie den Regler und erhalten Sie eine Paket-Empfehlung.", + "calculator_min_label": "1 Gast", + "calculator_max_label": "{{count}}+ Gäste", + "calculator_recommendation": "Wir empfehlen", + "calculator_recommendation_hint": "Ideal für bis zu {{count}} Gäste.", + "calculator_recommendation_hint_unlimited": "Ideal für Events mit beliebig vielen Gästen.", "comparison_subtitle": "Alle Limits und Features auf einen Blick.", "comparison_hint": "Wähle deine Zielgruppe und scrolle durch die Karten. Die Tabelle zeigt genaue Unterschiede.", "comparison_limits": "Limits", diff --git a/public/lang/en/marketing.json b/public/lang/en/marketing.json index 92f6db8..d9f8d2d 100644 --- a/public/lang/en/marketing.json +++ b/public/lang/en/marketing.json @@ -95,16 +95,20 @@ "unlimited_events": "Unlimited Events", "priority_support": "Priority Support", "cancel_link": "Manage package: :link", + "hero_kicker": "Packages that scale with your event", "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.", "hero_secondary": "Experience the full guest flow in our live demo – no login, no install.", "cta_demo": "View demo", "cta_explore": "Discover Packages", "cta_explore_highlight": "Explore top packages", + "gift_cta": "Gift a package", "tab_endcustomer": "End Customers", "tab_reseller": "Partner / Agency", "section_endcustomer": "Packages for End Customers (One-time purchase per event)", "section_reseller": "Packages for Partner / Agencies (Event bundle)", + "bundles_title": "Partner & Agency Bundles", + "bundles_description": "Event bundles for agencies. Includes partner dashboard and priority support.", "free": "Free", "one_time": "One-time purchase", "subscription": "Event bundle", @@ -154,8 +158,11 @@ "feature_photobooth_connect": "Photobooth integration (Windows, macOS & Linux)", "badge_most_popular": "Most Popular", "badge_best_value": "Best Value", + "badge_recommended": "Recommended", "badge_starter": "Perfect Starter", + "events_badge": "{{count}} events", "billing_per_event": "per event", + "billing_per_kontingent": "per bundle", "billing_per_year": "per year", "billing_per_bundle": "per bundle", "more_features": "+{{count}} more features", @@ -185,6 +192,15 @@ "view_details": "Details", "details_show": "Show Details", "comparison_title": "Compare Packages", + "calculator_title": "Still unsure?", + "calculator_description": "Use our calculator to find the right package based on your guest count.", + "calculator_question": "How many guests are you expecting?", + "calculator_hint": "Move the slider to get a package recommendation.", + "calculator_min_label": "1 guest", + "calculator_max_label": "{{count}}+ guests", + "calculator_recommendation": "We recommend", + "calculator_recommendation_hint": "Ideal for up to {{count}} guests.", + "calculator_recommendation_hint_unlimited": "Ideal for events with unlimited guests.", "comparison_subtitle": "Every limit and feature side by side.", "comparison_hint": "Pick your audience and slide through the cards. The table surfaces the fine print.", "comparison_limits": "Limits", diff --git a/resources/js/pages/marketing/Packages.tsx b/resources/js/pages/marketing/Packages.tsx index 78c17be..57b0cde 100644 --- a/resources/js/pages/marketing/Packages.tsx +++ b/resources/js/pages/marketing/Packages.tsx @@ -14,10 +14,9 @@ import { Separator } from '@/components/ui/separator'; import { cn } from '@/lib/utils'; import MarketingLayout from '@/layouts/mainWebsite'; import { useAnalytics } from '@/hooks/useAnalytics'; -import { useCtaExperiment } from '@/hooks/useCtaExperiment'; import { useLocalizedRoutes } from '@/hooks/useLocalizedRoutes'; import { useLocale } from '@/hooks/useLocale'; -import { ArrowRight, Check, Headphones, LayoutGrid, Star } from 'lucide-react'; +import { ArrowRight, Check, Gift, Headphones, LayoutGrid, Star } from 'lucide-react'; import toast from 'react-hot-toast'; import { motion, useReducedMotion } from 'framer-motion'; @@ -341,10 +340,6 @@ const Packages: React.FC = ({ endcustomerPackages, resellerPackag const { t: tCommon } = useTranslation('common'); const { flash } = usePage<{ flash?: { error?: string } }>().props; const shouldReduceMotion = useReducedMotion(); - const { - variant: packagesHeroVariant, - trackClick: trackPackagesHeroClick, - } = useCtaExperiment('packages_hero_cta'); const viewportOnce = { once: true, amount: 0.25 }; const revealUp = { @@ -1187,74 +1182,43 @@ const PackageDetailGrid: React.FC = ({ return ( -
+
- -

- {t('packages.for_endcustomers')} · {t('packages.for_resellers')} + +

+ {t('packages.hero_kicker')}

-

+

{t('packages.hero_title')}

-

+

{t('packages.hero_description')}

- - - - + + + + {t('packages.gift_cta')} + + - - {t('packages.hero_secondary')} -
-
+
-
+
= ({ {t('packages.tab_reseller')} -

{t('packages.comparison_hint')}

@@ -1301,25 +1264,32 @@ const PackageDetailGrid: React.FC = ({
- {orderedEndcustomerPackages.map((pkg) => ( - - handleCardClick(selected, 'endcustomer')} - onCtaClick={handleCtaClick} - className="h-full" - compact - /> - - ))} + {orderedEndcustomerPackages.map((pkg) => { + const isHighlight = pkg.id === highlightEndcustomerId; + + return ( + + handleCardClick(selected, 'endcustomer')} + onCtaClick={handleCtaClick} + className={cn( + 'h-full', + isHighlight && 'md:scale-[1.08] md:-translate-y-6 md:z-10', + )} + compact={!isHighlight} + /> + + ); + })}
diff --git a/resources/lang/de/marketing.json b/resources/lang/de/marketing.json index eb4ff06..1ef3d32 100644 --- a/resources/lang/de/marketing.json +++ b/resources/lang/de/marketing.json @@ -43,9 +43,11 @@ }, "packages": { "title": "Unsere Packages", + "hero_kicker": "Pakete, die mit eurem Event mitwachsen", "hero_title": "Entdecken Sie unsere flexiblen Packages", "hero_description": "Von kostenlosem Einstieg bis Premium-Features: Passen Sie Ihr Event-Paket an Ihre Bedürfnisse an. Einfach, sicher und skalierbar.", "cta_explore": "Pakete entdecken", + "gift_cta": "Paket verschenken", "tab_endcustomer": "Endkunden", "tab_reseller": "Partner / Agentur", "section_endcustomer": "Packages für Endkunden (Einmalkauf pro Event)", diff --git a/resources/lang/en/marketing.json b/resources/lang/en/marketing.json index ea5d27d..31b10d4 100644 --- a/resources/lang/en/marketing.json +++ b/resources/lang/en/marketing.json @@ -43,9 +43,11 @@ }, "packages": { "title": "Our Packages", + "hero_kicker": "Packages that scale with your event", "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", + "gift_cta": "Gift a package", "tab_endcustomer": "End Customers", "tab_reseller": "Partner / Agency", "section_endcustomer": "Packages for End Customers (One-time purchase per Event)",