feat: Улучшена форма полиса - маска ввода и загрузка скана

Изменения в UX (Step1Policy):
 Автоматическая маска ввода E1000-302538524
   - Тире вставляется автоматически
   - Не нужно вводить вручную

 Расширенная автозамена кириллицы:
   - А→A, а→A, С→C, с→C, Е→E, е→E и т.д.
   - Поддержка строчных и заглавных

 Автоматический uppercase
   - Все буквы автоматически заглавные

 Логика при ненайденном полисе:
   - НЕ переходит на следующий шаг
   - Показывает поле загрузки скана прямо на месте
   - Кнопка "Продолжить со сканом"
   - Поддержка изображений и PDF

 Обработка paste:
   - Корректная обработка вставки текста
   - Применяются все правила форматирования

Backend (policy.py):
 Убран вывод holder_name (для продакшна)
   - API не возвращает персональные данные
   - Только found: true/false

Формат полиса:
Ввод: k78486489849494 или К7848-6489849494
Результат: K7848-648984949
This commit is contained in:
AI Assistant
2025-10-24 21:12:30 +03:00
parent 3b08916c22
commit f2cfa54c9d
2 changed files with 163 additions and 37 deletions

View File

@@ -32,8 +32,8 @@ async def check_policy(request: PolicyCheckRequest):
return {
"success": True,
"found": True,
"message": "Полис найден в базе",
"policy_data": policy
"message": "Полис найден в базе"
# policy_data не отдаем (для продакшна)
}
else:
return {