{# ═══════════════════════════════════════════════════ ASOK Admin — Core Macros All icons are inline SVG (no font dependency). ═══════════════════════════════════════════════════ #} {# ── Icons ──────────────────────────────────────────── #} {% macro icon(name, size=16, cls='') %} {% if name == 'dashboard' %} {% elif name == 'table' %} {% elif name == 'plus' %} {% elif name == 'edit' %} {% elif name == 'trash' %} {% elif name == 'search' %} {% elif name == 'log' %} {% elif name == 'logout' %} {% elif name == 'sun' %} {% elif name == 'moon' %} {% elif name == 'link' %} {% elif name == 'globe' %} {% elif name == 'chevron' %} {% elif name == 'check' %} {% elif name == 'x' %} {% elif name == 'history' %} {% elif name == 'upload' %} {% elif name == 'download' %} {% elif name == 'shield' %} {% elif name == 'user' %} {% elif name == 'info' %} {% elif name == 'warn' or name == 'alert' %} {% elif name == 'restore' %} {% elif name == 'menu' %} {% elif name == 'arrow-left' %} {% elif name == 'arrow-right' %} {% elif name == 'folder' %} {% elif name == 'image' %} {% elif name == 'arrow-up' %} {% elif name == 'arrow-down' %} {% elif name == 'file-plus' %} {% elif name == 'file-text' %} {% else %} {% endif %} {% endmacro %} {# ── Badge ──────────────────────────────────────────── #} {% macro badge(text, type='info') %} {{ text }} {% endmacro %} {# ── Button ─────────────────────────────────────────── #} {% macro btn(label, variant='default', href=None, icon_name=None, extra_class='', type='button', **attrs) %} {% if href %} {% if icon_name %}{{ icon(icon_name) }}{% endif %} {% if label %}{{ label }}{% endif %} {% else %} {% endif %} {% endmacro %} {# ── Flash message ──────────────────────────────────── #} {% macro flash(msg, type='info', ttl=6000) %}