Actualiza tu plan.

Escoge el plan que más se adapte a tu necesidad y comienza a crear experiencias

@foreach ($sections as $pindex => $planSection) @continue(empty($planSection['plan']) || !(bool) data_get($planSection['plan'], 'is_visible', true)) @php $plan = $planSection['plan']; $visualConfig = $plan->visualConfig; $features = $planSection['features'] ?? collect(); // Configuración visual dinámica con fallbacks $badgeIcon = $visualConfig?->badge_icon ?? null; $priceBgColor = $visualConfig?->price_bg_color ?? '#6c757d'; $buttonText = $visualConfig?->button_text ?? 'Seleccionar'; $buttonColor = $visualConfig?->button_color ?? '#0d6efd'; $checkIcon = $visualConfig?->check_icon ?? asset('img/home-panel/icon-check.svg'); $highlightColor = $visualConfig?->highlight_color ?? null; // Separar características normales y destacadas $normalFeatures = $features->where('is_highlighted', false); $highlightedFeatures = $features->where('is_highlighted', true); $allFeatures = $normalFeatures->concat($highlightedFeatures); // Dividir en 3 columnas para desktop $chunks = $allFeatures->chunk(ceil($allFeatures->count() / 3)); @endphp
@if($visualConfig?->featured_label)
{{ $visualConfig->featured_label }}
@endif
{{ $plan->name }} @if($badgeIcon) badge @endif
@if($plan->prices->count() > 0) @php $firstPrice = $plan->prices[0]; $currencyCode = null; if(isset($firstPrice->currency) && $firstPrice->currency){ $currencyCode = $firstPrice->currency->code ?? null; } elseif(!empty($firstPrice->currency_id)) { $cur = \App\Models\Currency::find($firstPrice->currency_id); $currencyCode = $cur ? $cur->code : null; } // Determinar si la invitación tiene plan FREE $currentPlanName = strtolower((string)($invitation->plan->name ?? 'free')); $isFreePlan = $currentPlanName === 'free' || !$invitation->plan; // Lógica de precios: // - Plan FREE: mostrar special_offer si existe, sino price normal // - Otros planes: mostrar upgrade_price si existe, sino price normal $finalPrice = $firstPrice['price']; $showOriginalPrice = false; if($isFreePlan){ // Usuario con plan FREE ve special_offer if(!empty($firstPrice['special_offer'])){ $finalPrice = $firstPrice['special_offer']; $showOriginalPrice = true; } } else { // Usuario con plan pago ve upgrade_price if(!empty($firstPrice['upgrade_price'])){ $finalPrice = $firstPrice['upgrade_price']; $showOriginalPrice = true; } } @endphp @if($showOriginalPrice) @include('partials.price_label', ['amount' => $firstPrice['price'], 'currency' => $currencyCode]) @endif
@include('partials.price_label', ['amount' => $finalPrice, 'currency' => $currencyCode])
@else
Gratis
@endif

Pago único por evento

@if($plan->prices->count() > 0) {{ $buttonText }} @endif
@if($allFeatures->isNotEmpty()) @foreach($chunks as $chunk)
    @foreach($chunk as $feature)
  • @if($feature->icon && str_starts_with($feature->icon, 'bi-')) is_highlighted && $highlightColor) style="color: {{ $highlightColor }};" @endif> @elseif($feature->is_highlighted && $highlightColor) @else @endif {{ $feature->title }}
    @if($feature->description)

    {{ $feature->description }}

    @endif
  • @endforeach
@endforeach @endif
@if($allFeatures->isNotEmpty())
    @foreach($allFeatures as $feature)
  • @if($feature->icon && str_starts_with($feature->icon, 'bi-')) is_highlighted && $highlightColor) style="color: {{ $highlightColor }};" @endif> @elseif($feature->is_highlighted && $highlightColor) @else @endif {{ $feature->title }}
    @if($feature->description)

    {{ $feature->description }}

    @endif
  • @endforeach
@endif
@if($plan->prices->count() > 0) {{ $buttonText }} @endif
@endforeach
@script @endscript