mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-01-18 06:57:11 +01:00
29 lines
717 B
TypeScript
29 lines
717 B
TypeScript
import classNames from 'classnames';
|
|
import { useResponseBodyText } from '../../hooks/useResponseBodyText';
|
|
import type { HttpResponse } from '@yaakapp/api';
|
|
import { JsonAttributeTree } from '../core/JsonAttributeTree';
|
|
|
|
interface Props {
|
|
response: HttpResponse;
|
|
className?: string;
|
|
}
|
|
|
|
export function JsonViewer({ response, className }: Props) {
|
|
const rawBody = useResponseBodyText(response);
|
|
|
|
if (rawBody.isLoading || rawBody.data == null) return null;
|
|
|
|
let parsed = {};
|
|
try {
|
|
parsed = JSON.parse(rawBody.data);
|
|
} catch (e) {
|
|
// Nothing yet
|
|
}
|
|
|
|
return (
|
|
<div className={classNames(className, 'overflow-x-auto h-full')}>
|
|
<JsonAttributeTree attrValue={parsed} />
|
|
</div>
|
|
);
|
|
}
|