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}
);
}