gendesign/frontend/src
Light1YT fbafb1bf68 fix(landing): mirror Pydantic schema в PilotRequestModal validation (#1240)
Backend PilotRequestInput требует name min_length=2 и др., но modal
проверял только !form.name.trim(). 1-char name ('Я') проходил, backend
возвращал 422, apiFetch клал raw FastAPI JSON в Error.message, modal
рендерил его буквально для public lead form.

Patch: PILOT_LIMITS + PILOT_EMAIL_RE константы (синхр с backend),
per-field onBlur+live валидация с RU-сообщениями, minLength/maxLength
+ aria-invalid/aria-describedby, submit disabled при ошибках,
formatSubmitError → 4xx/5xx → human text. 26 vitest кейсов.

Closes #1240
2026-06-13 15:02:50 +05:00
..
app feat(site-finder): grounded parcel-chat panel UI (#958) 2026-06-08 18:08:01 +05:00
components fix(landing): mirror Pydantic schema в PilotRequestModal validation (#1240) 2026-06-13 15:02:50 +05:00
hooks fix(custom-pois): invalidate canonical parcel-analyze + parcel-poi-score keys (#1241) 2026-06-13 08:15:05 +00:00
lib fix(site-finder): adapt backend egrn_block → frontend ParcelEgrn (#1217) 2026-06-13 05:36:52 +00:00
types feat(sf): 6.6 in-app future-supply pressure + pipeline competitors (§13.3) 2026-06-07 10:55:59 +00:00
instrumentation.ts feat(frontend): @sentry/nextjs init для GlitchTip (#204 frontend) (#208) 2026-05-16 15:09:38 +00:00