"use client"; import { useCallback, useMemo, useState } from "react"; import { toolGroups } from "@/config/tools"; import { decode } from "@/lib/jwt"; import { Editor } from "@/components/ui/editor"; import { Textarea, TextareaProps } from "@/components/ui/textarea"; 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 { ControlMenu } from "@/components/control-menu"; import { PageRootSection } from "@/components/page-root-section"; import { PageSection } from "@/components/page-section"; export default function Page() { const [jwt, setJwt] = useState( "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" ); const { headerObj, payloadObj } = decode(jwt); const header = JSON.stringify(headerObj, null, 2) ?? ""; const payload = JSON.stringify(payloadObj, null, 2) ?? ""; const clearJwt = useCallback(() => setJwt(""), []); const onJwtChange: TextareaProps["onChange"] = ({ currentTarget: { value } }) => setJwt(value); const jwtTokenPasteButton = useMemo(() => , [setJwt]); const jwtTokenFileButton = useMemo( () => , [setJwt] ); const jwtTokenClearButton = useMemo( () => , [clearJwt] ); const heaederCopyButton = useMemo(() => , [header]); const payloadCopyButton = useMemo(() => , [payload]); const jwtTokenControl = ( ); const heaederControl = ; const payloadControl = ; return (