From 4615d1357ae97ed9b303a21abebdafcc33f4fe24 Mon Sep 17 00:00:00 2001 From: Juthatip McDevitt Date: Thu, 25 Apr 2024 18:07:43 -0500 Subject: [PATCH] created business page --- .../app/(routes)/create_business/page.js | 20 +++++++++++ scheduler_app/app/(routes)/dashboard/page.js | 33 ++++++++++++++++--- scheduler_app/components/ui/input.jsx | 19 +++++++++++ 3 files changed, 67 insertions(+), 5 deletions(-) create mode 100644 scheduler_app/app/(routes)/create_business/page.js create mode 100644 scheduler_app/components/ui/input.jsx diff --git a/scheduler_app/app/(routes)/create_business/page.js b/scheduler_app/app/(routes)/create_business/page.js new file mode 100644 index 0000000..79f8d1a --- /dev/null +++ b/scheduler_app/app/(routes)/create_business/page.js @@ -0,0 +1,20 @@ +import { Input } from '@/components/ui/input' +import React from 'react' + +const CreateBusiness = () => { + return ( +
+

Schedule.Me

+
+

What would you like to be called?

+

You can change this later

+
+ + +
+
+
+ ) +} + +export default CreateBusiness \ No newline at end of file diff --git a/scheduler_app/app/(routes)/dashboard/page.js b/scheduler_app/app/(routes)/dashboard/page.js index 97b08f6..190d522 100644 --- a/scheduler_app/app/(routes)/dashboard/page.js +++ b/scheduler_app/app/(routes)/dashboard/page.js @@ -1,15 +1,38 @@ "use client" -import { LogoutLink} from '@kinde-oss/kinde-auth-nextjs' -import React from 'react' -import { getFirestore } from "firebase/firestore"; +import { LogoutLink, useKindeBrowserClient} from '@kinde-oss/kinde-auth-nextjs' +import React, { useEffect, useState } from 'react' +import { doc, getDoc, getFirestore } from "firebase/firestore"; import { app } from '@/config/FirebaseConfig'; +import { useRouter } from 'next/navigation'; const Dashboard = () => { const db = getFirestore(app); - const isBusinessRegistered = () => { - + const {user} = useKindeBrowserClient(); + const [loading, setLoading] = useState(true); + const router = useRouter(); + + useEffect(() => { + user && isBusinessRegistered(); + }, [user]) + + const isBusinessRegistered = async () => { + const docRef = doc(db, "Business", user.email); + const docSnap = await getDoc(docRef); + + if (docSnap.exists()) { + console.log("Document data:", docSnap.data()); + setLoading(false); + } else { + // docSnap.data() will be undefined in this case + console.log("No such document!"); + setLoading(false); + router.replace('/create_business'); + } + } + if (loading){ + return

Loading...

} return ( diff --git a/scheduler_app/components/ui/input.jsx b/scheduler_app/components/ui/input.jsx new file mode 100644 index 0000000..c74d919 --- /dev/null +++ b/scheduler_app/components/ui/input.jsx @@ -0,0 +1,19 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +const Input = React.forwardRef(({ className, type, ...props }, ref) => { + return ( + () + ); +}) +Input.displayName = "Input" + +export { Input }