Telegram bot + Mini App (WebApp)
ДИЗАЙН-СИСТЕМА в app.css: - --primary #FF6B35, --success #3dd68c, --danger #ff5c5c - --bg #0f0f12, --bg-elev #1a1a22, --bg-input #121218 - Компоненты: .card-b, .row-b, .field-b, .btn-b, .switch-b, .chip, .avatar-b, .bubble-b, .composer-b, .toast-b, .stars-b, .pulse-b, .empty-b ПЕРЕПИСАНЫ на единый стиль: Settings: - Карточка с аватаром пользователя - Card-row для юр.документов (📄 / 🔒 / ⚠️) - 'Выйти' — danger btn-b с state machine (idle→load→ok) Profile: - Карточка аватара + кнопка 'Загрузить фото' через multipart /api/v1/me/photo - Поля: field-b (ctrl + hint) - Чипы в chip-list, новый стиль с .on - Счётчик bio символов - 'Сохранить' со state machine + toast Review (создание): - Звёзды в stars-b с center hint - textarea с counter - switch-b 'Анонимно' (вместо checkbox) - Submit со state machine + toast 'Спасибо за отзыв!' UserReviews: - Средний рейтинг + звёзды - Список карточек с отзывами Chats: - Список с avatar-b + last message + время + badge непрочитанных - Пустое состояние с эмодзи - formatChatTime() — 'сейчас' / '5м' / '3ч' / '2д' Chat (один): - Header с аватаром и кнопками 👤 ⭐ - composer-b: 📎 + input + ➤ (sticky bottom) - bubble-b .in / .out с .ticks.read - Send со state + toast - sendPhoto() для фоток в чате App.js _toast(msg, kind): - Единый toast-b с классами ok / err Всё в одном стиле. CSS variables, padding 16, radius 14, no disabled кнопок. |
||
|---|---|---|
| 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.