{# app/templates/admin/partials/sidebar.html #} {# Collapsible sidebar sections with localStorage persistence #} {# ============================================================================ REUSABLE MACROS FOR SIDEBAR ITEMS ============================================================================ #} {# Macro for collapsible section header #} {% macro section_header(title, section_key) %}

{% endmacro %} {# Macro for collapsible section content wrapper #} {% macro section_content(section_key) %} {% endmacro %} {# Macro for menu item #} {% macro menu_item(page_id, url, icon, label) %}
  • {{ label }}
  • {% endmacro %} {# ============================================================================ SIDEBAR CONTENT (shared between desktop and mobile) ============================================================================ #} {% macro sidebar_content() %}
    Admin Portal {{ section_header('Platform Administration', 'platformAdmin') }} {% call section_content('platformAdmin') %} {{ menu_item('companies', '/admin/companies', 'office-building', 'Companies') }} {{ menu_item('vendors', '/admin/vendors', 'shopping-bag', 'Vendors') }} {{ menu_item('users', '/admin/users', 'users', 'Users') }} {{ menu_item('messages', '/admin/messages', 'chat-bubble-left-right', 'Messages') }} {% endcall %} {{ section_header('Vendor Operations', 'vendorOps') }} {% call section_content('vendorOps') %} {{ menu_item('vendor-products', '/admin/vendor-products', 'cube', 'Products') }} {{ menu_item('customers', '/admin/customers', 'user-group', 'Customers') }} {{ menu_item('inventory', '/admin/inventory', 'archive', 'Inventory') }} {{ menu_item('orders', '/admin/orders', 'clipboard-list', 'Orders') }} {# Future items - uncomment when implemented: {{ menu_item('shipping', '/admin/shipping', 'truck', 'Shipping') }} #} {% endcall %} {{ section_header('Marketplace', 'marketplace') }} {% call section_content('marketplace') %} {{ menu_item('marketplace-letzshop', '/admin/marketplace/letzshop', 'shopping-cart', 'Letzshop') }} {% endcall %} {{ section_header('Content Management', 'contentMgmt') }} {% call section_content('contentMgmt') %} {{ menu_item('platform-homepage', '/admin/platform-homepage', 'home', 'Platform Homepage') }} {{ menu_item('content-pages', '/admin/content-pages', 'document-text', 'Content Pages') }} {{ menu_item('vendor-theme', '/admin/vendor-themes', 'color-swatch', 'Vendor Themes') }} {% endcall %} {{ section_header('Developer Tools', 'devTools') }} {% call section_content('devTools') %} {{ menu_item('components', '/admin/components', 'view-grid', 'Components') }} {{ menu_item('icons', '/admin/icons', 'photograph', 'Icons') }} {% endcall %} {{ section_header('Platform Health', 'platformHealth') }} {% call section_content('platformHealth') %} {{ menu_item('platform-health', '/admin/platform-health', 'chart-bar', 'Capacity Monitor') }} {{ menu_item('testing', '/admin/testing', 'beaker', 'Testing Hub') }} {{ menu_item('code-quality', '/admin/code-quality', 'shield-check', 'Code Quality') }} {% endcall %} {{ section_header('Platform Monitoring', 'monitoring') }} {% call section_content('monitoring') %} {{ menu_item('imports', '/admin/imports', 'cube', 'Import Jobs') }} {{ menu_item('background-tasks', '/admin/background-tasks', 'collection', 'Background Tasks') }} {{ menu_item('logs', '/admin/logs', 'document-text', 'Application Logs') }} {{ menu_item('notifications', '/admin/notifications', 'bell', 'Notifications') }} {% endcall %} {{ section_header('Platform Settings', 'settingsSection') }} {% call section_content('settingsSection') %} {{ menu_item('settings', '/admin/settings', 'cog', 'General') }} {# TODO: Implement profile and API keys pages #} {# {{ menu_item('profile', '/admin/profile', 'user-circle', 'Profile') }} #} {# {{ menu_item('api-keys', '/admin/api-keys', 'key', 'API Keys') }} #} {% endcall %}
    {% endmacro %} {# ============================================================================ DESKTOP SIDEBAR ============================================================================ #} {# ============================================================================ MOBILE SIDEBAR ============================================================================ #}