feat(tradein): rebrand default product «Trade-In» → «Мера» + new mark (#1079)
All checks were successful
Deploy Trade-In / changes (push) Successful in 6s
Deploy Trade-In / test (push) Has been skipped
Deploy Trade-In / build-browser (push) Has been skipped
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / build-frontend (push) Successful in 1m40s
Deploy Trade-In / deploy (push) Successful in 44s
All checks were successful
Deploy Trade-In / changes (push) Successful in 6s
Deploy Trade-In / test (push) Has been skipped
Deploy Trade-In / build-browser (push) Has been skipped
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / build-frontend (push) Successful in 1m40s
Deploy Trade-In / deploy (push) Successful in 44s
Ребрендинг дефолтного (не white-label) продукта «Trade-In» → «Мера» + inline-SVG логотип (буква М над размерной линией). Topbar MeraMark заменяет TI-бейдж, wordmark/крошки/футер/meta → «Мера». White-label бренды клиентов, сервисный термин «трейд-ин» в прозе OfferCard/HeroTransparency и code-идентификаторы /trade-in/ не тронуты. tsc 0 + build green. Co-authored-by: lekss361 <lekss361@gendsgn.local> Co-committed-by: lekss361 <lekss361@gendsgn.local>
This commit is contained in:
parent
3120c902c6
commit
813c4782a8
4 changed files with 21 additions and 7 deletions
|
|
@ -6,8 +6,8 @@ import "./globals.css";
|
||||||
import { Providers } from "./providers";
|
import { Providers } from "./providers";
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Trade-In MVP — Оценка вторичного жилья",
|
title: "Мера — оценка вторичного жилья",
|
||||||
description: "Локальная MVP-копия Trade-In Estimator (форк gendesign)",
|
description: "Мера — оценка стоимости вторичного жилья по рыночным данным",
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
|
|
|
||||||
|
|
@ -175,7 +175,7 @@ export default function TradeInPage() {
|
||||||
|
|
||||||
<main className="page">
|
<main className="page">
|
||||||
<div className="crumbs">
|
<div className="crumbs">
|
||||||
<em>Главная</em> <span>›</span> <em>Trade-In</em> <span>›</span> Новая оценка
|
<em>Главная</em> <span>›</span> <em>Мера</em> <span>›</span> Новая оценка
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="page-title">
|
<div className="page-title">
|
||||||
|
|
@ -335,7 +335,7 @@ export default function TradeInPage() {
|
||||||
|
|
||||||
<footer className="page-foot">
|
<footer className="page-foot">
|
||||||
<div>
|
<div>
|
||||||
Trade-In · MVP ·{" "}
|
Мера · MVP ·{" "}
|
||||||
<span className="mono">data: Avito + Cian + Yandex + Росреестр</span>
|
<span className="mono">data: Avito + Cian + Yandex + Росреестр</span>
|
||||||
</div>
|
</div>
|
||||||
<div style={{ display: "flex", gap: 18 }}>
|
<div style={{ display: "flex", gap: 18 }}>
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,19 @@ import { safeUrl } from "@/lib/safeUrl";
|
||||||
import { useBrand } from "@/lib/useBrand";
|
import { useBrand } from "@/lib/useBrand";
|
||||||
import { useMe } from "@/lib/useMe";
|
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 =
|
export type ActiveTab =
|
||||||
| "estimate"
|
| "estimate"
|
||||||
| "history"
|
| "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-product">{brand.name}</span>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
) : (
|
) : (
|
||||||
<>
|
<>
|
||||||
<span className="brand-mark">TI</span>
|
<span className="brand-mark"><MeraMark /></span>
|
||||||
<span className="brand-product">Trade-In</span>
|
<span className="brand-product">Мера</span>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -105,6 +105,7 @@
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
.brand-mark-svg { width: 22px; height: 22px; display: block; }
|
||||||
.brand-name { letter-spacing: 0.22em; }
|
.brand-name { letter-spacing: 0.22em; }
|
||||||
.brand-sep { width: 1px; height: 18px; background: var(--border); margin: 0 2px; }
|
.brand-sep { width: 1px; height: 18px; background: var(--border); margin: 0 2px; }
|
||||||
.brand-product {
|
.brand-product {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue