From 49f0ce15f6e484aa58fbf6565bfd50f136e10dc2 Mon Sep 17 00:00:00 2001 From: A R R R Associates Date: Sat, 11 Jul 2026 08:38:50 +0530 Subject: [PATCH] Unify Client navigation and align full-width header --- .../templates/clients/portal_dashboard.html | 113 +++++++++++------- .../components/client_navigation_v2.html | 69 +++++++++-- .../components/top_workspace_bar.html | 2 +- 3 files changed, 132 insertions(+), 52 deletions(-) diff --git a/app/modules/clients/templates/clients/portal_dashboard.html b/app/modules/clients/templates/clients/portal_dashboard.html index 0e7f1a4..eb13dcc 100644 --- a/app/modules/clients/templates/clients/portal_dashboard.html +++ b/app/modules/clients/templates/clients/portal_dashboard.html @@ -2,7 +2,6 @@ {% block content %}
- {% include "ui/templates/components/client_navigation_v2.html" %}
@@ -25,59 +24,87 @@ We could not find a client master linked to your login email in the current audit firm. Please contact your firm admin to map this login to the correct client record.
{% else %} - {% set client_tabs = [ - ('overview','Overview'), - ('action-centre','Action Centre'), - ('services-documents','Services & Documents'), - ('billing-messages','Billing & Messages'), - ('reports','Reports') - ] %} + {# Dashboard sections are now part of the unified Client Dashboard submenu. #} -
-
- {% for code, label in client_tabs %} - - {% endfor %} -
-
- -
- {% include "modules/clients/templates/clients/portal_partials/overview.html" %} +
+
Loading dashboard...
{% endif %} diff --git a/app/ui/templates/components/client_navigation_v2.html b/app/ui/templates/components/client_navigation_v2.html index 86c02ec..989137c 100644 --- a/app/ui/templates/components/client_navigation_v2.html +++ b/app/ui/templates/components/client_navigation_v2.html @@ -1,19 +1,23 @@ {% if navigation_render_location_v2|default('page') == 'global-host' or not global_role_navigation_host_v2|default(false) %} {# - UI/UX V2 Phase 1C — Client pilot navigation - - This component preserves the existing client portal URLs and visibility. - It changes presentation only and does not grant access, change routes, or - replace the client dashboard's existing AJAX content tabs. + UI/UX V2 Phase 1C.2 — Unified Client navigation. + Presentation only. Existing routes and route-level permissions remain authoritative. #} {% set _client_path = request.url.path %} +{% set _client_tab = request.query_params.get('tab', 'overview') %} {% set navigation_aria_label_v2 = 'Client workspace navigation' %} {% set navigation_items_v2 = [ { 'label': 'Dashboard', - 'url': '/client/dashboard', 'visible': true, - 'active': _client_path == '/client/dashboard' + 'active': _client_path.startswith('/client/dashboard'), + 'children': [ + {'label': 'Overview', 'url': '/client/dashboard?tab=overview', 'active': _client_path.startswith('/client/dashboard') and _client_tab == 'overview'}, + {'label': 'Action Centre', 'url': '/client/dashboard?tab=action-centre', 'active': _client_path.startswith('/client/dashboard') and _client_tab == 'action-centre'}, + {'label': 'Services & Documents', 'url': '/client/dashboard?tab=services-documents', 'active': _client_path.startswith('/client/dashboard') and _client_tab == 'services-documents'}, + {'label': 'Billing & Messages', 'url': '/client/dashboard?tab=billing-messages', 'active': _client_path.startswith('/client/dashboard') and _client_tab == 'billing-messages'}, + {'label': 'Reports', 'url': '/client/dashboard?tab=reports', 'active': _client_path.startswith('/client/dashboard') and _client_tab == 'reports'} + ] }, { 'label': 'Compliance', @@ -54,8 +58,57 @@ } ] %} -
+
{% include "ui/templates/components/navigation_v2.html" %} {% include "ui/templates/components/mobile_navigation_v2.html" %}
+ + {% endif %} diff --git a/app/ui/templates/components/top_workspace_bar.html b/app/ui/templates/components/top_workspace_bar.html index ca72bce..99d3827 100644 --- a/app/ui/templates/components/top_workspace_bar.html +++ b/app/ui/templates/components/top_workspace_bar.html @@ -1,4 +1,4 @@ -{% set _uiux_full_width_header = ('System Admin' in (ui_roles|default([], true))) or ('Firm Admin' in (ui_roles|default([], true))) or ('Partner' in (ui_roles|default([], true))) or ('Manager' in (ui_roles|default([], true))) or ('Branch Manager' in (ui_roles|default([], true))) or ('Staff' in (ui_roles|default([], true))) or ('Employee' in (ui_roles|default([], true))) %} +{% set _uiux_full_width_header = ('System Admin' in (ui_roles|default([], true))) or ('Firm Admin' in (ui_roles|default([], true))) or ('Partner' in (ui_roles|default([], true))) or ('Manager' in (ui_roles|default([], true))) or ('Branch Manager' in (ui_roles|default([], true))) or ('Staff' in (ui_roles|default([], true))) or ('Employee' in (ui_roles|default([], true))) or ('Client' in (ui_roles|default([], true))) %}