mirror of
https://github.com/wasrusgen/zov-tech.git
synced 2026-06-03 16:24:50 +00:00
4.4 KiB
4.4 KiB
Claude — правила работы с проектом zov-tech
⚠️ ОБЯЗАТЕЛЬНЫЙ PRE-COMMIT CHECKLIST для любых UI/CSS изменений
Перед каждым git commit с изменениями в miniapp/ — пройти все пункты:
1. Цвет и читаемость
- Используется ли
color: transparentдля скрытия текста? (НЕvar(--card)— она зависит от Telegram-темы и может быть не нужным цветом) - Нет ли текста, где
colorиbackgroundодинаковы только в светлой теме? - Проверены ли все 4 темы: Default, Foundry, Boardroom, Atelier — в каждой из них
--card,--paper,--ink,--mutedмогут быть разными - Если добавляется новый CSS-класс — указан ли явный
color:(не наследование)?
2. Новые CSS-классы
- Для каждого нового класса (
.foo) — проверить, что стили явно определены и не полагаются на наследование отbody - Добавлены ли стили для всех тем (ищи блоки
[data-theme="foundry"],[data-theme="boardroom"],[data-theme="atelier"]в styles.css)?
3. Версия кэша
- Бамп
?v=вindex.htmlдля каждого изменённого.cssили.jsфайла - Формат:
?v=YYYYMMDD[буква]— буква растёт по алфавиту в течение дня
4. Деплой
- После
git push— GitHub Actions деплоит ~1-2 мин (смотреть на вкладке Actions в GitHub) - VPS (бот + бэкенд) обновляется отдельно:
ssh root@94.241.170.144 "cd /opt/zov-tech && git pull && docker compose -f deploy/docker-compose.yml up -d --build bot"
Архитектура проекта
miniapp/ → статика, деплой через GitHub Pages (github.com/wasrusgen/zov-tech)
bot/ → Telegram-бот, работает на VPS 94.241.170.144
backend-py/ → FastAPI-бэкенд, работает на VPS
deploy/ → docker-compose.yml, Caddyfile.snippet
- MINIAPP_URL:
https://wasrusgen.github.io/zov-tech/ - API:
https://api.wasrusgen1.pro - VPS SSH:
ssh -i ~/.ssh/zov_vps_ed25519 root@94.241.170.144
CSS-переменные по темам
| Переменная | Default (светлая) | Foundry | Boardroom | Atelier |
|---|---|---|---|---|
--card |
tg-section-bg (≈белый) |
#EAE3CC |
#EDE5D0 |
#FFFFFF |
--ink |
tg-text-color |
#1A150E |
#1A150E |
тёмный |
--muted |
серый | #7A6E5F |
#6B6256 |
серый |
⚠️
var(--card)в дефолтной теме читается из--tg-theme-section-bg-colorTelegram. В тёмном Telegram-клиенте это НЕ белый цвет. Для полного скрытия текста — толькоcolor: transparent.
Типичные ошибки (уже были)
color: var(--card)для скрытия текста → не работает:--cardзависит от Telegram-темы и может не совпадать с фактическим фономcolor: transparentдля скрытия текста → НЕ использовать: создаёт "дырку" — буквы просвечивают фон страницы за карточкой, силуэт текста виден- Правильный способ скрыть текст →
opacity: 0— элемент невидим полностью, место сохраняет, никаких артефактов - Новый JS-класс без CSS → текст наследует
color: var(--ink)от body → видим на фоне карточки - Не бамп версии → WebView грузит старый кэш → изменения не видны
var(--card)как фон у hero-секции → при изменении темы текст становится невидимым (светлый текст на светлом фоне). Решение: явныйcolor: var(--ink)inline