{#- Add/remove a title from the visitor's list (kept in localStorage). Expects: item; optional: variant (glass|outline), small, icon_only -#}
{%- set payload = { id: item.id, title: item.title, url: item.url, poster: item.poster_sm ?: item.poster, year: item.year, type: item.type_label } -%}
{%- set cls = 'bk-btn bk-btn--' ~ variant|default('outline') ~ (small|default(false) ? ' bk-btn--sm' : '') ~ (icon_only|default(false) ? ' bk-btn--icon' : '') -%}
<button type="button" class="{{ cls }}" x-data="mkWatch({{ payload|json_encode }})" @click="toggle()" :class="{ 'is-on': saved }" :aria-pressed="saved.toString()"{% if icon_only|default(false) %} aria-label="{{ t('Add to Watchlist') }}"{% endif %} x-cloak>
    <span x-show="!saved" class="contents">{{ icon('plus', small|default(false) ? 'size-4' : 'size-5') }}</span>
    <span x-show="saved" class="contents">{{ icon('check', small|default(false) ? 'size-4' : 'size-5') }}</span>
    {%- if not icon_only|default(false) -%}
        <span x-show="!saved"><span class="max-[430px]:hidden">{{ t('Add to') }} </span>{{ t('Watchlist') }}</span>
        <span x-show="saved">{{ t('In Watchlist') }}</span>
    {%- endif -%}
</button>
