Admin UX: light/dark theme, gallery pagination, content modal + delete, openai type

- Light/dark theme toggle persisted in localStorage
- Gallery pagination: page size 50/100/150/200 with prev/next
- Fullscreen modal viewer (image/video/audio) with metadata and delete
- Delete content: DELETE /api/generations/:id removes file (media-dir guarded)
  and journal record; added Journal.deleteById
- Provider types now include openai
- HTML output escaping in UI
This commit is contained in:
OpenCode
2026-08-17 18:13:36 +07:00
parent 6ff2b27556
commit 1bc3746594
5 changed files with 216 additions and 31 deletions
+3 -2
View File
@@ -162,9 +162,10 @@ npm run admin
```
Возможности:
- **Тема** — переключатель светлая/тёмная (сохраняется в localStorage).
- **Потребление** — дашборд трат: суммарно, по провайдерам, по возможностям, по дням (из журнала).
- **Галерея** — просмотр сгенерированного контента (изображения/аудио/видео), фильтр по возможности.
- **Провайдеры** — добавить/включить/выключить, назначить default, ввести ключ (шифруется), **проверить ключ** реальным вызовом. Ключи показываются только маской.
- **Галерея** — просмотр сгенерированного контента (изображения/аудио/видео), фильтр по возможности, пагинация 50/100/150/200, модальное окно на весь экран, удаление контента (файл + запись).
- **Провайдеры** — добавить/включить/выключить, назначить default, ввести ключ (шифруется), **проверить ключ** реальным вызовом, типы `nordrouter` и `openai`. Ключи показываются только маской.
Переменные: `NEXUS_ADMIN_HOST` (default `127.0.0.1`), `NEXUS_ADMIN_PORT` (default `4123`), `NEXUS_MASTER_KEY` (для ключей).