{#
Reusable premium badge.
Two entry points:
* premium_badge(user, label, size)
Self-deciding — renders only when `user` currently has active premium
(checked via the `show_premium_badge` Jinja global → permissions layer).
Use on SINGLE-seller surfaces: profile, listing detail, chat header.
* premium_badge_pill(label, size)
Renders the pill unconditionally. Use on LISTING GRIDS where premium
status has already been resolved in bulk (one query per page) and the
caller decides whether to show it, e.g.:
{% if listing.seller_id in premium_ids %}
{{ premium_badge_pill('Premium Seller', 'sm') }}
{% endif %}
#}
{% macro premium_badge_pill(label='Premium Seller', size='') -%}
{{ label }}
{%- endmacro %}
{% macro premium_badge(user, label='Premium Seller', size='') -%}
{%- if user and show_premium_badge(user) -%}{{ premium_badge_pill(label, size) }}{%- endif -%}
{%- endmacro %}
{#
Featured badge — a gold pill, intentionally distinct from the (blue) premium
seller badge. A listing may show BOTH. Render only when a listing is featured:
{% if listing.is_featured %}{{ featured_badge() }}{% endif %}
#}
{% macro featured_badge(size='') -%}
Featured
{%- endmacro %}