Add unreachable status handling to ServerCard
All checks were successful
Deploy GSM / deploy (push) Successful in 24s

- Gray out unreachable servers with 50% opacity
- Disable click interaction for unreachable servers
- Show "Nicht erreichbar" badge

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Alexander Zielonka
2026-01-09 13:28:34 +01:00
parent f2b7b62d81
commit e88e246be6

View File

@@ -107,17 +107,20 @@ export default function ServerCard({ server, onClick, isAuthenticated, displaySe
return { class: 'badge badge-warning', text: 'Starting...' } return { class: 'badge badge-warning', text: 'Starting...' }
case 'stopping': case 'stopping':
return { class: 'badge badge-warning', text: 'Stopping...' } return { class: 'badge badge-warning', text: 'Stopping...' }
case 'unreachable':
return { class: 'badge bg-neutral-600 text-neutral-400', text: 'Nicht erreichbar' }
default: default:
return { class: 'badge badge-destructive', text: 'Offline' } return { class: 'badge badge-destructive', text: 'Offline' }
} }
} }
const statusBadge = getStatusBadge() const statusBadge = getStatusBadge()
const isUnreachable = server.status === 'unreachable'
return ( return (
<div <div
className="card card-clickable p-5" className={isUnreachable ? "card p-5 opacity-50 cursor-not-allowed" : "card card-clickable p-5"}
onClick={onClick} onClick={isUnreachable ? undefined : onClick}
> >
{/* Header */} {/* Header */}
<div className="flex items-center justify-between mb-2"> <div className="flex items-center justify-between mb-2">