"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 (
);
}