From 1e11b3b424a32bdb23ea6132ad4d03362043f0ad Mon Sep 17 00:00:00 2001 From: Ivo Oskamp Date: Thu, 19 Mar 2026 15:29:38 +0100 Subject: [PATCH] Fix Jinja2 macros undefined error: move macro definitions before first use Icon and nav macros were defined after but called earlier in the template. Jinja2 processes macros sequentially, so moved all macro definitions to the top of base.html before the tag. Co-Authored-By: Claude Sonnet 4.6 --- .../src/templates/layout/base.html | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/containers/backupchecks/src/templates/layout/base.html b/containers/backupchecks/src/templates/layout/base.html index 918e63b..fb3d2d9 100644 --- a/containers/backupchecks/src/templates/layout/base.html +++ b/containers/backupchecks/src/templates/layout/base.html @@ -1,3 +1,34 @@ +{# ===== ICON MACROS ===== #} +{% macro icon_grid() %}{% endmacro %} +{% macro icon_inbox() %}{% endmacro %} +{% macro icon_check() %}{% endmacro %} +{% macro icon_calendar() %}{% endmacro %} +{% macro icon_bars() %}{% endmacro %} +{% macro icon_building() %}{% endmacro %} +{% macro icon_server() %}{% endmacro %} +{% macro icon_ticket() %}{% endmacro %} +{% macro icon_shield() %}{% endmacro %} +{% macro icon_cloud() %}{% endmacro %} +{% macro icon_book() %}{% endmacro %} +{% macro icon_clock() %}{% endmacro %} +{% macro icon_chat() %}{% endmacro %} +{% macro icon_mail() %}{% endmacro %} +{% macro icon_trash() %}{% endmacro %} +{% macro icon_archive() %}{% endmacro %} +{% macro icon_cog() %}{% endmacro %} +{% macro icon_log() %}{% endmacro %} +{% macro icon_code() %}{% endmacro %} + +{# ===== NAV ITEM MACRO ===== #} +{% macro bc_nav_item(endpoint, label, icon_svg, badge=none, startswith=none) %} +{% set _active = (startswith and request.path.startswith(startswith)) or (not startswith and request.path == url_for(endpoint)) %} + + {{ icon_svg }} + {{ label }} + {% if badge %}{{ badge }}{% endif %} + +{% endmacro %} + {% set _theme_pref = (current_user.theme_preference if current_user.is_authenticated else 'auto') %} @@ -275,34 +306,3 @@ {% block scripts %}{% endblock %} - -{# ===== ICON MACROS ===== #} -{% macro icon_grid() %}{% endmacro %} -{% macro icon_inbox() %}{% endmacro %} -{% macro icon_check() %}{% endmacro %} -{% macro icon_calendar() %}{% endmacro %} -{% macro icon_bars() %}{% endmacro %} -{% macro icon_building() %}{% endmacro %} -{% macro icon_server() %}{% endmacro %} -{% macro icon_ticket() %}{% endmacro %} -{% macro icon_shield() %}{% endmacro %} -{% macro icon_cloud() %}{% endmacro %} -{% macro icon_book() %}{% endmacro %} -{% macro icon_clock() %}{% endmacro %} -{% macro icon_chat() %}{% endmacro %} -{% macro icon_mail() %}{% endmacro %} -{% macro icon_trash() %}{% endmacro %} -{% macro icon_archive() %}{% endmacro %} -{% macro icon_cog() %}{% endmacro %} -{% macro icon_log() %}{% endmacro %} -{% macro icon_code() %}{% endmacro %} - -{# ===== NAV ITEM MACRO ===== #} -{% macro bc_nav_item(endpoint, label, icon_svg, badge=none, startswith=none) %} -{% set _active = (startswith and request.path.startswith(startswith)) or (not startswith and request.path == url_for(endpoint)) %} - - {{ icon_svg }} - {{ label }} - {% if badge %}{{ badge }}{% endif %} - -{% endmacro %}