'use client';
import { Wifi, WifiOff, RefreshCw } from 'lucide-react';
import { Badge, Button } from '@/components/ui';
import type { ConnectionStatus as ConnectionStatusType } from '@/lib/hooks';
type ConnectionStatusProps = {
status: ConnectionStatusType;
onReconnect?: () => void;
showAsButton?: boolean;
className?: string;
}
const getConnectionIcon = (status: ConnectionStatusType) => {
switch (status) {
case 'connected':
return ;
case 'connecting':
return ;
case 'disconnected':
return ;
case 'updating':
return ;
}
};
const getConnectionText = (status: ConnectionStatusType) => {
switch (status) {
case 'connected':
return 'Connected';
case 'connecting':
return 'Connecting...';
case 'disconnected':
return 'Disconnected';
case 'updating':
return 'Updating...';
}
};
export const ConnectionStatus = ({
status,
onReconnect,
showAsButton = false,
className = '',
}: ConnectionStatusProps) => {
if (showAsButton && status === 'disconnected' && onReconnect) {
return (
);
}
return (
{getConnectionIcon(status)}
{getConnectionText(status)}
);
};