From f6a022edf2885632845cfb2dee14e95015958bc9 Mon Sep 17 00:00:00 2001 From: bruno Date: Thu, 16 Jul 2026 08:58:05 -0400 Subject: [PATCH] fix: extract render_workspace_tree macro, fix sidebar-tree endpoint - Extracted render_workspace_tree macro into _workspace_tree_macro.html so it can be imported independently from base.html (which has many template variables like user, workspace_name, etc.) - Fixed GET /api/sidebar/workspace-tree to use the extracted macro - Added error logging for easier debugging --- app/routers/dashboard.py | 7 ++-- app/templates/_workspace_tree_macro.html | 44 +++++++++++++++++++++++ app/templates/base.html | 45 +----------------------- 3 files changed, 49 insertions(+), 47 deletions(-) create mode 100644 app/templates/_workspace_tree_macro.html diff --git a/app/routers/dashboard.py b/app/routers/dashboard.py index 789683b..c0d0a6c 100644 --- a/app/routers/dashboard.py +++ b/app/routers/dashboard.py @@ -1554,15 +1554,16 @@ async def sidebar_workspace_tree(request: Request): 'No pages yet' ) - # Render the tree using the same Jinja2 macro as base.html + # Render the tree using the extracted macro env = Environment(loader=FileSystemLoader("app/templates")) template = env.from_string( - "{% from 'base.html' import render_workspace_tree %}" + "{% from '_workspace_tree_macro.html' import render_workspace_tree %}" "{{ render_workspace_tree(pages) }}" ) html = template.render(pages=pages) return HTMLResponse(html) - except (ValueError, Exception): + except (ValueError, Exception) as e: + logger.error(f"sidebar_workspace_tree failed: {e}", exc_info=True) return HTMLResponse( '' diff --git a/app/templates/_workspace_tree_macro.html b/app/templates/_workspace_tree_macro.html new file mode 100644 index 0000000..59e81dc --- /dev/null +++ b/app/templates/_workspace_tree_macro.html @@ -0,0 +1,44 @@ +{% macro render_workspace_tree(pages, depth=0) %} + {% for page in pages %} + + {% if page.children %} +
  • + +
  • + {% endif %} + {% endfor %} +{% endmacro %} diff --git a/app/templates/base.html b/app/templates/base.html index 5c1d9f1..0e23428 100644 --- a/app/templates/base.html +++ b/app/templates/base.html @@ -128,50 +128,7 @@ -{% macro render_workspace_tree(pages, depth=0) %} - {% for page in pages %} - - {% if page.children %} -
  • - -
  • - {% endif %} - {% endfor %} -{% endmacro %} +{% from '_workspace_tree_macro.html' import render_workspace_tree %}