{{--
Кнопка «в избранное» (ТЗ §12.2).
Обычная форма POST: без JavaScript она отправляется как раньше и страница
перезагружается. Со скриптом та же форма уходит фоном, кнопка меняет вид
на месте, а счётчик в шапке обновляется ответом сервера.
Гостю без входа кнопка предлагает войти, а не молча ничего не делает.
Два вида по макету: `overlay` — кружок 36 px поверх фотографии в карточке,
обычный — кнопка рядом с другими на странице заведения.
--}}
@props([
'venue',
'isFavorite' => false,
'label' => false,
'overlay' => false,
])
@php
$guest = auth('guest')->user();
$base = $overlay
? 'inline-grid size-9 place-items-center rounded-pill bg-white/[.92] transition-colors'
: 'btn';
// Начальный вид рисует сервер, дальше теми же классами его переключает
// Alpine — иначе после нажатия кнопка осталась бы прежней.
$state = $overlay
? ($isFavorite ? 'text-primary' : 'text-ink-30 hover:text-primary')
: ($isFavorite ? 'btn-tonal' : 'btn-secondary');
@endphp
@if ($guest === null)
merge(['class' => $base.' '.$state.' no-underline hover:no-underline']) }}>