import type { StatusTone } from "../../components/StatusPill";import type { RemoteClientConnectionState } from "../../lib/connection"; export function connectionTone(state: RemoteClientConnectionState): StatusTone { switch (state) { case "connected": return { label: "Connected", pillClassName: "bg-adaptive-emerald-500-a12-a16", textClassName: "text-adaptive-emerald-700-300", }; case "reconnecting": return { label: "Reconnecting", pillClassName: "bg-warning", textClassName: "text-warning-foreground", }; case "connecting": return { label: "Connecting", pillClassName: "bg-primary/10", textClassName: "text-foreground-secondary", }; case "error": return { label: "Connection failed", pillClassName: "bg-danger", textClassName: "text-danger-foreground", }; case "offline": return { label: "Offline", pillClassName: "bg-danger", textClassName: "text-danger-foreground", }; case "available": return { label: "Available", pillClassName: "bg-subtle", textClassName: "text-foreground-secondary", }; }}
import type { StatusTone } from "../../components/StatusPill";
import type { RemoteClientConnectionState } from "../../lib/connection";
export function connectionTone(state: RemoteClientConnectionState): StatusTone {
switch (state) {
case "connected":
return {
label: "Connected",
pillClassName: "bg-adaptive-emerald-500-a12-a16",
textClassName: "text-adaptive-emerald-700-300",
};
case "reconnecting":
return {
label: "Reconnecting",
pillClassName: "bg-warning",
textClassName: "text-warning-foreground",
};
case "connecting":
return {
label: "Connecting",
pillClassName: "bg-primary/10",
textClassName: "text-foreground-secondary",
};
case "error":
return {
label: "Connection failed",
pillClassName: "bg-danger",
textClassName: "text-danger-foreground",
};
case "offline":
return {
label: "Offline",
pillClassName: "bg-danger",
textClassName: "text-danger-foreground",
};
case "available":
return {
label: "Available",
pillClassName: "bg-subtle",
textClassName: "text-foreground-secondary",
};
}
}