diff --git a/scheduler_app/app/(routes)/create_meeting/_components/meetingForm.js b/scheduler_app/app/(routes)/create_meeting/_components/meetingForm.js index ade0663..c469d3a 100644 --- a/scheduler_app/app/(routes)/create_meeting/_components/meetingForm.js +++ b/scheduler_app/app/(routes)/create_meeting/_components/meetingForm.js @@ -8,6 +8,11 @@ import Image from 'next/image' import { Button } from '@/components/ui/button' import Link from 'next/link' import ThemeOption from '@/app/_utils/ThemeOption' +import { doc, getFirestore, setDoc } from 'firebase/firestore' +import { app } from '@/config/FirebaseConfig' +import { useKindeBrowserClient } from '@kinde-oss/kinde-auth-nextjs' +import { toast } from 'sonner' +import { useRouter } from 'next/navigation' const MeetingForm = ({setFormEvent}) => { const [themeColor, setThemeColor] = useState(); @@ -18,6 +23,28 @@ const MeetingForm = ({setFormEvent}) => { const [locationMeeting, setLocationMeeting] = useState(); const [urlMeeting, setUrlMeeting] = useState(); + //initialize the data + const db = getFirestore(app); + const {user} = useKindeBrowserClient(); + const router = useRouter(); + + //create event + const onCreateEvent = async () => { + const id = Date.now().toString(); + await setDoc(doc(db, 'MeetingEvent', id), { + id: id, + eventName: eventName, + timeDuration: timeDuration, + locationMeeting: locationMeeting, + urlMeeting: urlMeeting, + themeColor: themeColor, + businessId: doc(db, 'Business', user?.email) + }).then(res => { + toast('New event/meeting is created') + router.replace('/dashboard/meeting') + }) + } + useEffect(() => { setFormEvent({ eventName: eventName, @@ -26,9 +53,9 @@ const MeetingForm = ({setFormEvent}) => { urlMeeting: urlMeeting, themeColor: themeColor }) - }, [eventName, timeDuration, locationMeeting, urlMeeting, themeColor]) - + }, [eventName, timeDuration, locationMeeting, urlMeeting, themeColor]); + return (

Go back

@@ -61,8 +88,8 @@ const MeetingForm = ({setFormEvent}) => {
{locationMeeting &&
-

Add {locationMeeting} url or number *

- setUrlMeeting(ev.target.value)} placeholder='Add url' className='text-sm'/> +

Add {locationMeeting} url or phone number*

+ setUrlMeeting(ev.target.value)} placeholder='Add url or phone number' className='text-sm'/>
}

Select Color

@@ -72,7 +99,7 @@ const MeetingForm = ({setFormEvent}) => { ))} - + ) } diff --git a/scheduler_app/app/(routes)/create_meeting/_components/previewMeeting.js b/scheduler_app/app/(routes)/create_meeting/_components/previewMeeting.js index dc9b093..d3dd0cb 100644 --- a/scheduler_app/app/(routes)/create_meeting/_components/previewMeeting.js +++ b/scheduler_app/app/(routes)/create_meeting/_components/previewMeeting.js @@ -3,7 +3,6 @@ import { PiMapPinLight } from "react-icons/pi"; import { Calendar } from "@/components/ui/calendar" import React, { useEffect, useState } from 'react' import Link from "next/link"; -import { Button } from '@/components/ui/button' const PreviewMeeting = ({formEvent}) => { const [date, setDate] = useState(new Date()); @@ -28,27 +27,28 @@ const PreviewMeeting = ({formEvent}) => { setTimeSlots(slots); } - + return ( -
+

Schedule.Me

-
+
-

Event Name: {formEvent?.eventName?formEvent?.eventName:'Meeting/Event Name'}

+

Event Name:

+

{formEvent?.eventName?formEvent?.eventName:'Meeting/Event Name'}

{formEvent?.timeDuration} minutes

{formEvent?.locationMeeting}

{formEvent?.urlMeeting}
-
+

Select your meeting date & time

- + date < new Date()} mode="single" selected={date} onSelect={setDate} className="rounded-md border mt-5"/>
-
+
{timeSlots?.map((time, index) => ( - + ))}
diff --git a/scheduler_app/app/(routes)/dashboard/layout.js b/scheduler_app/app/(routes)/dashboard/layout.js index 9b82717..be4ba68 100644 --- a/scheduler_app/app/(routes)/dashboard/layout.js +++ b/scheduler_app/app/(routes)/dashboard/layout.js @@ -1,6 +1,7 @@ import React from 'react' import SideNav from './_components/sideNav' import DashboardHeader from './_components/dashboardHeader' +import { Toaster } from 'sonner' const Layout = ({children}) => { return ( @@ -10,6 +11,7 @@ const Layout = ({children}) => {
+ {children}