From fc6ce31659b4795bf1b4c3fe695a21003595ac93 Mon Sep 17 00:00:00 2001 From: Ruslan Bakiev <572431+veikab@users.noreply.github.com> Date: Fri, 23 Jan 2026 10:35:59 +0700 Subject: [PATCH] Add unified icon system to navigation - Chips: colored circle with entity icon (product/hub/supplier) - Active tokens: outline style with icon in circle - Quote segments: labeled with colored circle icons --- app/components/navigation/MainNavigation.vue | 64 +++++++++++++++----- 1 file changed, 49 insertions(+), 15 deletions(-) diff --git a/app/components/navigation/MainNavigation.vue b/app/components/navigation/MainNavigation.vue index e118640..7a04da5 100644 --- a/app/components/navigation/MainNavigation.vue +++ b/app/components/navigation/MainNavigation.vue @@ -40,24 +40,39 @@ class="flex-1 px-4 py-2.5 text-left hover:bg-base-200/50 rounded-l-full transition-colors min-w-0" @click="$emit('edit-token', 'product')" > -
{{ $t('catalog.quote.product') }}
-
{{ productLabel || $t('catalog.quote.selectProduct') }}
+
+ + + + {{ $t('catalog.quote.product') }} +
+
{{ productLabel || $t('catalog.quote.selectProduct') }}
@@ -82,18 +97,23 @@
- +
- - {{ token.label }} + + + + {{ token.label }}
- +
- + + + {{ chip.label }}
@@ -339,5 +364,14 @@ const selectModeIcon = computed(() => { const getTokenColor = (type: string) => { return entityColors[type as keyof typeof entityColors] || entityColors.product } + +const getTokenIcon = (type: string) => { + const icons: Record = { + product: 'lucide:shopping-bag', + hub: 'lucide:warehouse', + supplier: 'lucide:factory' + } + return icons[type] || 'lucide:tag' +}