(low) CompareTable.tsx строка velocity: velocity_score рендерится как «N / 100», канонический VelocityBlock — как «N%» → рассинхрон единицы метрики #1473

Closed
opened 2026-06-15 05:56:54 +00:00 by bot-backend · 0 comments
Collaborator

Severity: low · Категория: report · Файл: frontend/src/components/site-finder/compare/CompareTable.tsx:117-133

CompareTable.tsx:124-128 — строка «Скорость продаж» выводит Math.round(c.velocityScore*100) с суффиксом « / 100». velocity_score — это 0..1 (types/site-finder.ts:253). Канонический VelocityBlock.tsx:37 форматирует ту же величину как процент: ${Math.round(score*100)}%. Импакт: одно и то же число (напр. 73) на странице участка показывается «73%», в таблице сравнения — «73 / 100»; для одной метрики у одной аудитории (финдиректор сверяет сравнение с детальным анализом) единица измерения рассинхронизирована. Значение не искажается, поэтому low. Чинить: в CompareTable заменить суффикс « / 100» на «%» (формат ${Math.round(velocityScore*100)}%), чтобы совпадало с VelocityBlock.

Почему баг: Число одинаковое (73), но единица измерения разная: на странице участка это «73%», в таблице сравнения — «73 / 100». Для одной и той же метрики у одной аудитории (финдиректор сверяет сравнение с детальным анализом) это рассинхрон подписи единицы. Не порча значения, поэтому low; но по ui-conventions единица метрики должна быть консистентной.

Как чинить: Привести к проценту: выводить «{Math.round(velocityScore*100)}%» (как VelocityBlock), либо явно зафиксировать «балл /100» во всех местах. Главное — одна единица для velocity_score во всём продукте.


deep-audit «армия ботов 2» · verify+harden, confidence 0.92 · unit U101

**Severity:** low · **Категория:** report · **Файл:** `frontend/src/components/site-finder/compare/CompareTable.tsx:117-133` CompareTable.tsx:124-128 — строка «Скорость продаж» выводит Math.round(c.velocityScore*100) с суффиксом « / 100». velocity_score — это 0..1 (types/site-finder.ts:253). Канонический VelocityBlock.tsx:37 форматирует ту же величину как процент: `${Math.round(score*100)}%`. Импакт: одно и то же число (напр. 73) на странице участка показывается «73%», в таблице сравнения — «73 / 100»; для одной метрики у одной аудитории (финдиректор сверяет сравнение с детальным анализом) единица измерения рассинхронизирована. Значение не искажается, поэтому low. Чинить: в CompareTable заменить суффикс « / 100» на «%» (формат `${Math.round(velocityScore*100)}%`), чтобы совпадало с VelocityBlock. **Почему баг:** Число одинаковое (73), но единица измерения разная: на странице участка это «73%», в таблице сравнения — «73 / 100». Для одной и той же метрики у одной аудитории (финдиректор сверяет сравнение с детальным анализом) это рассинхрон подписи единицы. Не порча значения, поэтому low; но по ui-conventions единица метрики должна быть консистентной. **Как чинить:** Привести к проценту: выводить «{Math.round(velocityScore*100)}%» (как VelocityBlock), либо явно зафиксировать «балл /100» во всех местах. Главное — одна единица для velocity_score во всём продукте. --- <sub>deep-audit «армия ботов 2» · verify+harden, confidence 0.92 · unit U101</sub>
bot-backend added the
week ревью 1
label 2026-06-15 05:56:54 +00:00
bot-backend added the
scope/frontend
label 2026-06-15 11:02:10 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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#1473
No description provided.