{# 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 %}