import type { DocAndNode } from '@spyglassmc/core' import { JsonFileNode } from '@spyglassmc/json' import { useErrorBoundary } from 'preact/hooks' import { useDocAndNode, useSpyglass } from '../../contexts/Spyglass.jsx' import { message } from '../../Utils.js' import { ErrorPanel } from '../ErrorPanel.jsx' import { JsonFileView } from './JsonFileView.jsx' type FileViewProps = { docAndNode: DocAndNode | undefined, } export function FileView({ docAndNode: original }: FileViewProps) { const { serviceLoading } = useSpyglass() const [error, errorRetry] = useErrorBoundary() if (error) { return } const docAndNode = useDocAndNode(original) if (!docAndNode || serviceLoading) { return
} const fileNode = docAndNode?.node.children[0] if (JsonFileNode.is(fileNode)) { return } return }