fix(ui): typLabel in DeviceDiscovery definiert (Laufwerks-Details-Button gefixt) & Settings Tab-Wechsel robuster gemacht
Ampel / ampel (push) Successful in 28s
Ampel / ampel (push) Successful in 28s
This commit is contained in:
@@ -43,6 +43,16 @@ function posterUrl(disc?: DiscInfo): string | null {
|
|||||||
return p.startsWith('http') ? p : `https://image.tmdb.org/t/p/w342${p}`
|
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() {
|
export default function DeviceDiscovery() {
|
||||||
const [devices, setDevices] = useState<Device[]>([])
|
const [devices, setDevices] = useState<Device[]>([])
|
||||||
const [loading, setLoading] = useState(true)
|
const [loading, setLoading] = useState(true)
|
||||||
|
|||||||
@@ -70,12 +70,12 @@ export default function StorageMounts() {
|
|||||||
|
|
||||||
const laden = async (manuell = false) => {
|
const laden = async (manuell = false) => {
|
||||||
try {
|
try {
|
||||||
const [m, t] = await Promise.all([
|
const [m, t] = await Promise.allSettled([
|
||||||
api.get('/storage-mounts'),
|
api.get('/storage-mounts'),
|
||||||
api.get('/storage-targets'),
|
api.get('/storage-targets'),
|
||||||
])
|
])
|
||||||
setMounts(m.data)
|
if (m.status === 'fulfilled') setMounts(m.value.data || [])
|
||||||
setTargets(t.data)
|
if (t.status === 'fulfilled') setTargets(t.value.data || [])
|
||||||
if (manuell) toast('success', 'Speicherziele aktualisiert')
|
if (manuell) toast('success', 'Speicherziele aktualisiert')
|
||||||
} catch {
|
} catch {
|
||||||
if (manuell) toast('error', 'Speicherziele konnten nicht geladen werden')
|
if (manuell) toast('error', 'Speicherziele konnten nicht geladen werden')
|
||||||
|
|||||||
@@ -222,11 +222,11 @@ export default function SettingsPage() {
|
|||||||
onClick={() => setActiveTab(tab.id)}
|
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 ${
|
className={`px-5 py-3.5 text-sm font-medium transition-all flex items-center gap-2 border-b-2 whitespace-nowrap ${
|
||||||
isActive
|
isActive
|
||||||
? 'border-amber-500 text-amber-600 dark:text-amber-400 bg-white dark:bg-slate-900 font-semibold'
|
? 'border-amber-500 text-amber-400 bg-[#131929] font-bold'
|
||||||
: 'border-transparent text-slate-500 dark:text-slate-400 hover:text-slate-900 dark:hover:text-slate-200'
|
: 'border-transparent text-slate-400 hover:text-slate-200 hover:bg-slate-900/50'
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
<tab.icon size={17} className={isActive ? 'text-amber-500' : ''} />
|
<tab.icon size={17} className={isActive ? 'text-amber-400' : ''} />
|
||||||
<span>{tab.label}</span>
|
<span>{tab.label}</span>
|
||||||
</button>
|
</button>
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user