"use client"; import { useCallback, useMemo, useState } from "react"; import createHash from "create-hash"; import { toolGroups } from "@/config/tools"; import { Input } from "@/components/ui/input"; 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 { Configuration } from "@/components/configuration"; import { Configurations } from "@/components/configurations"; import { ControlMenu } from "@/components/control-menu"; import { icons } from "@/components/icons"; import { LabeledSwitch } from "@/components/labeled-switch"; import { PageRootSection } from "@/components/page-root-section"; import { PageSection } from "@/components/page-section"; export default function Page() { const [uppercase, setUppercase] = useState(false); const [input, setInput] = useState("Hello there !"); const newMd5 = createHash("md5").update(input).digest("hex"); const newSha1 = createHash("sha1").update(input).digest("hex"); const newSha256 = createHash("sha256").update(input).digest("hex"); const newSha512 = createHash("sha512").update(input).digest("hex"); const md5 = uppercase ? newMd5.toUpperCase() : newMd5; const sha1 = uppercase ? newSha1.toUpperCase() : newSha1; const sha256 = uppercase ? newSha256.toUpperCase() : newSha256; const sha512 = uppercase ? newSha512.toUpperCase() : newSha512; const clearInput = useCallback(() => setInput(""), []); const onInputChange: TextareaProps["onChange"] = ({ currentTarget: { value } }) => setInput(value); const uppercaseIcon = useMemo(() => , []); const uppercaseConfig = useMemo( () => ( } /> ), [uppercase, uppercaseIcon] ); const inputPasteButton = useMemo(() => , []); const inputFileButton = useMemo( () => , [] ); const inputClearButton = useMemo( () => , [clearInput] ); const inputControl = ; const md5CopyButton = useMemo( () => , [md5] ); const sha1CopyButton = useMemo( () => , [sha1] ); const sha256CopyButton = useMemo( () => , [sha256] ); const sha512CopyButton = useMemo( () => , [sha512] ); return (