0

"use client"
import { auth, database, storage } from "@/app/database/firebase";
import { collection, doc, addDoc } from "firebase/firestore";
import { getDownloadURL, getStorage, ref, uploadBytes } from "firebase/storage";
import { toast } from "react-toastify";
import { useRouter } from "next/navigation";
import BlogForm from "@/components/BlogForm";
import { blogValidation } from "@/utilities/validationSchemas";
import { useGlobalContext } from "@/context";

const Page = () => {
  const router = useRouter();
  const { userDetail }: any = useGlobalContext();


  const initialValues = {
    title: "",
    meta_description: "",
    image: null,
    body: "",
  };

  const onSubmit = async (values: any) => {
    const storageRef = ref(storage, "images/" + values?.image?.name);
    const file = values?.image;
    await uploadBytes(storageRef, file);
    const downloadURL = await getDownloadURL(storageRef);

    const { image, ...otherValues } = values;
    try {
      const usersCollectionRef = collection(database, "User");
      const userSubCollectionRef = collection(
        doc(usersCollectionRef, userDetail?.email),
        "blogs"
      );

      // Add the userData object to the "useremail" subcollection
      await addDoc(userSubCollectionRef, {
        ...otherValues,
        image: downloadURL,
      });

      toast.success("Blog Published Successfully");
    } catch (error: any) {
      toast.error("Error " + error.message);
    }
  };

  return (
    <div className="isolate bg-white py-14 px-6 sm:py-16 lg:px-8 page-gradient">
      {/* Form */}
      <BlogForm
        initialValues={initialValues}
        validationSchema={blogValidation}
        onSubmit={onSubmit}
      />
    </div>
  );
};

export default Page;
Show this Error when I build the project Next js 13

Collecting page data [== ] info - Generating static pages (2/11)ReferenceError: document is not defined at Object. (D:\My Projects\creative-corner.next\server\chunks\582.js:8325:12) at nested_webpack_require_697 (D:\My Projects\creative-corner.next\server\chunks\582.js:700:30) at Object. (D:\My Projects\creative-corner.next\server\chunks\582.js:1694:1) at nested_webpack_require_697 (D:\My Projects\creative-corner.next\server\chunks\582.js:700:30) at Object. (D:\My Projects\creative-corner.next\server\chunks\582.js:6319:14) at nested_webpack_require_697 (D:\My Projects\creative-corner.next\server\chunks\582.js:700:30) at Object. (D:\My Projects\creative-corner.next\server\chunks\582.js:10709:13) at nested_webpack_require_697 (D:\My Projects\creative-corner.next\server\chunks\582.js:700:30) at Object. (D:\My Projects\creative-corner.next\server\chunks\582.js:12221:18) at nested_webpack_require_697 (D:\My Projects\creative-corner.next\server\chunks\582.js:700:30)

Error occurred prerendering page "/blog-editor". Read more: https://nextjs.org/docs/messages/prerender-error ReferenceError: document is not defined at Object. (D:\My Projects\creative-corner.next\server\chunks\582.js:8325:12) at nested_webpack_require_697 (D:\My Projects\creative-corner.next\server\chunks\582.js:700:30) at Object. (D:\My Projects\creative-corner.next\server\chunks\582.js:1694:1) at nested_webpack_require_697 (D:\My Projects\creative-corner.next\server\chunks\582.js:700:30) at Object. (D:\My Projects\creative-corner.next\server\chunks\582.js:6319:14) at nested_webpack_require_697 (D:\My Projects\creative-corner.next\server\chunks\582.js:700:30) at Object. (D:\My Projects\creative-corner.next\server\chunks\582.js:10709:13) at nested_webpack_require_697 (D:\My Projects\creative-corner.next\server\chunks\582.js:700:30) at Object. (D:\My Projects\creative-corner.next\server\chunks\582.js:12221:18) at nested_webpack_require_697 (D:\My Projects\creative-corner.next\server\chunks\582.js:700:30) info - Generating static pages (11/11)

Build error occurred Error: Export encountered errors on following paths: /(pages)/blog-editor/page: /blog-editor at D:\My Projects\creative-corner\node_modules\next\dist\export\index.js:425:19 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Span.traceAsyncFn (D:\My Projects\creative-corner\node_modules\next\dist\trace\trace.js:79:20) at async D:\My Projects\creative-corner\node_modules\next\dist\build\index.js:1403:21 at async Span.traceAsyncFn (D:\My Projects\creative-corner\node_modules\next\dist\trace\trace.js:79:20) at async D:\My Projects\creative-corner\node_modules\next\dist\build\index.js:1261:17 at async Span.traceAsyncFn (D:\My Projects\creative-corner\node_modules\next\dist\trace\trace.js:79:20) at async Object.build [as default] (D:\My Projects\creative-corner\node_modules\next\dist\build\index.js:72:29)

Raja Ahsan
  • 23
  • 6

0 Answers0