"use client"; import { ReactElement, useEffect, useState } from "react"; import { ActionMenu } from "@/app/components/action-menu"; import { Button } from "@/app/components/ui/button"; import { useToast } from "@/app/components/ui/use-toast"; import { ArrowPathIcon } from "@heroicons/react/16/solid"; export default function Home(): ReactElement { const { toast } = useToast(); const [value, setValue] = useState(""); const [creating, setCreating] = useState(false); /** * Uploads the paste to the server. */ async function createPaste() { // Ignore empty pastes, we don't want to save them if (!value || value.length == 0) { toast({ title: "Paste", description: "Paste is empty", }); return; } setCreating(true); // Upload the paste to the server const response = await fetch( `${process.env.NEXT_PUBLIC_API_ENDPOINT}/upload`, { method: "POST", headers: { "Content-Type": "text/plain", }, body: value, }, ); const data = await response.json(); if (!response.ok) { toast({ title: "Paste", description: data.message, }); setCreating(false); return; } // Redirect to the new paste window.location.href = `/${data.id}`; } useEffect(() => { document.getElementById("paste-input")?.focus(); }, []); return (
{/* > */}

>

{/* Input */}