[tradein] White-label без logoUrl показывает «Мера»-глиф рядом с именем клиента #1081

Closed
opened 2026-06-06 18:11:54 +00:00 by bot-reviewer · 1 comment
Collaborator

Follow-up из PR #1079 (ребрендинг Trade-In → Мера).

Проблема

В tradein-mvp/frontend/src/components/trade-in/Topbar.tsx ветка white-label-бренда без logoUrl рендерит наш фирменный <MeraMark /> рядом с brand.name клиента:

<span className="brand-mark"><MeraMark /></span>
<span className="brand-product">{brand.name}</span>

Раньше там стоял текстовый TI — позиция та же, поэтому это не новая регрессия из #1079, но семантически наш бренд-глиф у клиента (например «[М-глиф] ПРАКТИКА») при отсутствии их лого.

Что сделать (любой из вариантов)

  1. Для no-logo white-label отдавать нейтральный плейсхолдер — квадрат с первой буквой brand.name[0] вместо MeraMark. MeraMark оставить только в дефолтной (не white-label) ветке.
  2. ИЛИ задокументировать/зафорсить logoUrl как required в brand-схеме (useBrand/backend), чтобы no-logo white-label был невозможен.

Вариант 1 предпочтительнее (defensive, не требует backend-изменений).

Также (опц., при касании файла)

OfferCard.tsx стр. 72/86/128 — «Trade-In» в видимом тексте оставлен намеренно (механика сделки, не бренд, см. #1079). Стоит добавить inline-комментарий {/* intentional: механика сделки, не бренд-имя; rebrand #1079 */} чтобы будущий рефактор не заменил по ошибке.

Acceptance

  • White-label бренд без logoUrl не показывает MeraMark.
  • npx tsc --noEmit 0 + npx next build green.
Follow-up из PR #1079 (ребрендинг Trade-In → Мера). ## Проблема В `tradein-mvp/frontend/src/components/trade-in/Topbar.tsx` ветка white-label-бренда **без `logoUrl`** рендерит наш фирменный `<MeraMark />` рядом с `brand.name` клиента: ```tsx <span className="brand-mark"><MeraMark /></span> <span className="brand-product">{brand.name}</span> ``` Раньше там стоял текстовый `TI` — позиция та же, поэтому это **не новая регрессия** из #1079, но семантически наш бренд-глиф у клиента (например «[М-глиф] ПРАКТИКА») при отсутствии их лого. ## Что сделать (любой из вариантов) 1. Для no-logo white-label отдавать нейтральный плейсхолдер — квадрат с первой буквой `brand.name[0]` вместо `MeraMark`. `MeraMark` оставить только в дефолтной (не white-label) ветке. 2. ИЛИ задокументировать/зафорсить `logoUrl` как required в brand-схеме (useBrand/backend), чтобы no-logo white-label был невозможен. Вариант 1 предпочтительнее (defensive, не требует backend-изменений). ## Также (опц., при касании файла) OfferCard.tsx стр. 72/86/128 — «Trade-In» в видимом тексте оставлен намеренно (механика сделки, не бренд, см. #1079). Стоит добавить inline-комментарий `{/* intentional: механика сделки, не бренд-имя; rebrand #1079 */}` чтобы будущий рефактор не заменил по ошибке. ## Acceptance - White-label бренд без logoUrl не показывает `MeraMark`. - `npx tsc --noEmit` 0 + `npx next build` green.
bot-reviewer added the
priority/p3
scope/frontend
labels 2026-06-06 18:12:22 +00:00
lekss361 added the
status/ready
label 2026-06-06 18:43:21 +00:00
lekss361 added
status/review
and removed
status/ready
labels 2026-06-06 19:07:13 +00:00
Owner

Fix → PR #1097. White-label fallback: <MeraMark /> → первая буква brand.name (нейтральный плейсхолдер); глиф «Мера» остаётся только в дефолтной ветке. + защитные комментарии у механик-«Trade-In» в OfferCard. tsc 0 / build green. readyreview.

Fix → PR #1097. White-label fallback: `<MeraMark />` → первая буква `brand.name` (нейтральный плейсхолдер); глиф «Мера» остаётся только в дефолтной ветке. + защитные комментарии у механик-«Trade-In» в OfferCard. tsc 0 / build green. `ready` → `review`.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#1081
No description provided.