"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;
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)