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 @@
-
+
\ 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
-
+
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 @@
-
+
\ 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 @@
-
-
+
\ 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
-
-
+
)
}