feat(users): per-user library assignment + themed confirm modal (#222)

Adds Navidrome library assignment to the User Management settings
panel: GET /api/library + PUT /api/user/{id}/library wired through
new Rust commands. UserForm gets a checkbox picker (hidden for
admins, who auto-receive all libraries server-side) with inline
validation. User rows compacted to a single clickable line with
hover highlight; native confirm() replaced by a portal-based
ConfirmModal (theme-aware, ESC/Enter, vertically centered).

Co-authored-by: Psychotoxical <dev@psysonic.app>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Frank Stellmacher
2026-04-20 22:18:10 +02:00
committed by GitHub
parent 6d3c50264a
commit 459c9f688d
13 changed files with 392 additions and 66 deletions
+6
View File
@@ -473,6 +473,12 @@ export const frTranslation = {
userMgmtPassword: 'Mot de passe',
userMgmtPasswordEditHint: 'Saisir un nouveau mot de passe pour le modifier.',
userMgmtRoleAdmin: 'Admin',
userMgmtLibraries: 'Bibliothèques',
userMgmtLibrariesAdminHint: 'Les utilisateurs admin ont automatiquement accès à toutes les bibliothèques.',
userMgmtLibrariesEmpty: 'Aucune bibliothèque disponible sur ce serveur.',
userMgmtLibrariesValidation: 'Sélectionnez au moins une bibliothèque.',
userMgmtLibrariesUpdateError: 'Utilisateur enregistré, mais l\u2019attribution des bibliothèques a échoué',
userMgmtNoLibraries: 'Aucune bibliothèque attribuée',
userMgmtSave: 'Enregistrer',
userMgmtCancel: 'Annuler',
userMgmtDelete: 'Supprimer',