@extends('marketing.layout') @section('title', __('marketing.pricing_page_title', ['app' => $appName])) @section('description', __('marketing.pricing_page_description', ['days' => $trialDays])) @push('head') @endpush @section('content')

{{ __('marketing.pricing_h1') }}

{{ __('marketing.pricing_intro', ['days' => $trialDays]) }}

@foreach($plans as $key => $plan) @php $limits = $plan['limits'] ?? []; $features = $plan['features'] ?? []; $planCurrency = strtoupper($plan['currency'] ?? \App\Support\Currency::default()); $planPrice = (float) ($plan['price'] ?? 0); @endphp
@if($plan['highlight'] ?? false)
{{ __('marketing.pricing_most_popular') }}
@endif

{{ $plan['name'] }}

{{ $plan['description'] ?? '' }}

@php // Translator-first interval label so "/month" and // "billed monthly" render in tenant locale instead of // leaking the raw slug. Two lookups: short form for the // price suffix, "ly" form for the billing-cadence line. $prIntervalSlug = $plan['interval'] ?? 'month'; $prKeyShort = 'marketing.interval_' . $prIntervalSlug; $prTransShort = __($prKeyShort); $prLabelShort = (is_string($prTransShort) && $prTransShort !== $prKeyShort) ? $prTransShort : __('marketing.pricing_per'); $prKeyLong = 'marketing.interval_' . $prIntervalSlug . 'ly'; $prTransLong = __($prKeyLong); $prLabelLong = (is_string($prTransLong) && $prTransLong !== $prKeyLong) ? $prTransLong : __('marketing.interval_monthly'); @endphp
{{ \App\Support\Currency::format($planPrice, $planCurrency) }} /{{ $prLabelShort }}
{{ __('marketing.pricing_interval_billed', ['interval' => $prLabelLong]) }}
  • {{ ($limits['max_seats'] ?? 0) === -1 ? __('marketing.pricing_unlimited_seats') : __('marketing.pricing_seats_count', ['count' => $limits['max_seats'] ?? 0]) }}
  • {{ ($limits['max_leads'] ?? 0) === -1 ? __('marketing.pricing_unlimited_leads') : __('marketing.pricing_leads_count', ['count' => number_format($limits['max_leads'] ?? 0)]) }}
  • {{ ($limits['max_forms'] ?? 0) === -1 ? __('marketing.pricing_unlimited_forms') : __('marketing.pricing_forms_count', ['count' => $limits['max_forms'] ?? 0]) }}
  • {{ ($limits['max_pipelines'] ?? 0) === -1 ? __('marketing.pricing_unlimited_pipelines') : __('marketing.pricing_pipelines_count', ['count' => $limits['max_pipelines'] ?? 0]) }}
  • {{ __('marketing.pricing_feat_integrations') }}
  • {{ __('marketing.pricing_feat_api_access') }}
  • {{-- Custom-domain feature row temporarily removed: the custom-domain page is disabled until host-based serving is implemented (see DomainSettingsPage::canAccess). Re-add this
  • with __('marketing.pricing_feat_custom_domain') to restore it. --}}
  • {{ __('marketing.pricing_feat_white_label') }}
  • {{ __('marketing.pricing_feat_priority_support') }}
@if($canSignUp) {{ __('marketing.pricing_start_trial') }} @else {{ __('marketing.pricing_signin') }} @endif
@endforeach

{{ __('marketing.pricing_faq_heading') }}

{{ __('marketing.pricing_faq1_q') }}

{{ __('marketing.pricing_faq1_a', ['days' => $trialDays]) }}

{{ __('marketing.pricing_faq2_q') }}

{{ __('marketing.pricing_faq2_a') }}

{{ __('marketing.pricing_faq3_q') }}

{{ __('marketing.pricing_faq3_a') }}

{{ __('marketing.pricing_faq4_q') }}

{{ __('marketing.pricing_faq4_a') }}

@endsection