import type { Device } from '@seamapi/types/connect' import { OnlineStatusAccountOfflineIcon } from 'lib/icons/OnlineStatusAccountOffline.js' import { OnlineStatusDeviceOfflineIcon } from 'lib/icons/OnlineStatusDeviceOffline.js' import { OnlineStatusOnlineIcon } from 'lib/icons/OnlineStatusOnline.js' interface OnlineStatusProps { device: Device } export function OnlineStatus(props: OnlineStatusProps): JSX.Element { const { device } = props return (
{isDeviceAccountOffline(device) ? ( ) : ( )}
) } function AccountOfflineContent(): JSX.Element { return ( <> {t.accountOffline} ) } function AccountOnlineContent(props: { isOnline: boolean }): JSX.Element { const { isOnline } = props if (isOnline) { return ( <> {t.online} ) } return ( <> {t.deviceOffline} ) } export const isDeviceAccountOffline = (device: Device): boolean => device.errors.filter((error) => error.error_code === 'account_disconnected') .length > 0 const t = { online: 'Online', accountOffline: 'Account Offline', deviceOffline: 'Device Offline', }