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:
@@ -457,6 +457,34 @@ export const frTranslation = {
|
||||
testBtn: 'Tester la connexion',
|
||||
testingBtn: 'Test en cours…',
|
||||
serverCompatible: 'Compatible avec : Navidrome · Gonic · Airsonic · Subsonic',
|
||||
userMgmtTitle: 'Gestion des utilisateurs',
|
||||
userMgmtDesc: 'Gérer les utilisateurs sur ce serveur. Nécessite des privilèges administrateur.',
|
||||
userMgmtNoAdmin: 'Vous devez être administrateur pour gérer les utilisateurs sur ce serveur.',
|
||||
userMgmtLoadError: 'Impossible de charger les utilisateurs.',
|
||||
userMgmtEmpty: 'Aucun utilisateur trouvé.',
|
||||
userMgmtYouBadge: 'Vous',
|
||||
userMgmtAdminBadge: 'Admin',
|
||||
userMgmtAddUser: 'Ajouter un utilisateur',
|
||||
userMgmtAddUserTitle: 'Nouvel utilisateur',
|
||||
userMgmtEditUserTitle: 'Modifier l’utilisateur',
|
||||
userMgmtUsername: 'Nom d’utilisateur',
|
||||
userMgmtName: 'Nom affiché',
|
||||
userMgmtEmail: 'E-mail',
|
||||
userMgmtPassword: 'Mot de passe',
|
||||
userMgmtPasswordEditHint: 'Saisir un nouveau mot de passe pour le modifier.',
|
||||
userMgmtRoleAdmin: 'Admin',
|
||||
userMgmtSave: 'Enregistrer',
|
||||
userMgmtCancel: 'Annuler',
|
||||
userMgmtDelete: 'Supprimer',
|
||||
userMgmtEdit: 'Modifier',
|
||||
userMgmtConfirmDelete: 'Supprimer l’utilisateur « {{username}} » ? Action irréversible.',
|
||||
userMgmtCreateError: 'Impossible de créer l’utilisateur.',
|
||||
userMgmtUpdateError: 'Impossible de mettre à jour l’utilisateur.',
|
||||
userMgmtDeleteError: 'Impossible de supprimer l’utilisateur.',
|
||||
userMgmtCreated: 'Utilisateur créé.',
|
||||
userMgmtUpdated: 'Utilisateur mis à jour.',
|
||||
userMgmtDeleted: 'Utilisateur supprimé.',
|
||||
userMgmtValidationMissing: 'Nom d’utilisateur, nom affiché et mot de passe sont requis.',
|
||||
audiomuseTitle: 'AudioMuse-AI (Navidrome)',
|
||||
audiomuseDesc:
|
||||
'Activez si ce serveur utilise le <pluginLink>plugin Navidrome AudioMuse-AI</pluginLink>. Active le mix instantané depuis un morceau et affiche les artistes similaires côté serveur au lieu de Last.fm sur les pages artiste.',
|
||||
@@ -615,6 +643,7 @@ export const frTranslation = {
|
||||
randomNavSplitDesc: 'Afficher "Mix Aléatoire" et "Albums Aléatoires" comme entrées séparées dans la barre latérale plutôt que le hub "Créer un Mix".',
|
||||
tabInput: 'Entrée',
|
||||
tabServer: 'Serveur',
|
||||
tabUsers: 'Utilisateurs',
|
||||
shortcutsReset: 'Réinitialiser',
|
||||
shortcutListening: 'Appuyez sur une touche…',
|
||||
shortcutUnbound: '—',
|
||||
|
||||
Reference in New Issue
Block a user