# astro-admin — админка Астромаяка (admin.astromayak.ru) Vue 3 + Vite + Tailwind. Бэкенд: `admin_api.py` в astro-bot (`/admin/api/*`). ## Важно: исходников .vue на сервере нет Они жили на старом DEV (194.113.209.6, `/opt/astro-deploy/astro-admin/frontend/`), который выведен из эксплуатации. В этом репозитории каноникой является **`dist/`** — собранные файлы, которые nginx раздаёт как есть (Dockerfile просто `COPY dist /usr/share/nginx/html`). ## Деплой ```sh # на .175 (193.187.92.66): cd /tmp && rm -rf astro-admin-deploy && git clone https://git.mkn8n.ru/Mk/astro-admin.git astro-admin-deploy cp -r astro-admin-deploy/dist/* /opt/astro-deploy/astro-admin/dist/ docker cp /opt/astro-deploy/astro-admin/dist astro-admin:/usr/share/nginx/html/dist_tmp # или напрямую в контейнер: for f in $(ls astro-admin-deploy/dist/assets); do docker cp astro-admin-deploy/dist/assets/$f astro-admin:/usr/share/nginx/html/assets/$f; done docker cp astro-admin-deploy/dist/index.html astro-admin:/usr/share/nginx/html/index.html ``` Перед правкой живого контейнера — бэкап файла рядом (`cp X.js X.js.bak-<дата>`). ## Известный фикс (2026-10-08): пустые списки на мобильных В `Subscriptions-*.js`, `Users-*.js`, `Payments-*.js` был шаблонный баг: `данные?таблица:данные?карточки:«пусто»` — вторая ветка недостижима, а таблица скрыта на телефоне (`hidden md:block`). На Android при живых данных показывало «Подписок нет» / «Нет клиентов» / пустые платежи. Фикс (скрипт `scripts/mobilefix.py`): `length?(desktop):length?(mobile):(empty)` → `length?[(desktop),(mobile)]:(empty)`. Проверка синтаксиса: `node --check`.