diff --git a/docker/ui/src/components/DeviceDiscovery.tsx b/docker/ui/src/components/DeviceDiscovery.tsx index 4f2aaf7..5189432 100644 --- a/docker/ui/src/components/DeviceDiscovery.tsx +++ b/docker/ui/src/components/DeviceDiscovery.tsx @@ -43,6 +43,16 @@ function posterUrl(disc?: DiscInfo): string | null { return p.startsWith('http') ? p : `https://image.tmdb.org/t/p/w342${p}` } +function typLabel(type: string): string { + switch (type) { + case 'cd': return 'Audio CD' + case 'dvd': return 'DVD' + case 'bluray': return 'Blu-ray' + case 'uhd': return '4K UHD' + default: return 'Unbekannt' + } +} + export default function DeviceDiscovery() { const [devices, setDevices] = useState([]) const [loading, setLoading] = useState(true) diff --git a/docker/ui/src/components/StorageMounts.tsx b/docker/ui/src/components/StorageMounts.tsx index 2f4b74e..58ec63c 100644 --- a/docker/ui/src/components/StorageMounts.tsx +++ b/docker/ui/src/components/StorageMounts.tsx @@ -70,12 +70,12 @@ export default function StorageMounts() { const laden = async (manuell = false) => { try { - const [m, t] = await Promise.all([ + const [m, t] = await Promise.allSettled([ api.get('/storage-mounts'), api.get('/storage-targets'), ]) - setMounts(m.data) - setTargets(t.data) + if (m.status === 'fulfilled') setMounts(m.value.data || []) + if (t.status === 'fulfilled') setTargets(t.value.data || []) if (manuell) toast('success', 'Speicherziele aktualisiert') } catch { if (manuell) toast('error', 'Speicherziele konnten nicht geladen werden') diff --git a/docker/ui/src/pages/Settings.tsx b/docker/ui/src/pages/Settings.tsx index 94d543e..b38277e 100644 --- a/docker/ui/src/pages/Settings.tsx +++ b/docker/ui/src/pages/Settings.tsx @@ -222,11 +222,11 @@ export default function SettingsPage() { onClick={() => setActiveTab(tab.id)} className={`px-5 py-3.5 text-sm font-medium transition-all flex items-center gap-2 border-b-2 whitespace-nowrap ${ isActive - ? 'border-amber-500 text-amber-600 dark:text-amber-400 bg-white dark:bg-slate-900 font-semibold' - : 'border-transparent text-slate-500 dark:text-slate-400 hover:text-slate-900 dark:hover:text-slate-200' + ? 'border-amber-500 text-amber-400 bg-[#131929] font-bold' + : 'border-transparent text-slate-400 hover:text-slate-200 hover:bg-slate-900/50' }`} > - + {tab.label} )