{#- chirp-ui: Forum and social pattern assets Default community/forum patterns for topic lists, answer states, and moderation queues. App-owned ranking, permissions, trust, and moderation policy stays outside ChirpUI. -#} {% from "chirpui/badge.html" import badge %} {% from "chirpui/button.html" import btn %} {% from "chirpui/card.html" import card, resource_card %} {% from "chirpui/layout.html" import cluster %} {% def topic_card(href, title, description=none, category=none, state=none, state_variant="muted", replies=none, views=none, latest_label=none, latest_href=none, actor=none, meta=none, cls="") %} {% call resource_card(href, title, description=description, top_meta=category, link_mode="main", cls="chirpui-topic-card" ~ (" " ~ cls if cls else "")) %} {% slot badges %} {% if state %}{{ badge(state, variant=state_variant) }}{% endif %} {% yield badges %} {% end %} {% slot footer %}
{% end %} {% end %} {% end %} {% def answer_card(title="Answer", accepted=false, closed=false, author=none, href=none, cls="") %} {% set variant = "success" if accepted else ("muted" if closed else "default") %} {% call card(title=title, subtitle=author, variant=variant, icon="status", cls="chirpui-answer-card" ~ (" " ~ cls if cls else "")) %} {% slot header_actions %} {% if accepted %}{{ badge("accepted", variant="success") }}{% endif %} {% if closed %}{{ badge("closed", variant="muted") }}{% endif %} {% yield header_actions %} {% end %}