import { useEffect, useState } from "react"; // next import type { NextPage } from "next"; import { useRouter } from "next/router"; // cookies import Cookies from "js-cookie"; // react-hook-form import { Controller, useForm } from "react-hook-form"; // layouts import WebViewLayout from "layouts/web-view-layout"; // components import { Button, Spinner } from "@plane/ui"; import { RichTextEditor } from "@plane/rich-text-editor"; // services import { FileService } from "services/file.service"; const fileService = new FileService(); const Editor: NextPage = () => { const [isLoading, setIsLoading] = useState(false); const router = useRouter(); const { workspaceSlug, editable } = router.query; const isEditable = editable === "true"; const { watch, setValue, control } = useForm({ defaultValues: { data: "", data_html: "", }, }); useEffect(() => { setIsLoading(true); if (!router?.query?.["editable"]) return; setIsLoading(false); const data_html = Cookies.get("data_html"); setValue("data_html", data_html ?? ""); }, [isEditable, setValue, router]); return ( {isLoading ? (
) : (
{ if (value == null) return <>; return (

" : value} noBorder={true} customClassName="h-full shadow-sm overflow-auto" editorContentCustomClassNames="pb-9" onChange={(description: Object, description_html: string) => { onChange(description_html); setValue("data_html", description_html); setValue("data", JSON.stringify(description)); }} /> ); }} /> {isEditable && ( )}
)}
); }; export default Editor;