Promote Leads to a top-level nav hub and expire login OTP after 90s.
Leads items sit under their own hub after Customers; login OTP shows a countdown and returns to the mobile step when time runs out.
This commit is contained in:
@@ -45,10 +45,12 @@ const dashboardActive = computed(() => route.path === '/');
|
||||
const loyaltyActive = computed(() => pathIn(['/loyalty']));
|
||||
const reportsActive = computed(() => pathIn(['/reports']));
|
||||
const customersActive = computed(() => pathIn(['/contacts']));
|
||||
const leadsActive = computed(() =>
|
||||
pathIn(['/leads', '/settings/lead-stages', '/settings/lead-forms']),
|
||||
);
|
||||
const salesActive = computed(() =>
|
||||
pathIn([
|
||||
'/pipeline',
|
||||
'/leads',
|
||||
'/deals',
|
||||
'/quotes',
|
||||
'/invoices',
|
||||
@@ -68,7 +70,6 @@ const automationsActive = computed(
|
||||
);
|
||||
const toolsActive = computed(() =>
|
||||
pathIn([
|
||||
'/settings/lead-forms',
|
||||
'/projects',
|
||||
'/project-cards',
|
||||
'/inventory',
|
||||
@@ -82,7 +83,6 @@ const settingsActive = computed(() =>
|
||||
'/settings/team',
|
||||
'/settings/audit-logs',
|
||||
'/settings/public-api',
|
||||
'/settings/lead-stages',
|
||||
'/settings/custom-fields',
|
||||
'/settings/currencies',
|
||||
'/settings/tahesab',
|
||||
@@ -432,6 +432,21 @@ onUnmounted(() => {
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="nav-fold" v-if="hubVisible.leads" :class="{ active: leadsActive || openHubKey === 'leads' }">
|
||||
<button
|
||||
class="nav-item nav-fold-btn"
|
||||
type="button"
|
||||
title="لیدها"
|
||||
:class="{ 'router-link-active': leadsActive || openHubKey === 'leads', 'hub-on': openHubKey === 'leads' }"
|
||||
:aria-expanded="openHubKey === 'leads'"
|
||||
@click="onHubClick('leads')"
|
||||
>
|
||||
<UiIcon name="user-plus" :size="collapsed ? 20 : 18" />
|
||||
<span>لیدها</span>
|
||||
<i class="chev" aria-hidden="true" />
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="nav-fold" v-if="hubVisible.sales" :class="{ active: salesActive || openHubKey === 'sales' }">
|
||||
<button
|
||||
class="nav-item nav-fold-btn"
|
||||
@@ -725,6 +740,16 @@ onUnmounted(() => {
|
||||
<UiIcon name="users" :size="20" />
|
||||
<span>مشتریان</span>
|
||||
</button>
|
||||
<button
|
||||
class="tab"
|
||||
type="button"
|
||||
:class="{ on: !moreOpen && (leadsActive || openHubKey === 'leads') }"
|
||||
:aria-expanded="openHubKey === 'leads'"
|
||||
@click="openTabHub('leads')"
|
||||
>
|
||||
<UiIcon name="user-plus" :size="20" />
|
||||
<span>لیدها</span>
|
||||
</button>
|
||||
<button
|
||||
class="tab"
|
||||
type="button"
|
||||
|
||||
Reference in New Issue
Block a user