{# Shared UI macros for parameterized primitives. Use `{% include %}` for context-sharing partials (site_header, admin_nav). Use these macros for parameterized shapes (empty state, etc). Convention: import once at the top of a template as `ui`: {%- import "partials/_ui.html" as ui -%} then call: {% call ui::empty_state("No items yet", "Create one to get started.") %} #} {% macro empty_state(title, body) -%}
{% if !title.is_empty() %}

{{ title }}

{% endif %}

{{ body }}

{%- endmacro %} {% macro empty_state_with_action(title, body, action_href, action_label) -%}
{% if !title.is_empty() %}

{{ title }}

{% endif %}

{{ body }}

{{ action_label }}

{%- endmacro %} {% macro empty_state_compact(body) -%}

{{ body }}

{%- endmacro %} {% macro empty_state_chart(body) -%}
{{ body }}
{%- endmacro %}