"use client"; import { cn } from "@/lib/utils"; import { useI18n } from "@/i18n/provider"; export type RealtimeConnectionStatusValue = | "connecting" | "connected" | "disconnected"; type RealtimeConnectionStatusProps = { status: RealtimeConnectionStatusValue; compact?: boolean; }; const statusTextKey: Record = { connecting: "realtime.connecting", connected: "realtime.connected", disconnected: "realtime.disconnected", }; const compactStatusTextKey: Record = { connecting: "realtime.compactConnecting", connected: "realtime.compactConnected", disconnected: "realtime.compactDisconnected", }; export function RealtimeConnectionStatus({ status, compact = false, }: RealtimeConnectionStatusProps) { const t = useI18n(); const toneClass = status === "connected" ? "border-emerald-200/80 bg-emerald-50 text-emerald-700" : status === "connecting" ? "border-amber-200/80 bg-amber-50 text-amber-700" : "border-slate-200/80 bg-slate-100 text-slate-600"; return (
{t(compact ? compactStatusTextKey[status] : statusTextKey[status])}
); }