import { useState, type FC } from "react"; import { Textarea } from "@/components/ui/textarea"; import { Button } from "@/components/ui/button"; import { toast } from "sonner"; import { ArrowLeftIcon, ArrowRightIcon } from "lucide-react"; const Tool: FC = () => { const [decoded, setDecoded] = useState(""); const [encoded, setEncoded] = useState(""); const encode = () => { try { const encoded64 = btoa(decoded); setEncoded(encoded64); setDecoded(""); toast.success("encoded successfully"); } catch (error: unknown) { if (error instanceof Error) { toast.error(error.message); } else { toast.error("encoding failed"); } } }; const decode = () => { try { const decoded64 = atob(encoded); setDecoded(decoded64); setEncoded(""); toast.success("decoded successfully"); } catch (error: unknown) { if (error instanceof Error) { toast.error(error.message); } else { toast.error("decoding failed"); } } }; return (