import {useEffect, useState} from "react"; import {useSearchParams} from "react-router-dom"; import {Buffer} from "buffer"; import Button from "@/common/components/Button"; import {faCopy, faShare, faUpload} from "@fortawesome/free-solid-svg-icons"; import InfoArea from "@/common/components/InfoArea"; import "./styles.sass"; import TextArea from "@/pages/tools/base64/components/TextArea"; import {uploadString} from "@/common/utils/file.js"; export const Encoder = () => { const [searchParams] = useSearchParams(); const [inputString, setInputString] = useState(searchParams.get("input") || ""); const [outputString, setOutputString] = useState(""); useEffect(() => { setOutputString(Buffer.from(inputString).toString("base64")); }, [inputString]); const shareLink = () => { const url = new URL(window.location.href); url.searchParams.set("input", inputString); navigator.clipboard.writeText(url.href); } const copyToClipboard = () => outputString !== "" ? navigator.clipboard.writeText(outputString) : ""; return ( <>