"use client";
import { useCallback, useMemo, useState } from "react";
import MD5 from "crypto-js/md5";
import SHA1 from "crypto-js/sha1";
import SHA256 from "crypto-js/sha256";
import SHA512 from "crypto-js/sha512";
import { toolGroups } from "@/config/tools";
import { Input } from "@/components/ui/input";
import { Textarea, TextareaProps } from "@/components/ui/textarea";
import * as Button from "@/components/buttons";
import { Configuration } from "@/components/configuration";
import { Configurations } from "@/components/configurations";
import { ControlMenu } from "@/components/control-menu";
import * as 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 = useMemo(() => MD5(input).toString(), [input]);
const newSha1 = useMemo(() => SHA1(input).toString(), [input]);
const newSha256 = useMemo(() => SHA256(input).toString(), [input]);
const newSha512 = useMemo(() => SHA512(input).toString(), [input]);
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"] = e => setInput(e.currentTarget.value);
const uppercaseConfig = (
}
title="Uppercase"
control={
}
/>
);
const inputPasteButton = ;
const inputFileButton = ;
const inputClearButton = ;
const inputControl = ;
const md5CopyButton = ;
const sha1CopyButton = ;
const sha256CopyButton = (
);
const sha512CopyButton = (
);
return (
);
}