{{-- Subscription Pricing Box (with billing cycle toggle) --}} {{-- All data is prepared by ProductService - no business logic in theme --}}
{{-- Inject Product Config for JS --}} @if(isset($pricingData['product_config'])) @endif {{-- Billing Cycle Switcher --}}
@foreach($billingTiers as $cycleId => $tier) @if($tier) @endif @endforeach

@lang('shop.Select Plan')

@foreach($pricingData['plans'] as $index => $plan) @php $planTiers = collect($plan['pricing_tiers']); $isDefault = $plan['is_default'] || ($index === 0 && !$pricingData['plans']->contains('is_default', true)); // Get list of supported cycle IDs for this plan $supportedCycles = $planTiers->map(function($t) { return $t['billing_cycle'] ?: 'onetime'; })->implode(','); @endphp {{-- Plan Radio Card --}}
$tier) @if($tier) @php // Match plan tier by Cycle ID $planTier = $planTiers->first(function($t) use ($cycleId) { $tCycleId = $t['billing_cycle'] ?: 'onetime'; return $tCycleId == $cycleId; }); @endphp data-price-{{ $cycleId }}="{{ $planTier ? number_format($planTier['price'], 2, '.', '') : '0.00' }}" data-tier-{{ $cycleId }}="{{ $planTier ? $planTier['id'] : '' }}" @endif @endforeach >
@endforeach
{{-- Hidden input for selected pricing tier --}} @php // Find default tier ID based on default cycle $defaultTier = null; if ($pricingData['default_billing_cycle'] && isset($billingTiers[$pricingData['default_billing_cycle']])) { $defaultTier = $billingTiers[$pricingData['default_billing_cycle']]; } elseif ($billingTiers->isNotEmpty()) { $defaultTier = $billingTiers->first(); } $defaultTierId = $defaultTier ? $defaultTier['id'] : ''; @endphp {{-- Enhanced Add-ons Section --}} @php $currentTierAddons = isset($pricingData['addons_by_tier'][$defaultTierId]) ? $pricingData['addons_by_tier'][$defaultTierId] : []; @endphp @if(count($pricingData['available_addons'] ?? []) > 0)

@lang('shop.Optional Add-ons')

@foreach($pricingData['available_addons'] as $addonId => $addon) @php $isAvailable = isset($addon['tier_pricing'][$defaultTier['id']]); $addonTierData = $isAvailable ? $addon['tier_pricing'][$defaultTier['id']] : null; @endphp
@endforeach
@endif {{-- Total Due Today --}}
@lang('shop.Total Due Today') ${{ $defaultTier ? number_format($defaultTier['price'], 2) : '0.00' }}

@lang('shop.Renews automatically. Cancel anytime.')

{{-- Subscribe Button --}}