import type { ConnectionStatus, ServiceType } from '../../types/connection' import { ActionButton } from '../ui/ActionButton' import './ServiceCard.scss' interface Props { serviceType: ServiceType label: string icon: string status: ConnectionStatus | null onConnect: () => void onDisconnect: () => void onSearch: () => void } export function ServiceCard({ serviceType: _serviceType, label, icon, status, onConnect, onDisconnect, onSearch }: Readonly) { const connected = status?.connected ?? false const formatExpiry = (iso: string | null) => { if (!iso) return null const d = new Date(iso) return d.toLocaleDateString(undefined, { dateStyle: 'medium' }) } return (
{icon}

{label}

{connected ? 'Connected' : 'Not connected'} {connected && status?.username && {status.username}} {connected && status?.expiresAt && ( ยท expires {formatExpiry(status.expiresAt)} )}

{connected ? 'Disconnect' : 'Connect'} {connected && (Search)}
) }