diff --git a/app/modules/clients/templates/clients/_client_tabs.html b/app/modules/clients/templates/clients/_client_tabs.html index bd12389..5a0c05e 100644 --- a/app/modules/clients/templates/clients/_client_tabs.html +++ b/app/modules/clients/templates/clients/_client_tabs.html @@ -1,12 +1,2 @@ -
-
- {% set path = request.url.path %} - Overview - My Compliance - My Documents - My Messages - My Bills - My Profile - My Alert -
-
+{# UI/UX V2 Phase 1C — Client pilot. Existing URLs and visibility are preserved in the shared component. #} +{% include "ui/templates/components/client_navigation_v2.html" %} diff --git a/app/modules/clients/templates/clients/portal_dashboard.html b/app/modules/clients/templates/clients/portal_dashboard.html index b62489e..0e7f1a4 100644 --- a/app/modules/clients/templates/clients/portal_dashboard.html +++ b/app/modules/clients/templates/clients/portal_dashboard.html @@ -2,6 +2,7 @@ {% block content %}
+ {% include "ui/templates/components/client_navigation_v2.html" %}
diff --git a/app/modules/consultants/templates/consultants/_consultant_tabs.html b/app/modules/consultants/templates/consultants/_consultant_tabs.html index b3abbaa..cdc4b3d 100644 --- a/app/modules/consultants/templates/consultants/_consultant_tabs.html +++ b/app/modules/consultants/templates/consultants/_consultant_tabs.html @@ -1,14 +1,2 @@ -{% set path = request.url.path %} - +{# UI/UX V2 Phase 1C — Consultant pilot. Existing URLs and visibility are preserved in the shared component. #} +{% include "ui/templates/components/consultant_navigation_v2.html" %} diff --git a/app/ui/templates/components/client_navigation_v2.html b/app/ui/templates/components/client_navigation_v2.html new file mode 100644 index 0000000..84180c9 --- /dev/null +++ b/app/ui/templates/components/client_navigation_v2.html @@ -0,0 +1,59 @@ +{# + 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. +#} +{% set _client_path = request.url.path %} +{% set navigation_aria_label_v2 = 'Client workspace navigation' %} +{% set navigation_items_v2 = [ + { + 'label': 'Dashboard', + 'url': '/client/dashboard', + 'visible': true, + 'active': _client_path == '/client/dashboard' + }, + { + 'label': 'Compliance', + 'url': '/client/compliance', + 'visible': true, + 'active': _client_path.startswith('/client/compliance') or _client_path.startswith('/client/engagements') + }, + { + 'label': 'Documents', + 'url': '/client/documents', + 'visible': true, + 'active': _client_path.startswith('/client/documents') + }, + { + 'label': 'Messages', + 'url': '/client/messages', + 'visible': true, + 'active': _client_path.startswith('/client/messages') + }, + { + 'label': 'Bills & Payments', + 'url': '/client/billing', + 'visible': true, + 'active': _client_path.startswith('/client/billing') + }, + { + 'label': 'Profile', + 'url': '/client/profile', + 'visible': true, + 'active': _client_path.startswith('/client/profile') + }, + { + 'label': 'Alerts', + 'url': '/alerts', + 'visible': true, + 'active': _client_path.startswith('/alerts'), + 'badge': unread_alert_count if unread_alert_count is defined and unread_alert_count > 0 else none + } +] %} + +
+ {% include "ui/templates/components/navigation_v2.html" %} + {% include "ui/templates/components/mobile_navigation_v2.html" %} +
diff --git a/app/ui/templates/components/consultant_navigation_v2.html b/app/ui/templates/components/consultant_navigation_v2.html new file mode 100644 index 0000000..325ad86 --- /dev/null +++ b/app/ui/templates/components/consultant_navigation_v2.html @@ -0,0 +1,71 @@ +{# + UI/UX V2 Phase 1C — Consultant pilot navigation + + This component preserves the existing consultant portal URLs and visibility. + It changes presentation only and does not grant access, change routes, or + replace the consultant dashboard's existing AJAX content tabs. +#} +{% set _consultant_path = request.url.path %} +{% set navigation_aria_label_v2 = 'Consultant workspace navigation' %} +{% set navigation_items_v2 = [ + { + 'label': 'Dashboard', + 'url': '/consultant/dashboard', + 'visible': true, + 'active': _consultant_path == '/consultant/dashboard' + }, + { + 'label': 'Work', + 'url': '/consultant/work', + 'visible': true, + 'active': _consultant_path.startswith('/consultant/work') or _consultant_path.startswith('/consultant/assignments') + }, + { + 'label': 'Messages', + 'url': '/consultant/communications', + 'visible': true, + 'active': _consultant_path.startswith('/consultant/communications') + }, + { + 'label': 'Documents', + 'url': '/consultant/documents', + 'visible': true, + 'active': _consultant_path.startswith('/consultant/documents') + }, + { + 'label': 'Service Requests', + 'url': '/consultant/service-requests', + 'visible': true, + 'active': _consultant_path.startswith('/consultant/service-requests') + }, + { + 'label': 'Managed Clients', + 'url': '/consultant/managed-clients', + 'visible': true, + 'active': _consultant_path.startswith('/consultant/managed-clients') + }, + { + 'label': 'Workspace', + 'url': '/consultant/workspace', + 'visible': true, + 'active': _consultant_path.startswith('/consultant/workspace') + }, + { + 'label': 'Profile', + 'url': '/consultant/profile', + 'visible': true, + 'active': _consultant_path.startswith('/consultant/profile') + }, + { + 'label': 'Alerts', + 'url': '/alerts', + 'visible': true, + 'active': _consultant_path.startswith('/alerts'), + 'badge': unread_alert_count if unread_alert_count is defined and unread_alert_count > 0 else none + } +] %} + +
+ {% include "ui/templates/components/navigation_v2.html" %} + {% include "ui/templates/components/mobile_navigation_v2.html" %} +