From f185e56df0dbbf1e46650b6aac4c4d387e5ad233 Mon Sep 17 00:00:00 2001 From: bot-backend Date: Sat, 6 Jun 2026 21:04:34 +0300 Subject: [PATCH] =?UTF-8?q?feat(tradein):=20rebrand=20default=20product=20?= =?UTF-8?q?"Trade-In"=20=E2=86=92=20"=D0=9C=D0=B5=D1=80=D0=B0"=20+=20new?= =?UTF-8?q?=20mark?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Topbar: MeraMark SVG (буква М над размерной линией = «мера»/измерение), заменяет TI-бейдж в обоих местах (white-label fallback + дефолт) - Topbar: дефолтный wordmark Trade-In → Мера - trade-in.css: .brand-mark-svg sizing (22×22 в 28×28 бейдже), theme-aware через currentColor (работает в .brand-active) - page.tsx: хлебная крошка + футер Trade-In → Мера - layout.tsx: + meta description → Мера White-label бренды клиентов (praktika и пр.) не тронуты. Сервисный термин «трейд-ин» в прозе OfferCard/HeroTransparency оставлен как описание механики сделки, а не имя бренда. --- tradein-mvp/frontend/src/app/layout.tsx | 4 ++-- tradein-mvp/frontend/src/app/page.tsx | 4 ++-- .../src/components/trade-in/Topbar.tsx | 19 ++++++++++++++++--- .../src/components/trade-in/trade-in.css | 1 + 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/tradein-mvp/frontend/src/app/layout.tsx b/tradein-mvp/frontend/src/app/layout.tsx index 0a050d91..c99b0769 100644 --- a/tradein-mvp/frontend/src/app/layout.tsx +++ b/tradein-mvp/frontend/src/app/layout.tsx @@ -6,8 +6,8 @@ import "./globals.css"; import { Providers } from "./providers"; export const metadata: Metadata = { - title: "Trade-In MVP — Оценка вторичного жилья", - description: "Локальная MVP-копия Trade-In Estimator (форк gendesign)", + title: "Мера — оценка вторичного жилья", + description: "Мера — оценка стоимости вторичного жилья по рыночным данным", }; export default function RootLayout({ diff --git a/tradein-mvp/frontend/src/app/page.tsx b/tradein-mvp/frontend/src/app/page.tsx index 04c7b531..18a2efe9 100644 --- a/tradein-mvp/frontend/src/app/page.tsx +++ b/tradein-mvp/frontend/src/app/page.tsx @@ -175,7 +175,7 @@ export default function TradeInPage() { <main className="page"> <div className="crumbs"> - <em>Главная</em> <span>›</span> <em>Trade-In</em> <span>›</span> Новая оценка + <em>Главная</em> <span>›</span> <em>Мера</em> <span>›</span> Новая оценка </div> <div className="page-title"> @@ -335,7 +335,7 @@ export default function TradeInPage() { <footer className="page-foot"> <div> - Trade-In · MVP ·{" "} + Мера · MVP ·{" "} <span className="mono">data: Avito + Cian + Yandex + Росреестр</span> </div> <div style={{ display: "flex", gap: 18 }}> diff --git a/tradein-mvp/frontend/src/components/trade-in/Topbar.tsx b/tradein-mvp/frontend/src/components/trade-in/Topbar.tsx index 6260d8ed..96863027 100644 --- a/tradein-mvp/frontend/src/components/trade-in/Topbar.tsx +++ b/tradein-mvp/frontend/src/components/trade-in/Topbar.tsx @@ -9,6 +9,19 @@ import { safeUrl } from "@/lib/safeUrl"; import { useBrand } from "@/lib/useBrand"; import { useMe } from "@/lib/useMe"; +/** «Мера» mark — буква М над размерной линией («мера» = измерение). + Глиф в currentColor; тёмный фон даёт CSS-бейдж .brand-mark. */ +function MeraMark() { + return ( + <svg viewBox="0 0 28 28" className="brand-mark-svg" aria-hidden="true" focusable="false"> + {/* буква М */} + <path d="M8 16V6l6 7 6-7v10" fill="none" stroke="currentColor" strokeWidth="2" strokeLinejoin="round" strokeLinecap="round" /> + {/* размерная линия под М — «мера» = измерение */} + <path d="M7 21h14M7 19.2v3.6M21 19.2v3.6" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" /> + </svg> + ); +} + export type ActiveTab = | "estimate" | "history" @@ -115,14 +128,14 @@ export function Topbar({ active }: TopbarProps) { /> ) : ( <> - <span className="brand-mark">TI</span> + <span className="brand-mark"><MeraMark /></span> <span className="brand-product">{brand.name}</span> </> ) ) : ( <> - <span className="brand-mark">TI</span> - <span className="brand-product">Trade-In</span> + <span className="brand-mark"><MeraMark /></span> + <span className="brand-product">Мера</span> </> )} </div> diff --git a/tradein-mvp/frontend/src/components/trade-in/trade-in.css b/tradein-mvp/frontend/src/components/trade-in/trade-in.css index ad228826..bb928795 100644 --- a/tradein-mvp/frontend/src/components/trade-in/trade-in.css +++ b/tradein-mvp/frontend/src/components/trade-in/trade-in.css @@ -105,6 +105,7 @@ font-size: 13px; font-weight: 600; } + .brand-mark-svg { width: 22px; height: 22px; display: block; } .brand-name { letter-spacing: 0.22em; } .brand-sep { width: 1px; height: 18px; background: var(--border); margin: 0 2px; } .brand-product {