import { BlockImageUploader } from "./imageUploader"; import { Dialog, Transition } from "@headlessui/react"; import CancelIcon from "@icons/cancel"; import PlusIcon from "@icons/plus"; import { Image } from "@shared/image"; import { DEFAULT_AVATAR } from "@stores/constants"; import { useActiveAccount } from "@utils/hooks/useActiveAccount"; import { createBlock, getPlebs } from "@utils/storage"; import { Fragment, useEffect, useState } from "react"; import { useForm } from "react-hook-form"; import useSWR from "swr"; const fetcher = () => getPlebs(); export function CreateBlockModal() { const { account } = useActiveAccount(); const { register, handleSubmit, reset, watch, setValue } = useForm(); const { data: plebs } = useSWR("plebs", fetcher); const [image, setImage] = useState(DEFAULT_AVATAR); const [isOpen, setIsOpen] = useState(false); const [loading, setLoading] = useState(false); const kind = watch("kind"); const closeModal = () => { setIsOpen(false); }; const openModal = () => { setIsOpen(true); }; const onSubmit = (data: any) => { setLoading(true); createBlock(account.id, data.kind, data.title, data.content).then(() => { // reset form reset(); // close modal setIsOpen(false); // stop loading setLoading(false); }); }; useEffect(() => { setValue("content", image); }, [setValue, image]); return ( <>
Create block
Personalize your space by adding a new block.
{kind === "1" ? (