feat: CTA dos cards e faixa de modalidades enviam ao WhatsApp com mensagem por pacote

Campo whatsapp_message editável por modalidade (Filament) com fallback para
template padrão. Cards da home, faixa 'Conversar com a Amare' e CTA final
da página de detalhe abrem o WhatsApp diretamente quando número configurado,
mantendo briefing como fallback.
This commit is contained in:
2026-08-12 10:11:06 -03:00
parent 08c6d62498
commit 400c147a74
10 changed files with 134 additions and 8 deletions

View File

@@ -15,7 +15,9 @@
])
@php
$bandHref = $bandCtaHref ?? route('briefing');
$bandLink = $bandCtaHref
? ['href' => $bandCtaHref, 'isWhatsapp' => false]
: \App\Support\PackageContactLink::generic($settings);
@endphp
<section
aria-labelledby="packages-heading"
@@ -52,7 +54,7 @@
</ul>
</div>
<div class="space-y-5">
@php($contactLink = $ctaRoute ? null : \App\Support\PackageContactLink::for($settings, $package->name))
@php($contactLink = $ctaRoute ? null : \App\Support\PackageContactLink::for($settings, $package->name, $package->whatsapp_message))
<a
href="{{ $ctaRoute ? route($ctaRoute) : $contactLink['href'] }}"
@if ($ctaRoute === null && $contactLink['isWhatsapp']) target="_blank" rel="noopener noreferrer" @endif
@@ -77,7 +79,11 @@
<h3 class="text-[clamp(1.5625rem,2.7vw,2.125rem)] font-medium leading-tight">Ainda não sabe qual modalidade é ideal?</h3>
<p class="text-amare-accent-text/80">{{ $bandBody }}</p>
</div>
<a href="{{ $bandHref }}" class="inline-flex min-h-[48px] items-center justify-center self-start border border-amare-accent-text px-6 text-xs font-bold uppercase tracking-[0.09em] text-amare-accent-text transition-colors hover:bg-amare-accent-text hover:text-amare-accent-deep md:self-auto">
<a
href="{{ $bandLink['href'] }}"
@if ($bandLink['isWhatsapp']) target="_blank" rel="noopener noreferrer" @endif
class="inline-flex min-h-[48px] items-center justify-center self-start border border-amare-accent-text px-6 text-xs font-bold uppercase tracking-[0.09em] text-amare-accent-text transition-colors hover:bg-amare-accent-text hover:text-amare-accent-deep md:self-auto"
>
Conversar com a Amare
</a>
</div>

View File

@@ -8,7 +8,7 @@
@else
<ol class="grid gap-8 border-t border-amare-border pt-6 md:grid-cols-3">
@foreach ($packages as $package)
@php($contactLink = \App\Support\PackageContactLink::for($settings, $package->name))
@php($contactLink = \App\Support\PackageContactLink::for($settings, $package->name, $package->whatsapp_message))
<li class="space-y-5 border-t border-amare-border pt-4" data-reveal data-reveal-from="up"><p class="text-xs font-semibold uppercase tracking-[.14em] text-amare-accent">{{ $package->level }}</p><h3 class="text-3xl font-medium">{{ $package->name }}</h3><p class="text-amare-muted">{{ $package->summary }}</p><ul class="space-y-2 text-sm text-amare-text-muted">@foreach ($package->scope_items as $item)<li class="border-l border-amare-border pl-3">{{ $item }}</li>@endforeach</ul><div class="space-y-2"><a href="{{ $contactLink['href'] }}" @if ($contactLink['isWhatsapp']) target="_blank" rel="noopener" @endif class="btn btn-ghost min-h-0 px-0 text-sm font-semibold text-amare-accent hover:bg-transparent hover:text-amare-accent-deep"><span class="border-b border-amare-accent pb-1">{{ $package->cta_label }}</span></a><a href="{{ route('packages.show', $package->slug) }}" class="btn btn-ghost min-h-0 px-0 text-sm font-semibold text-amare-accent hover:bg-transparent hover:text-amare-accent-deep"><span class="border-b border-amare-accent pb-1">Conhecer esta modalidade</span></a></div></li>
@endforeach
</ol>

View File

@@ -3,10 +3,11 @@
'heading' => null,
'body' => null,
'packageName' => null,
'packageMessage' => null,
])
@php
$link = \App\Support\PackageContactLink::for($settings, $packageName ?? '');
$link = \App\Support\PackageContactLink::for($settings, $packageName ?? '', $packageMessage);
@endphp
<section aria-labelledby="final-cta-heading" class="border-b border-amare-border bg-amare-bg py-20 md:py-24" data-chapter="final-cta" data-reveal-group>

View File

@@ -31,5 +31,6 @@
:heading="$package->final_cta_heading"
:body="$package->final_cta_body"
:package-name="$package->name"
:package-message="$package->whatsapp_message"
/>
@endsection