import { useCurrentStateAndParams } from '@uirouter/react'; import { Circle, Code as CodeIcon, File } from 'lucide-react'; import { useState } from 'react'; import { trimContainerName } from '@/docker/filters/utils'; import { useEnvironmentId } from '@/react/hooks/useEnvironmentId'; import { JsonTree } from '@@/JsonTree'; import { PageHeader } from '@@/PageHeader'; import { Widget } from '@@/Widget'; import { ButtonSelector } from '@@/form-components/ButtonSelector/ButtonSelector'; import { Code } from '@@/Code'; import { useContainerInspect } from '../queries/useContainerInspect'; export function InspectView() { const environmentId = useEnvironmentId(); const { params: { id, nodeName }, } = useCurrentStateAndParams(); const inspectQuery = useContainerInspect(environmentId, id, { nodeName }); const [viewType, setViewType] = useState<'tree' | 'text'>('tree'); if (!inspectQuery.data) { return null; } const containerInfo = inspectQuery.data; return ( <>
onChange={(value) => setViewType(value)} value={viewType} options={[ { label: 'Tree', icon: CodeIcon, value: 'tree', }, { label: 'Text', icon: File, value: 'text', }, ]} /> {viewType === 'text' && ( {JSON.stringify(containerInfo, undefined, 4)} )} {viewType === 'tree' && }
); }