mirror of
https://github.com/Psychotoxical/psysonic.git
synced 2026-07-22 23:35:44 +00:00
feat(settings): compact server cards with capability badges (#1054)
* feat(settings): redesign server cards with identity line and capability badges Compact two-line server headers (entry name + user@host), HTTPS lock, and a clickable version info tooltip. Navidrome ≥0.62 shows a green AudioMuse inline badge; older Navidrome keeps the manual toggle row. Adds click-pinned tooltips via data-tooltip-click on TooltipPortal. * feat(settings): unify use/active slot and move delete into edit form Merge Active badge and Use button into one rightmost action; Active uses green styling. Reorder actions to edit, test, use/active. Remove the card delete icon — deletion lives in the server edit form footer. * docs: note compact server cards in CHANGELOG and credits (PR #1054) * fix(credits): move PR #1054 server cards line to cucadmuh block Was appended to Psychotoxical's contributions array by mistake; CHANGELOG already credited cucadmuh (gh pr view author).
This commit is contained in:
@@ -47,6 +47,7 @@ export const settings = {
|
||||
deleteServer: 'Löschen',
|
||||
noServers: 'Keine Server gespeichert.',
|
||||
serverActive: 'Aktiv',
|
||||
serverVersionUnknown: 'Serverversion unbekannt',
|
||||
confirmDeleteServer: 'Server „{{name}}" löschen?',
|
||||
confirmDeleteServerLibrary: 'Auch den lokalen Bibliotheksindex dieses Servers löschen? Auf Abbrechen klicken, um die zwischengespeicherte Kopie für die Offline-Nutzung zu behalten.',
|
||||
serverConnecting: 'Verbinde…',
|
||||
@@ -106,6 +107,7 @@ export const settings = {
|
||||
userMgmtMagicStringModalDesc: 'Subsonic-Passwort für „{{username}}" eingeben — es wird in den kopierten Magic-String übernommen.',
|
||||
userMgmtMagicStringModalConfirm: 'String kopieren',
|
||||
audiomuseTitle: 'AudioMuse-AI (Navidrome)',
|
||||
audiomuseBadge: 'AudioMuse-AI',
|
||||
audiomuseStatusActive: 'Aktiv',
|
||||
audiomuseStatusChecking: 'Wird geprüft…',
|
||||
audiomuseStatusNotDetected: 'Nicht erkannt',
|
||||
|
||||
@@ -47,6 +47,7 @@ export const settings = {
|
||||
deleteServer: 'Delete',
|
||||
noServers: 'No servers saved.',
|
||||
serverActive: 'Active',
|
||||
serverVersionUnknown: 'Server version unknown',
|
||||
confirmDeleteServer: 'Delete server "{{name}}"?',
|
||||
confirmDeleteServerLibrary: 'Also delete this server\'s local library index? Click Cancel to keep the cached copy for offline use.',
|
||||
serverConnecting: 'Connecting…',
|
||||
@@ -106,6 +107,7 @@ export const settings = {
|
||||
userMgmtMagicStringModalDesc: 'Enter the Subsonic password for "{{username}}". It is included in the copied magic string.',
|
||||
userMgmtMagicStringModalConfirm: 'Copy string',
|
||||
audiomuseTitle: 'AudioMuse-AI (Navidrome)',
|
||||
audiomuseBadge: 'AudioMuse-AI',
|
||||
audiomuseDesc:
|
||||
'Turn on if this server has the <pluginLink>AudioMuse-AI Navidrome plugin</pluginLink> configured. Enables Instant Mix from tracks and uses server-side similar artists instead of Last.fm on artist pages.',
|
||||
audiomuseStatusActive: 'Active',
|
||||
|
||||
@@ -47,6 +47,7 @@ export const settings = {
|
||||
deleteServer: 'Eliminar',
|
||||
noServers: 'No hay servidores guardados.',
|
||||
serverActive: 'Activo',
|
||||
serverVersionUnknown: 'Versión del servidor desconocida',
|
||||
confirmDeleteServer: '¿Eliminar servidor "{{name}}"?',
|
||||
serverConnecting: 'Conectando…',
|
||||
serverConnected: '¡Conectado!',
|
||||
@@ -105,6 +106,7 @@ export const settings = {
|
||||
userMgmtMagicStringModalDesc: 'Introduce la contraseña Subsonic de «{{username}}». Se incluirá en la cadena mágica copiada.',
|
||||
userMgmtMagicStringModalConfirm: 'Copiar cadena',
|
||||
audiomuseTitle: 'AudioMuse-AI (Navidrome)',
|
||||
audiomuseBadge: 'AudioMuse-AI',
|
||||
audiomuseStatusActive: 'Activo',
|
||||
audiomuseStatusChecking: 'Comprobando…',
|
||||
audiomuseStatusNotDetected: 'No detectado',
|
||||
|
||||
@@ -47,6 +47,7 @@ export const settings = {
|
||||
deleteServer: 'Supprimer',
|
||||
noServers: 'Aucun serveur enregistré.',
|
||||
serverActive: 'Actif',
|
||||
serverVersionUnknown: 'Version du serveur inconnue',
|
||||
confirmDeleteServer: 'Supprimer le serveur « {{name}} » ?',
|
||||
serverConnecting: 'Connexion…',
|
||||
serverConnected: 'Connecté !',
|
||||
@@ -105,6 +106,7 @@ export const settings = {
|
||||
userMgmtMagicStringModalDesc: 'Saisissez le mot de passe Subsonic de « {{username}} ». Il est inclus dans la chaîne magique copiée.',
|
||||
userMgmtMagicStringModalConfirm: 'Copier la chaîne',
|
||||
audiomuseTitle: 'AudioMuse-AI (Navidrome)',
|
||||
audiomuseBadge: 'AudioMuse-AI',
|
||||
audiomuseStatusActive: 'Actif',
|
||||
audiomuseStatusChecking: 'Vérification…',
|
||||
audiomuseStatusNotDetected: 'Non détecté',
|
||||
|
||||
@@ -47,6 +47,7 @@ export const settings = {
|
||||
deleteServer: 'Slett',
|
||||
noServers: 'Ingen tjenere lagret.',
|
||||
serverActive: 'Aktiv',
|
||||
serverVersionUnknown: 'Serverversjon ukjent',
|
||||
confirmDeleteServer: 'Slett tjener "{{name}}"?',
|
||||
serverConnecting: 'Kobler til…',
|
||||
serverConnected: 'Tilkoblet!',
|
||||
@@ -105,6 +106,7 @@ export const settings = {
|
||||
userMgmtMagicStringModalDesc: 'Skriv inn Subsonic-passordet for «{{username}}». Det tas med i den kopierte magic string-en.',
|
||||
userMgmtMagicStringModalConfirm: 'Kopier streng',
|
||||
audiomuseTitle: 'AudioMuse-AI (Navidrome)',
|
||||
audiomuseBadge: 'AudioMuse-AI',
|
||||
audiomuseStatusActive: 'Aktiv',
|
||||
audiomuseStatusChecking: 'Sjekker…',
|
||||
audiomuseStatusNotDetected: 'Ikke oppdaget',
|
||||
|
||||
@@ -47,6 +47,7 @@ export const settings = {
|
||||
deleteServer: 'Verwijderen',
|
||||
noServers: 'Geen servers opgeslagen.',
|
||||
serverActive: 'Actief',
|
||||
serverVersionUnknown: 'Serverversie onbekend',
|
||||
confirmDeleteServer: 'Server "{{name}}" verwijderen?',
|
||||
serverConnecting: 'Verbinden…',
|
||||
serverConnected: 'Verbonden!',
|
||||
@@ -105,6 +106,7 @@ export const settings = {
|
||||
userMgmtMagicStringModalDesc: 'Voer het Subsonic-wachtwoord voor „{{username}}" in. Het wordt opgenomen in de gekopieerde magic string.',
|
||||
userMgmtMagicStringModalConfirm: 'String kopiëren',
|
||||
audiomuseTitle: 'AudioMuse-AI (Navidrome)',
|
||||
audiomuseBadge: 'AudioMuse-AI',
|
||||
audiomuseStatusActive: 'Actief',
|
||||
audiomuseStatusChecking: 'Controleren…',
|
||||
audiomuseStatusNotDetected: 'Niet gedetecteerd',
|
||||
|
||||
@@ -47,6 +47,7 @@ export const settings = {
|
||||
deleteServer: 'Șterge',
|
||||
noServers: 'Niciun server salvat.',
|
||||
serverActive: 'Activ',
|
||||
serverVersionUnknown: 'Versiunea serverului necunoscută',
|
||||
confirmDeleteServer: 'Șterge server "{{name}}"?',
|
||||
serverConnecting: 'Se conectează…',
|
||||
serverConnected: 'Conectat!',
|
||||
@@ -105,6 +106,7 @@ export const settings = {
|
||||
userMgmtMagicStringModalDesc: 'Introdu parola Subsonic pentru "{{username}}". Este inclusă în string-ul magic copiat.',
|
||||
userMgmtMagicStringModalConfirm: 'Copiază string-ul',
|
||||
audiomuseTitle: 'AudioMuse-AI (Navidrome)',
|
||||
audiomuseBadge: 'AudioMuse-AI',
|
||||
audiomuseStatusActive: 'Activ',
|
||||
audiomuseStatusChecking: 'Se verifică…',
|
||||
audiomuseStatusNotDetected: 'Nedetectat',
|
||||
|
||||
@@ -47,6 +47,7 @@ export const settings = {
|
||||
deleteServer: 'Удалить',
|
||||
noServers: 'Нет сохранённых серверов.',
|
||||
serverActive: 'Активен',
|
||||
serverVersionUnknown: 'Версия сервера неизвестна',
|
||||
confirmDeleteServer: 'Удалить сервер «{{name}}»?',
|
||||
serverConnecting: 'Подключение…',
|
||||
serverConnected: 'Подключено!',
|
||||
@@ -105,6 +106,7 @@ export const settings = {
|
||||
userMgmtMagicStringModalDesc: 'Введите пароль Subsonic для «{{username}}» — он попадёт в копируемую magic string.',
|
||||
userMgmtMagicStringModalConfirm: 'Скопировать строку',
|
||||
audiomuseTitle: 'AudioMuse-AI (Navidrome)',
|
||||
audiomuseBadge: 'AudioMuse-AI',
|
||||
audiomuseStatusActive: 'Активно',
|
||||
audiomuseStatusChecking: 'Проверка…',
|
||||
audiomuseStatusNotDetected: 'Не обнаружено',
|
||||
|
||||
@@ -47,6 +47,7 @@ export const settings = {
|
||||
deleteServer: '删除',
|
||||
noServers: '未保存任何服务器。',
|
||||
serverActive: '当前使用',
|
||||
serverVersionUnknown: '服务器版本未知',
|
||||
confirmDeleteServer: '删除服务器 "{{name}}"?',
|
||||
serverConnecting: '正在连接…',
|
||||
serverConnected: '已连接!',
|
||||
@@ -105,6 +106,7 @@ export const settings = {
|
||||
userMgmtMagicStringModalDesc: '请输入用户「{{username}}」的 Subsonic 密码,它会包含在复制的魔法字符串中。',
|
||||
userMgmtMagicStringModalConfirm: '复制字符串',
|
||||
audiomuseTitle: 'AudioMuse-AI(Navidrome)',
|
||||
audiomuseBadge: 'AudioMuse-AI',
|
||||
audiomuseStatusActive: '已启用',
|
||||
audiomuseStatusChecking: '检测中…',
|
||||
audiomuseStatusNotDetected: '未检测到',
|
||||
|
||||
Reference in New Issue
Block a user