"use client"; import { useCallback, useState } from "react"; import { toolGroups } from "@/config/tools"; import { safeJsonParse } from "@/lib/json"; import { Editor, EditorProps } from "@/components/ui/editor"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { ClearButton } from "@/components/buttons/clear"; import { CopyButton } from "@/components/buttons/copy"; import { FileButton } from "@/components/buttons/file"; import { PasteButton } from "@/components/buttons/paste"; import { Configuration } from "@/components/configuration"; import { Configurations } from "@/components/configurations"; import { ControlMenu } from "@/components/control-menu"; import { icons } from "@/components/icons"; import { PageRootSection } from "@/components/page-root-section"; import { PageSection } from "@/components/page-section"; const indentations = { two: " ", four: " ", zero: "", tab: "\t", }; export default function Page() { const [indentation, setIndentation] = useState(indentations.two); const [input, setInput] = useState('{\n"foo":"bar"\n}'); const parsed = safeJsonParse(input); const output = parsed.isErr() ? "" : JSON.stringify(parsed.value, null, indentation); const clearInput = useCallback(() => setInput(""), []); const onJsonChange: EditorProps["onChange"] = value => setInput(value ?? ""); const indentationConfig = ( } title="Indentation" control={ } /> ); const inputPasteButton = ; const inputFileButton = ( ); const inputClearButton = ; const outputCopyButton = ; const inputControl = ; const outputControl = ; return (
); }