fix(icons): migrate backoffice shell + product form to Lucide

Admin sidebar nav, topbar icon buttons (menu, search, quick-publish,
tenant selector, notifications), and the product-form translations
disclosure icon now render via app-icon instead of PrimeIcons classes.
AdminNavLink/AdminNavAction.icon retyped to AppIconName.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
sdarbinyan
2026-07-20 02:18:19 +04:00
parent 9569b6dc46
commit 330f24c8d7
5 changed files with 37 additions and 32 deletions

View File

@@ -27,14 +27,14 @@
routerLinkActive="admin-layout__nav-link--active"
[routerLinkActiveOptions]="{ exact: false }"
>
<span class="pi {{ entry.icon }}" aria-hidden="true"></span>
<app-icon [name]="entry.icon" [size]="18" />
<span class="admin-layout__nav-label">{{ entry.labelKey | translate }}</span>
</a>
</li>
} @else if (entry.type === 'link' && entry.comingSoon) {
<li>
<button type="button" class="admin-layout__nav-link admin-layout__nav-link--disabled" disabled>
<span class="pi {{ entry.icon }}" aria-hidden="true"></span>
<app-icon [name]="entry.icon" [size]="18" />
<span class="admin-layout__nav-label">{{ entry.labelKey | translate }}</span>
<span class="admin-layout__soon-badge">{{ 'adminShell.nav.comingSoonBadge' | translate }}</span>
</button>
@@ -48,7 +48,7 @@
@if (entry.type === 'link' && entry.comingSoon) {
<li>
<button type="button" class="admin-layout__nav-link admin-layout__nav-link--disabled" disabled>
<span class="pi {{ entry.icon }}" aria-hidden="true"></span>
<app-icon [name]="entry.icon" [size]="18" />
<span class="admin-layout__nav-label">{{ entry.labelKey | translate }}</span>
<span class="admin-layout__soon-badge">{{ 'adminShell.nav.comingSoonBadge' | translate }}</span>
</button>
@@ -56,7 +56,7 @@
} @else if (entry.type === 'action') {
<li>
<button type="button" class="admin-layout__nav-link" (click)="logout()">
<span class="pi {{ entry.icon }}" aria-hidden="true"></span>
<app-icon [name]="entry.icon" [size]="18" />
<span class="admin-layout__nav-label">{{ entry.labelKey | translate }}</span>
</button>
</li>
@@ -74,7 +74,7 @@
[attr.aria-label]="(mobileDrawerOpen() ? 'adminShell.closeSidebar' : 'adminShell.openSidebar') | translate"
(click)="toggleMobileDrawer()"
>
<span class="pi pi-bars" aria-hidden="true"></span>
<app-icon name="menu" [size]="20" />
</button>
<div class="admin-layout__heading">
@@ -102,7 +102,7 @@
<div class="admin-layout__topbar-actions">
<label class="admin-layout__search">
<span class="visually-hidden">{{ 'adminShell.topbar.searchLabel' | translate }}</span>
<span class="pi pi-search admin-layout__search-icon" aria-hidden="true"></span>
<app-icon name="search" [size]="16" class="admin-layout__search-icon" />
<input type="search" [placeholder]="'adminShell.topbar.searchPlaceholder' | translate" />
</label>
@@ -112,7 +112,7 @@
disabled
[title]="'adminShell.topbar.quickPublishComingSoon' | translate"
>
<span class="pi pi-upload" aria-hidden="true"></span>
<app-icon name="upload" [size]="18" />
<span class="visually-hidden">{{ 'adminShell.topbar.quickPublish' | translate }}</span>
</button>
@@ -122,7 +122,7 @@
disabled
[title]="'adminShell.topbar.tenantSelectorComingSoon' | translate"
>
<span class="pi pi-building" aria-hidden="true"></span>
<app-icon name="building" [size]="18" />
<span class="visually-hidden">{{ 'adminShell.topbar.tenantSelector' | translate }}</span>
</button>
@@ -135,7 +135,7 @@
[attr.aria-label]="'adminShell.topbar.notifications' | translate"
(click)="toggleNotifications()"
>
<span class="pi pi-bell" aria-hidden="true"></span>
<app-icon name="bell" [size]="18" />
</button>
@if (notificationsOpen()) {
<div class="admin-layout__notifications-panel" role="menu">