import React from 'react'; import {DefinitionList} from '@gravity-ui/uikit'; import {EMPTY_DATA_PLACEHOLDER} from '../../utils/constants'; import { formatDateTime, getDowntimeFromDateFormatted, getUptimeFromDateFormatted, } from '../../utils/dataFormatters/dataFormatters'; import {CellWithPopover} from '../CellWithPopover/CellWithPopover'; import i18n from './i18n'; interface NodeUptimeProps { StartTime?: string; DisconnectTime?: string; } export function NodeUptime({StartTime, DisconnectTime}: NodeUptimeProps) { let uptime: string | undefined; let content: React.ReactNode = null; if (DisconnectTime) { uptime = getDowntimeFromDateFormatted(DisconnectTime); content = ( {formatDateTime(DisconnectTime, {withTimeZone: true})} ); } else if (StartTime) { uptime = getUptimeFromDateFormatted(StartTime); content = ( {formatDateTime(StartTime, {withTimeZone: true})} ); } if (!uptime) { return EMPTY_DATA_PLACEHOLDER; } return ( {content}} > {uptime} ); } interface TabletUptimeProps { ChangeTime?: string; } export function TabletUptime({ChangeTime}: TabletUptimeProps) { let uptime: string | undefined; if (ChangeTime) { uptime = getUptimeFromDateFormatted(ChangeTime); } if (!uptime) { return EMPTY_DATA_PLACEHOLDER; } return ( {formatDateTime(ChangeTime, {withTimeZone: true})} } > {uptime} ); }