{# Reusable table macros for Nautilus Admin UI #} {% macro render_table(headers, rows) %}
{% for header in headers %} {% endfor %} {% if rows %} {% for row in rows %} {% for cell in row %} {% endfor %} {% endfor %} {% else %} {% endif %}
{{ header }}
{{ cell }}
{{ render_empty_state("No data available") }}
{% endmacro %} {% macro render_sort_header(field, label, current_sort) %} {% set is_active = current_sort and current_sort.lstrip('-') == field %} {% set is_desc = current_sort and current_sort.startswith('-') %} {% set next_sort = ('-' ~ field) if (is_active and not is_desc) else field %} {{ label }} {% if is_active %} {{ '▼' if is_desc else '▲' }} {% endif %} {% endmacro %} {% macro render_filter_form(filters) %}
{% for filter in filters %}
{% if filter.type == 'select' %} {% else %} {% endif %}
{% endfor %} Clear
{% endmacro %} {% macro render_empty_state(message) %}

{{ message }}

{% endmacro %}