import { EnvironmentId, EnvironmentType, } from '@/react/portainer/environments/types'; import { ContainerDetailsViewModel } from '@/docker/models/containerDetails'; import { useEnvironment } from '@/react/portainer/environments/queries/useEnvironment'; import { isoDate } from '@/portainer/filters/filters'; import { RegistryId } from '@/react/portainer/registries/types/registry'; import { Widget, WidgetBody } from '@@/Widget'; import { DetailsTable } from '@@/DetailsTable'; import { NameRow } from './NameRow'; import { WebhookRow } from './WebhookRow'; import { ActionLinksRow } from './ActionLinksRow'; import { StatusRow } from './StatusRow'; interface Props { environmentId: EnvironmentId; container: ContainerDetailsViewModel; nodeName?: string; onSuccessUpdate?(): void; registryId?: RegistryId; } export function ContainerStatusSection({ environmentId, container, nodeName, onSuccessUpdate, registryId, }: Props) { const environmentQuery = useEnvironment(environmentId); const isRunning = container.State?.Running || false; const isCreated = container.State?.Status === 'created'; if (!environmentQuery.data) { return null; } return ( {container.Id} {!!container.NetworkSettings?.IPAddress && ( {container.NetworkSettings.IPAddress} )} {isoDate(container.Created)} {isRunning && ( {isoDate(container.State?.StartedAt)} )} {!isRunning && !isCreated && ( {isoDate(container.State?.FinishedAt)} )} {environmentQuery.data.Type !== EnvironmentType.EdgeAgentOnDocker && ( )} ); }