"use client"; import * as React from "react"; import { cn } from "./lib/utils"; export interface Base64ToolProps extends React.HTMLAttributes { defaultValue?: string; } /** Base64 encode and decode panel with copy stamp. */ export function Base64Tool({ defaultValue = "ADMIT ONE ROW C", className, ...props }: Base64ToolProps) { const [input, setInput] = React.useState(defaultValue); const [mode, setMode] = React.useState<"encode" | "decode">("encode"); const [copied, setCopied] = React.useState(false); const output = React.useMemo(() => { try { return mode === "encode" ? btoa(input) : atob(input); } catch { return "Invalid input for selected mode"; } }, [input, mode]); return (

Base64 tool

{(["encode", "decode"] as const).map((m) => ( ))}