# sm-ui — Sashko Music Mini App

Vanilla JS + HTML + CSS. Деплоїться на S3 + CloudFront.

## Структура

```
sm-ui/
└── public/
    ├── index.html   — точка входу, підключає Telegram WebApp SDK
    ├── style.css    — стилі (використовує CSS змінні Telegram теми)
    └── app.js       — ініціалізація Telegram.WebApp
```

## Локальна розробка

```bash
cd sm-ui/public
python3 -m http.server 8090
# → http://localhost:8090
```

Файли оновлюються одразу — просто перезавантаж браузер.

## Підключення до Telegram (dev)

Telegram вимагає HTTPS. Для локального тестування — Tailscale Funnel:

```bash
tailscale funnel 8090
# Отримуєш стабільний HTTPS URL вигляду https://<machine>.ts.net
```

Потім:
1. `@BotFather` → вибери бота → **Menu Button** → вставити URL
2. Або надіслати `/app` у чат — бот відповість кнопкою з WebApp

Щоб бот знав URL — встанови env перед запуском:
```bash
TGBOT_WEBAPP_URL=https://<machine>.ts.net ./gradlew :sm-main-agent:bootRun
```

## Деплой (prod) — S3 + CloudFront

```bash
# Завантажити файли у S3
aws s3 sync sm-ui/public/ s3://<bucket-name>/ --delete

# Інвалідувати CloudFront кеш
aws cloudfront create-invalidation --distribution-id <dist-id> --paths "/*"
```

Після деплою оновити `TGBOT_WEBAPP_URL` у docker-compose / secrets на CloudFront URL.
