From 0f59dfee69710126cb2f6c3513ef7cb6861387b6 Mon Sep 17 00:00:00 2001 From: nns <278048682+nurdotnet@users.noreply.github.com> Date: Sat, 2 May 2026 00:26:42 +0500 Subject: [PATCH] =?UTF-8?q?feat(brand):=20=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9?= =?UTF-8?q?=20=D0=BB=D0=BE=D0=B3=D0=BE=D1=82=D0=B8=D0=BF=20food-market=20w?= =?UTF-8?q?ordmark=20+=20apple=20mark?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Источник — assets/brand/food-market-source.svg (1080x1080, FOOD #0DB70D с яблоком вместо O, MARKET #4C4F54). Из source извлечены векторные пути (Adobe-preview PNG-image теги вырезаны), собраны три варианта, оптимизированы svgo. Варианты в public/ обоих пакетов (food-market.web, food-market.public): - logo.svg (2.1 KB) — full wordmark для светлого фона - logo-light.svg (2.1 KB) — full wordmark белым (для тёмного фона) - favicon.svg (1.0 KB) — mark-only: яблоко в зелёном круге, читается с 16px (Astro favicon, web favicon) Дополнительно (PWA maskable, food-market.web): - logo-bg.svg (140 B) — solid #0DB70D 456x456 фон - logo-fg.svg (1.0 KB) — белое яблоко на прозрачном, в safe-zone Logo-компоненты переписаны: - Logo.tsx (web) — было div+span с FOOD/MARKET буквами; теперь с одним пропом variant. Сохранён API: variant=light|dark, className. - Logo.astro (public) — то же; добавил пропс class для override-а. Header.astro public-пакета использует , не содержит hardcoded текста — менять не нужно. Все файлы под 2.2 KB после svgo. --- src/food-market.public/public/favicon.svg | 2 +- src/food-market.public/public/logo-light.svg | 1 + src/food-market.public/public/logo.svg | 1 + .../src/components/Logo.astro | 11 +++---- src/food-market.web/public/favicon.svg | 8 +---- src/food-market.web/public/logo-bg.svg | 5 +--- src/food-market.web/public/logo-fg.svg | 8 +---- src/food-market.web/public/logo-light.svg | 1 + src/food-market.web/public/logo.svg | 1 + src/food-market.web/src/components/Logo.tsx | 30 ++++++++----------- 10 files changed, 25 insertions(+), 43 deletions(-) create mode 100644 src/food-market.public/public/logo-light.svg create mode 100644 src/food-market.public/public/logo.svg create mode 100644 src/food-market.web/public/logo-light.svg create mode 100644 src/food-market.web/public/logo.svg diff --git a/src/food-market.public/public/favicon.svg b/src/food-market.public/public/favicon.svg index 5efa286..579e579 100644 --- a/src/food-market.public/public/favicon.svg +++ b/src/food-market.public/public/favicon.svg @@ -1 +1 @@ -FM + \ No newline at end of file diff --git a/src/food-market.public/public/logo-light.svg b/src/food-market.public/public/logo-light.svg new file mode 100644 index 0000000..10e092a --- /dev/null +++ b/src/food-market.public/public/logo-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/food-market.public/public/logo.svg b/src/food-market.public/public/logo.svg new file mode 100644 index 0000000..1c942b1 --- /dev/null +++ b/src/food-market.public/public/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/food-market.public/src/components/Logo.astro b/src/food-market.public/src/components/Logo.astro index 0b28465..8857b78 100644 --- a/src/food-market.public/src/components/Logo.astro +++ b/src/food-market.public/src/components/Logo.astro @@ -1,9 +1,6 @@ --- -interface Props { variant?: 'light' | 'dark' } -const { variant = 'light' } = Astro.props -const isDark = variant === 'dark' +interface Props { variant?: 'light' | 'dark'; class?: string } +const { variant = 'light', class: className = '' } = Astro.props +const src = variant === 'dark' ? '/logo-light.svg' : '/logo.svg' --- -
- FOOD - MARKET -
+Food Market diff --git a/src/food-market.web/public/favicon.svg b/src/food-market.web/public/favicon.svg index a8aa23a..579e579 100644 --- a/src/food-market.web/public/favicon.svg +++ b/src/food-market.web/public/favicon.svg @@ -1,7 +1 @@ - - - - FOOD - MARKET - - + \ No newline at end of file diff --git a/src/food-market.web/public/logo-bg.svg b/src/food-market.web/public/logo-bg.svg index ebeba8d..8c06e6a 100644 --- a/src/food-market.web/public/logo-bg.svg +++ b/src/food-market.web/public/logo-bg.svg @@ -1,4 +1 @@ - - - - + \ No newline at end of file diff --git a/src/food-market.web/public/logo-fg.svg b/src/food-market.web/public/logo-fg.svg index 8691ac6..5220b3e 100644 --- a/src/food-market.web/public/logo-fg.svg +++ b/src/food-market.web/public/logo-fg.svg @@ -1,7 +1 @@ - - - - FOOD - MARKET - - + \ No newline at end of file diff --git a/src/food-market.web/public/logo-light.svg b/src/food-market.web/public/logo-light.svg new file mode 100644 index 0000000..10e092a --- /dev/null +++ b/src/food-market.web/public/logo-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/food-market.web/public/logo.svg b/src/food-market.web/public/logo.svg new file mode 100644 index 0000000..1c942b1 --- /dev/null +++ b/src/food-market.web/public/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/food-market.web/src/components/Logo.tsx b/src/food-market.web/src/components/Logo.tsx index 58a3db9..2ff749b 100644 --- a/src/food-market.web/src/components/Logo.tsx +++ b/src/food-market.web/src/components/Logo.tsx @@ -2,24 +2,20 @@ import { cn } from '@/lib/utils' interface Props { className?: string; variant?: 'light' | 'dark' } +/** Wordmark Food Market (FOOD-зелёный + яблоко в О + MARKET-серый). + * variant='dark' переключает на белую версию для тёмного фона + * (например — sidebar супер-админки на indigo-950). + * + * Текстовая версия удалена: теперь inline SVG из public/, чтобы один + * source мог использоваться и в favicon, и в hero, и в шапке. */ export function Logo({ className, variant = 'light' }: Props) { - const isDark = variant === 'dark' + const src = variant === 'dark' ? '/logo-light.svg' : '/logo.svg' return ( -
- - FOOD - - - MARKET - -
+ Food Market ) }