|
|
b1b0dc4b0f
|
fix(tradein): recharts a11y — aria-hidden чарты, h1, aria-label th (#835)
axe-core на /ui-preview/estimate, 3 дефекта:
1. svg-img-alt: recharts symbol'ы role=img без accessible-name (Exposure/
Distribution/PriceTrend/PriceHistory) → aria-hidden на wrapper-div чарта
(декоративный; данные в заголовке/легенде/тексте карточки).
2. page-has-heading-one: на /ui-preview нет h1 (HeroSummary=h2; real page.tsx
h1 есть) → визуально-скрытый h1 «Оценка стоимости квартиры».
3. empty-table-header: пустой <th/> (actions-колонка) в Listings/Deals/
StreetDeals → aria-label=«Действия».
Refs #835, #801
|
2026-05-30 23:45:15 +03:00 |
|
|
|
679e75b9e8
|
fix(tradein): resilience-хвост аудита #770 (findings #25-33) (#793)
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / test (push) Has been skipped
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / build-frontend (push) Successful in 1m38s
Deploy Trade-In / deploy (push) Successful in 35s
Co-authored-by: bot-frontend <bot-frontend@gendsgn.local>
Co-committed-by: bot-frontend <bot-frontend@gendsgn.local>
|
2026-05-30 17:13:31 +00:00 |
|
|
|
2390c49d12
|
fix(tradein): guard деления на median=0 в ListingsCard/DealsCard (#741) (#744)
Deploy Trade-In / deploy (push) Successful in 34s
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / test (push) Has been skipped
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / build-frontend (push) Successful in 1m33s
Co-authored-by: bot-frontend <bot-frontend@gendsgn.local>
Co-committed-by: bot-frontend <bot-frontend@gendsgn.local>
|
2026-05-30 15:40:01 +00:00 |
|
|
|
b0c03942be
|
feat(tradein): tier badge на DealsCard rows (#603)
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / build-frontend (push) Successful in 1m38s
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / deploy (push) Successful in 38s
|
2026-05-27 13:15:49 +00:00 |
|
|
|
5bfacd51b0
|
feat(tradein): «Росреестр» button — copy address + open EGRN request form (#550)
Deploy Trade-In / deploy (push) Blocked by required conditions
Deploy Trade-In / changes (push) Successful in 6s
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / build-frontend (push) Has been cancelled
|
2026-05-24 19:42:09 +00:00 |
|
|
|
92d00ec874
|
feat(tradein-ui): mock-disclaimer + progressive enrichment + UX polish (#517)
Deploy Trade-In / build-frontend (push) Successful in 1m42s
Deploy Trade-In / deploy (push) Successful in 35s
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-backend (push) Has been skipped
|
2026-05-24 12:58:39 +00:00 |
|
lekss361
|
02267d0306
|
feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in)
- FastAPI backend: PostGIS estimator + 3 scrapers (Avito/Cian/Yandex)
- Next.js 15 frontend: tradein.html mockup design, basePath=/trade-in
- WeasyPrint PDF (Брусника-style 4-page report)
- Address autocomplete с typo-tolerance + 6 EKB presets
- Изолированный docker stack gendesign-tradein (отдельная postgres БД)
- Caddy inline routes: gendsgn.ru/trade-in/* и /trade-in/api/v1/*
- Forgejo Actions: .forgejo/workflows/deploy-tradein.yml (shell-based GHCR login)
- Триггер только по paths: tradein-mvp/** (не пересекается с deploy.yml)
- Образы: ghcr.io/lekss361/gendesign-tradein-{backend,frontend}:latest
Первый запуск на сервере (вручную, один раз):
- создать /opt/gendesign/tradein-mvp/.env.runtime (postgres pwd, contact email)
- docker network create gendesign_shared (если нет)
- docker compose -p gendesign-tradein up -d
- docker compose -p gendesign exec caddy caddy reload
|
2026-05-21 00:25:39 +03:00 |
|