mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-22 14:35: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:
@@ -467,6 +467,34 @@ export const deTranslation = {
|
||||
testBtn: 'Verbindung testen',
|
||||
testingBtn: 'Teste…',
|
||||
serverCompatible: 'Kompatibel mit: Navidrome · Gonic · Airsonic · Subsonic',
|
||||
userMgmtTitle: 'Benutzerverwaltung',
|
||||
userMgmtDesc: 'Benutzer auf diesem Server verwalten. Erfordert Admin-Rechte.',
|
||||
userMgmtNoAdmin: 'Du brauchst Admin-Rechte, um Benutzer auf diesem Server zu verwalten.',
|
||||
userMgmtLoadError: 'Benutzer konnten nicht geladen werden.',
|
||||
userMgmtEmpty: 'Keine Benutzer gefunden.',
|
||||
userMgmtYouBadge: 'Du',
|
||||
userMgmtAdminBadge: 'Admin',
|
||||
userMgmtAddUser: 'Benutzer hinzufügen',
|
||||
userMgmtAddUserTitle: 'Neuen Benutzer anlegen',
|
||||
userMgmtEditUserTitle: 'Benutzer bearbeiten',
|
||||
userMgmtUsername: 'Benutzername',
|
||||
userMgmtName: 'Anzeigename',
|
||||
userMgmtEmail: 'E-Mail',
|
||||
userMgmtPassword: 'Passwort',
|
||||
userMgmtPasswordEditHint: 'Neues Passwort eingeben, um es zu ändern.',
|
||||
userMgmtRoleAdmin: 'Admin',
|
||||
userMgmtSave: 'Speichern',
|
||||
userMgmtCancel: 'Abbrechen',
|
||||
userMgmtDelete: 'Löschen',
|
||||
userMgmtEdit: 'Bearbeiten',
|
||||
userMgmtConfirmDelete: 'Benutzer „{{username}}" löschen? Das kann nicht rückgängig gemacht werden.',
|
||||
userMgmtCreateError: 'Benutzer konnte nicht angelegt werden.',
|
||||
userMgmtUpdateError: 'Benutzer konnte nicht aktualisiert werden.',
|
||||
userMgmtDeleteError: 'Benutzer konnte nicht gelöscht werden.',
|
||||
userMgmtCreated: 'Benutzer angelegt.',
|
||||
userMgmtUpdated: 'Benutzer aktualisiert.',
|
||||
userMgmtDeleted: 'Benutzer gelöscht.',
|
||||
userMgmtValidationMissing: 'Benutzername, Anzeigename und Passwort sind erforderlich.',
|
||||
audiomuseTitle: 'AudioMuse-AI (Navidrome)',
|
||||
audiomuseDesc:
|
||||
'Aktivieren, wenn dieser Server das <pluginLink>AudioMuse-AI-Navidrome-Plugin</pluginLink> nutzt. Schaltet Instant Mix pro Titel frei und nutzt ähnliche Künstler vom Server statt Last.fm auf Künstlerseiten.',
|
||||
@@ -627,6 +655,7 @@ export const deTranslation = {
|
||||
randomNavSplitDesc: '"Zufallsmix" und "Zufallsalben" als separate Sidebar-Einträge statt als "Mix erstellen"-Hub anzeigen.',
|
||||
tabInput: 'Eingabe',
|
||||
tabServer: 'Server',
|
||||
tabUsers: 'Benutzer',
|
||||
shortcutsReset: 'Auf Standard zurücksetzen',
|
||||
shortcutListening: 'Taste drücken…',
|
||||
shortcutUnbound: '—',
|
||||
|
||||
Reference in New Issue
Block a user