Activate UIUX V2 navigation for consultant and client pilots

This commit is contained in:
A R R R Associates
2026-07-10 17:33:13 +05:30
parent 7413d0dd7d
commit 12512b363b
5 changed files with 135 additions and 26 deletions
@@ -1,12 +1,2 @@
<div class="mb-6 overflow-x-auto rounded-2xl border border-slate-200 bg-white p-2 shadow-soft"> {# UI/UX V2 Phase 1C — Client pilot. Existing URLs and visibility are preserved in the shared component. #}
<div class="flex min-w-max items-center gap-2"> {% include "ui/templates/components/client_navigation_v2.html" %}
{% set path = request.url.path %}
<a href="/client/dashboard" class="rounded-xl px-4 py-2 text-sm font-semibold transition {{ 'bg-brand-600 text-white' if path == '/client/dashboard' else 'text-slate-700 hover:bg-slate-100' }}">Overview</a>
<a href="/client/compliance" class="rounded-xl px-4 py-2 text-sm font-semibold transition {{ 'bg-brand-600 text-white' if path.startswith('/client/compliance') or path.startswith('/client/engagements') else 'text-slate-700 hover:bg-slate-100' }}">My Compliance</a>
<a href="/client/documents" class="rounded-xl px-4 py-2 text-sm font-semibold transition {{ 'bg-brand-600 text-white' if path.startswith('/client/documents') else 'text-slate-700 hover:bg-slate-100' }}">My Documents</a>
<a href="/client/messages" class="rounded-xl px-4 py-2 text-sm font-semibold transition {{ 'bg-brand-600 text-white' if path.startswith('/client/messages') else 'text-slate-700 hover:bg-slate-100' }}">My Messages</a>
<a href="/client/billing" class="rounded-xl px-4 py-2 text-sm font-semibold transition {{ 'bg-brand-600 text-white' if path.startswith('/client/billing') else 'text-slate-700 hover:bg-slate-100' }}">My Bills</a>
<a href="/client/profile" class="rounded-xl px-4 py-2 text-sm font-semibold transition {{ 'bg-brand-600 text-white' if path.startswith('/client/profile') else 'text-slate-700 hover:bg-slate-100' }}">My Profile</a>
<a href="/alerts" class="rounded-xl px-4 py-2 text-sm font-semibold transition {{ 'bg-brand-600 text-white' if path == '/alerts' else 'text-slate-700 hover:bg-slate-100' }}">My Alert</a>
</div>
</div>
@@ -2,6 +2,7 @@
{% block content %} {% block content %}
<div class="space-y-6"> <div class="space-y-6">
{% include "ui/templates/components/client_navigation_v2.html" %}
<section class="rounded-3xl bg-gradient-to-r from-brand-700 to-slate-900 p-6 text-white shadow-soft"> <section class="rounded-3xl bg-gradient-to-r from-brand-700 to-slate-900 p-6 text-white shadow-soft">
<div class="flex flex-col gap-4 md:flex-row md:items-center md:justify-between"> <div class="flex flex-col gap-4 md:flex-row md:items-center md:justify-between">
<div> <div>
@@ -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. #}
<div class="mb-5 overflow-x-auto rounded-2xl border border-slate-200 bg-white p-2 shadow-soft"> {% include "ui/templates/components/consultant_navigation_v2.html" %}
<nav class="flex min-w-max gap-2 text-sm font-semibold">
<a href="/consultant/dashboard" class="rounded-xl px-3 py-2 {{ 'bg-slate-900 text-white' if path == '/consultant/dashboard' else 'text-slate-700 hover:bg-slate-100' }}">Overview</a>
<a href="/consultant/work" class="rounded-xl px-3 py-2 {{ 'bg-slate-900 text-white' if path.startswith('/consultant/work') or path.startswith('/consultant/assignments') else 'text-slate-700 hover:bg-slate-100' }}">My Work Board</a>
<a href="/consultant/communications" class="rounded-xl px-3 py-2 {{ 'bg-slate-900 text-white' if path.startswith('/consultant/communications') else 'text-slate-700 hover:bg-slate-100' }}">My Messages</a>
<a href="/consultant/documents" class="rounded-xl px-3 py-2 {{ 'bg-slate-900 text-white' if path.startswith('/consultant/documents') else 'text-slate-700 hover:bg-slate-100' }}">Shared Documents</a>
<a href="/consultant/service-requests" class="rounded-xl px-3 py-2 {{ 'bg-slate-900 text-white' if path.startswith('/consultant/service-requests') else 'text-slate-700 hover:bg-slate-100' }}">Service Requests</a>
<a href="/consultant/managed-clients" class="rounded-xl px-3 py-2 {{ 'bg-slate-900 text-white' if path.startswith('/consultant/managed-clients') else 'text-slate-700 hover:bg-slate-100' }}">Managed Clients</a>
<a href="/consultant/workspace" class="rounded-xl px-3 py-2 {{ 'bg-slate-900 text-white' if path.startswith('/consultant/workspace') else 'text-slate-700 hover:bg-slate-100' }}">Workspace</a>
<a href="/consultant/profile" class="rounded-xl px-3 py-2 {{ 'bg-slate-900 text-white' if path.startswith('/consultant/profile') else 'text-slate-700 hover:bg-slate-100' }}">My Profile</a>
<a href="/alerts" class="rounded-xl px-3 py-2 {{ 'bg-slate-900 text-white' if path.startswith('/alerts') else 'text-slate-700 hover:bg-slate-100' }}">My Alert</a>
</nav>
</div>
@@ -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
}
] %}
<div class="mb-6 overflow-hidden rounded-2xl border border-slate-200 bg-white shadow-soft" data-uiux-v2-pilot="client">
{% include "ui/templates/components/navigation_v2.html" %}
{% include "ui/templates/components/mobile_navigation_v2.html" %}
</div>
@@ -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
}
] %}
<div class="mb-6 overflow-hidden rounded-2xl border border-slate-200 bg-white shadow-soft" data-uiux-v2-pilot="consultant">
{% include "ui/templates/components/navigation_v2.html" %}
{% include "ui/templates/components/mobile_navigation_v2.html" %}
</div>