import { Component, createSignal, For, Show } from "solid-js"; import type { RequestLog } from "../types"; import { Button } from "./ui/Button"; import { CardContent, CardFooter, CardHeader } from "./ui/Card"; import { Modal, ModalContent } from "./ui/Modal"; interface TreeViewProps { data: any; name: string; isRoot?: boolean; } const TreeView: Component = (props) => { const [isOpen, setIsOpen] = createSignal(props.isRoot ?? false); const isObject = typeof props.data === "object" && props.data !== null; const renderValue = (value: any) => { switch (typeof value) { case "string": return "{value}"; case "number": return {value}; case "boolean": return {String(value)}; case "object": if (value === null) return null; // This case is handled by recursive TreeView default: return {String(value)}; } }; return (
setIsOpen(!isOpen())} > {isObject ? (isOpen() ? "▼" : "►") : ""} {props.name}: {renderValue(props.data)}
{([key, value]) => }
); }; interface RequestDetailsProps { log: RequestLog; onClose: () => void; } const RequestDetails: Component = (props) => { return (

Request Details

{props.log.method} at {new Date(props.log.created_at).toLocaleString()}

Request

Response

); }; export default RequestDetails;