mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-22 06:25:41 +00:00
feat(settings): admin-gated User Management tab via Navidrome REST API
Adds a dedicated Settings tab for managing Navidrome users (list, create, edit, delete). Only visible to admins — gated by `/auth/login` probe on mount. Uses Navidrome's native /api/user endpoints instead of Subsonic (getUsers.view etc. return only the caller on Navidrome). All HTTP calls go through new Rust commands to bypass WebView CORS. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -474,6 +474,34 @@ export const ruTranslation = {
|
||||
testBtn: 'Проверить',
|
||||
testingBtn: 'Проверка…',
|
||||
serverCompatible: 'Совместимость: Navidrome · Gonic · Airsonic · Subsonic',
|
||||
userMgmtTitle: 'Управление пользователями',
|
||||
userMgmtDesc: 'Управляйте пользователями этого сервера. Требуются права администратора.',
|
||||
userMgmtNoAdmin: 'Для управления пользователями на этом сервере нужны права администратора.',
|
||||
userMgmtLoadError: 'Не удалось загрузить пользователей.',
|
||||
userMgmtEmpty: 'Пользователи не найдены.',
|
||||
userMgmtYouBadge: 'Вы',
|
||||
userMgmtAdminBadge: 'Админ',
|
||||
userMgmtAddUser: 'Добавить пользователя',
|
||||
userMgmtAddUserTitle: 'Новый пользователь',
|
||||
userMgmtEditUserTitle: 'Изменить пользователя',
|
||||
userMgmtUsername: 'Имя пользователя',
|
||||
userMgmtName: 'Отображаемое имя',
|
||||
userMgmtEmail: 'E-mail',
|
||||
userMgmtPassword: 'Пароль',
|
||||
userMgmtPasswordEditHint: 'Введите новый пароль, чтобы изменить его.',
|
||||
userMgmtRoleAdmin: 'Админ',
|
||||
userMgmtSave: 'Сохранить',
|
||||
userMgmtCancel: 'Отмена',
|
||||
userMgmtDelete: 'Удалить',
|
||||
userMgmtEdit: 'Изменить',
|
||||
userMgmtConfirmDelete: 'Удалить пользователя «{{username}}»? Действие нельзя отменить.',
|
||||
userMgmtCreateError: 'Не удалось создать пользователя.',
|
||||
userMgmtUpdateError: 'Не удалось обновить пользователя.',
|
||||
userMgmtDeleteError: 'Не удалось удалить пользователя.',
|
||||
userMgmtCreated: 'Пользователь создан.',
|
||||
userMgmtUpdated: 'Пользователь обновлён.',
|
||||
userMgmtDeleted: 'Пользователь удалён.',
|
||||
userMgmtValidationMissing: 'Требуются имя пользователя, отображаемое имя и пароль.',
|
||||
audiomuseTitle: 'AudioMuse-AI (Navidrome)',
|
||||
audiomuseDesc:
|
||||
'Включите, если на этом сервере настроен <pluginLink>плагин AudioMuse-AI для Navidrome</pluginLink>. Появится Instant Mix для треков, а на странице исполнителя похожие будут браться с сервера вместо Last.fm.',
|
||||
@@ -642,6 +670,7 @@ export const ruTranslation = {
|
||||
randomNavSplitDesc: 'Показывать «Случайный микс» и «Случайные альбомы» как отдельные пункты боковой панели вместо хаба «Собрать микс».',
|
||||
tabInput: 'Ввод',
|
||||
tabServer: 'Сервер',
|
||||
tabUsers: 'Пользователи',
|
||||
tabSystem: 'Система',
|
||||
tabGeneral: 'Общие',
|
||||
ratingsSectionTitle: 'Рейтинги',
|
||||
|
||||
Reference in New Issue
Block a user