import { useCourse } from '@components/Contexts/CourseContext' import NewActivityModal from '@components/Objects/Modals/Activities/Create/NewActivity' import Modal from '@components/StyledElements/Modal/Modal' import { getAPIUrl } from '@services/config/config' import { createActivity, createExternalVideoActivity, createFileActivity, } from '@services/courses/activities' import { getOrganizationContextInfoWithoutCredentials } from '@services/organizations/orgs' import { revalidateTags } from '@services/utils/ts/requests' import { Layers } from 'lucide-react' import { useRouter } from 'next/navigation' import React, { useEffect } from 'react' import { mutate } from 'swr' type NewActivityButtonProps = { chapterId: string orgslug: string } function NewActivityButton(props: NewActivityButtonProps) { const [newActivityModal, setNewActivityModal] = React.useState(false) const router = useRouter() const course = useCourse() as any const openNewActivityModal = async (chapterId: any) => { setNewActivityModal(true) } const closeNewActivityModal = async () => { setNewActivityModal(false) } // Submit new activity const submitActivity = async (activity: any) => { let org = await getOrganizationContextInfoWithoutCredentials( props.orgslug, { revalidate: 1800 } ) await createActivity(activity, props.chapterId, org.org_id) mutate(`${getAPIUrl()}courses/${course.courseStructure.course_uuid}/meta`) setNewActivityModal(false) await revalidateTags(['courses'], props.orgslug) router.refresh() } // Submit File Upload const submitFileActivity = async ( file: any, type: any, activity: any, chapterId: string ) => { await createFileActivity(file, type, activity, chapterId) mutate(`${getAPIUrl()}courses/${course.courseStructure.course_uuid}/meta`) setNewActivityModal(false) await revalidateTags(['courses'], props.orgslug) router.refresh() } // Submit YouTube Video Upload const submitExternalVideo = async ( external_video_data: any, activity: any, chapterId: string ) => { await createExternalVideoActivity( external_video_data, activity, props.chapterId ) mutate(`${getAPIUrl()}courses/${course.courseStructure.course_uuid}/meta`) setNewActivityModal(false) await revalidateTags(['courses'], props.orgslug) router.refresh() } useEffect(() => {}, [course]) return (