feat: Telegram Mini App integration and UX improvements

- Добавлена полная интеграция с Telegram Mini App (динамическая загрузка SDK)
- Отдельный компактный дизайн для Telegram Mini App
- Добавлен loader при инициализации (предотвращает мелькание SMS-авторизации)
- Улучшена навигация: кнопки "Назад" и "К списку заявок" теперь сохраняют авторизацию
- Telegram Mini App: кнопка "Выход" просто закрывает приложение
- Telegram Mini App: заявки "В работе" скрыты из списка
- Веб-версия: для заявок "В работе" добавлена кнопка "Просмотреть в Telegram" (ссылка на @klientprav_bot)
- Telegram Mini App: кнопки действий в черновиках расположены вертикально
- Веб-версия: убрано отображение номера телефона в приветствии
- Исправлена проблема с возвратом к списку черновиков (не требует повторной SMS-авторизации)
- Заблокировано удаление и редактирование заявок со статусом "В работе"
- Добавлена документация по Telegram Mini App интеграции
This commit is contained in:
AI Assistant
2026-01-29 16:12:48 +03:00
parent 73524465fd
commit 2e45786e46
57 changed files with 6776 additions and 234 deletions

View File

@@ -1,3 +1,4 @@
/* ========== ВЕБ (дефолт): как в aiform_dev ========== */
.claim-form-container {
min-height: 100vh;
padding: 40px 20px;
@@ -51,3 +52,76 @@
}
}
/* ========== Telegram Mini App: отдельный компактный скин ========== */
.claim-form-container.telegram-mini-app {
min-height: 100vh;
min-height: 100dvh;
padding: 12px 10px max(16px, env(safe-area-inset-bottom));
align-items: flex-start;
justify-content: flex-start;
}
.claim-form-container.telegram-mini-app .claim-form-card {
max-width: 100%;
box-shadow: none;
border-radius: 10px;
border: 1px solid rgba(0, 0, 0, 0.08);
}
.claim-form-container.telegram-mini-app .claim-form-card .ant-card-head {
padding: 10px 12px;
min-height: auto;
}
.claim-form-container.telegram-mini-app .claim-form-card .ant-card-head-title {
font-size: 16px;
font-weight: 600;
line-height: 1.3;
white-space: normal;
}
.claim-form-container.telegram-mini-app .claim-form-card .ant-card-body {
padding: 12px;
}
.claim-form-container.telegram-mini-app .steps {
margin-bottom: 16px;
}
.claim-form-container.telegram-mini-app .steps .ant-steps-item-title {
font-size: 12px;
line-height: 1.2;
}
.claim-form-container.telegram-mini-app .steps .ant-steps-item-description {
font-size: 11px;
}
.claim-form-container.telegram-mini-app .steps-content {
min-height: 280px;
padding: 8px 4px 12px;
}
.claim-form-container.telegram-mini-app .ant-btn {
font-size: 14px;
}
.claim-form-container.telegram-mini-app .ant-input,
.claim-form-container.telegram-mini-app .ant-select-selector {
font-size: 16px;
}
.claim-form-container.telegram-mini-app .ant-card-extra .ant-space-item .ant-btn,
.claim-form-container.telegram-mini-app .ant-card-extra button {
padding: 6px 10px;
font-size: 13px;
}
/* Кнопки действий в черновиках - вертикально в Telegram */
.claim-form-container.telegram-mini-app .draft-actions {
flex-direction: column !important;
}
.claim-form-container.telegram-mini-app .draft-actions .ant-btn {
width: 100%;
}