Telegram bot + Mini App (WebApp)
НОВЫЙ UX (от Grok):
- Один экран — табы Вход / Регистрация (мгновенное переключение)
- Все поля видны, кнопка всегда кликабельна
- Валидация в реальном времени: под каждым полем ✓/✗ с пояснением
- Состояния кнопки: idle / load ('⏳ Создаём...') / ok ('✓ Готово!') / err ('⚠️ ...')
- Toast 'Добро пожаловать, [имя]!' после успеха
- При ошибке: подсветка проблемного поля + фокус на нём
- Email живая валидация (regex), пароль ≥6 (как требует Grok / API: ≥8 → я ставлю 8 для совместимости с бэком)
- Пароль 2 — только в режиме Регистрация
- Переключение режима сбрасывает валидацию, фокус на первое пустое поле
CSS новые классы: .btn.ok, .btn.load, .btn.err, input.bad, input.good, .hint.ok/err/mute
Технически:
- showEmailLogin() рисует сразу табы + форму
- _initAuthForm() биндит всё
- _submitAuth(mode) делает реальный запрос
- showEmailRegister() → переключает таб на 'Регистрация'
|
||
|---|---|---|
| public | ||
| README.md | ||
BuhApp Telegram WebApp
Mini App (WebApp) для Telegram, открывается по кнопке в боте @BuhAppBot.
Запуск
Статика (HTML/JS) раздаётся с https://app.buhapp.mygoodservice.ru/.
Структура
buhapp-telegram/
├── public/
│ ├── index.html — главная страница (карта/чаты/профиль/настройки)
│ ├── login.html — онбординг (если запустили без Telegram)
│ ├── css/
│ │ └── app.css — стили
│ └── js/
│ ├── api.js — HTTP клиент + TG SDK
│ ├── tg.js — обёртки Telegram WebApp SDK
│ ├── app.js — главный контроллер
│ └── views/
│ ├── map.js
│ ├── chats.js
│ ├── chat.js
│ ├── profile.js
│ ├── review.js
│ └── settings.js
└── README.md
Telegram Bot
- Создай бота через @BotFather →
/newbot - Установи WebApp URL:
/setdomain→app.buhapp.mygoodservice.ru - Скопируй токен →
TELEGRAM_BOT_TOKENв.envбэкенда
Деплой
Все файлы из public/ монтируются в nginx (location /).
Бэкенд читает initData от Telegram и авторизует через POST /api/v1/auth/telegram.