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

203
DEPLOYMENT.md Normal file
View File

@@ -0,0 +1,203 @@
# 🚀 Руководство по деплою: DEV → PROD
## 📍 Текущая структура
- **DEV:** http://147.45.146.17:5177/ (папка `aiform_dev/`)
- **PROD:** https://aiform.clientright.ru/ (домен продакшна)
---
## 🎯 Быстрый перенос изменений (1 команда)
```bash
cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form
./deploy-to-prod.sh
```
Этот скрипт:
1. ✅ Проверит незакоммиченные изменения
2. ✅ Отправит код в git репозитории (dev и prod)
3. ✅ Пересоберёт PROD контейнеры
4. ✅ Перезапустит PROD окружение
---
## 📝 Пошаговый процесс (вручную)
### Шаг 1: Сохранить изменения в git
```bash
cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form
# Проверить что изменилось
git status
# Добавить изменения
git add .
# Закоммитить
git commit -m "feat: Описание изменений"
# Отправить в dev репозиторий
git push aiform_dev main # или master
```
### Шаг 2: Отправить в prod репозиторий
```bash
# Отправить в prod
git push aiform_prod main # или master
```
### Шаг 3: Обновить PROD контейнеры
```bash
# Пересобрать
docker-compose -f docker-compose.prod.yml build
# Перезапустить
docker-compose -f docker-compose.prod.yml down
docker-compose -f docker-compose.prod.yml up -d
```
---
## 🔧 Про .env файл
### Почему один .env, а не два?
**✅ Преимущества одного .env:**
- Проще поддерживать (один файл вместо двух)
- Меньше путаницы
- Режим переключается через переменную `APP_ENV` в docker-compose
**Как это работает:**
В `docker-compose.dev.yml`:
```yaml
environment:
- APP_ENV=development # Переопределяет значение из .env
- DEBUG=true
```
В `docker-compose.prod.yml`:
```yaml
environment:
- APP_ENV=production # Переопределяет значение из .env
- DEBUG=false
```
**Ваш `.env` файл остаётся один**, но docker-compose переопределяет нужные переменные для каждого окружения.
---
## 📊 Структура репозиториев
```
Gitea (http://147.45.146.17:3002/negodiy):
├─ aiform_dev → DEV версия (http://147.45.146.17:5177/)
├─ aiform_prod → PROD версия (https://aiform.clientright.ru/)
└─ erv-platform → Основной репозиторий
```
**Локальные папки:**
- `/var/www/.../aiform_dev/` → DEV окружение
- `/var/www/.../ticket_form/` → Основной проект (может быть и DEV и PROD)
---
## 🔄 Типичный workflow
### 1. Разработка в DEV
```bash
cd /var/www/fastuser/data/www/crm.clientright.ru/aiform_dev
# или
cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form
# Вносите изменения
# Тестируете на http://147.45.146.17:5177/
```
### 2. Когда готово → деплой в PROD
```bash
cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form
# Вариант 1: Автоматический (рекомендуется)
./deploy-to-prod.sh
# Вариант 2: Вручную
git add .
git commit -m "feat: Описание"
git push aiform_prod main
docker-compose -f docker-compose.prod.yml up -d --build
```
### 3. Проверка PROD
```bash
# Проверить статус
docker-compose -f docker-compose.prod.yml ps
# Проверить логи
docker-compose -f docker-compose.prod.yml logs -f
# Открыть в браузере
# https://aiform.clientright.ru/
```
---
## ⚠️ Важные моменты
1. **Всегда тестируйте в DEV перед деплоем в PROD**
2. **Проверяйте `.env` файл** — убедитесь что там правильные настройки
3. **В PROD `APP_ENV=production` и `DEBUG=false`** (устанавливается через docker-compose)
4. **Не коммитьте `.env`** — он в `.gitignore`
5. **После деплоя проверяйте логи**`docker-compose -f docker-compose.prod.yml logs`
---
## 🐛 Откат изменений (если что-то пошло не так)
```bash
# Откатить к предыдущему коммиту
cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form
git log --oneline -5 # Найти нужный коммит
git checkout <commit-hash>
git push aiform_prod main --force
# Пересобрать
docker-compose -f docker-compose.prod.yml up -d --build
```
---
## 📞 Полезные команды
```bash
# Статус контейнеров
docker ps | grep aiform
# Логи DEV
docker logs aiform_frontend_dev -f
docker logs aiform_backend_dev -f
# Логи PROD
docker logs ticket_form_frontend_prod -f
docker logs ticket_form_backend_prod -f
# Перезапуск PROD
docker-compose -f docker-compose.prod.yml restart
# Полная пересборка PROD
docker-compose -f docker-compose.prod.yml down
docker-compose -f docker-compose.prod.yml up -d --build
```
---
**Автор:** AI Assistant + Фёдор
**Дата:** 2 января 2025