diff --git a/apps/web/app/orgs/[orgslug]/(withmenu)/course/[courseuuid]/course.tsx b/apps/web/app/orgs/[orgslug]/(withmenu)/course/[courseuuid]/course.tsx index 3890ee6d..c51f96cd 100644 --- a/apps/web/app/orgs/[orgslug]/(withmenu)/course/[courseuuid]/course.tsx +++ b/apps/web/app/orgs/[orgslug]/(withmenu)/course/[courseuuid]/course.tsx @@ -15,6 +15,7 @@ import { import { ArrowRight, Check, File, Sparkles, Video } from 'lucide-react' import { useOrg } from '@components/Contexts/OrgContext' import UserAvatar from '@components/Objects/UserAvatar' +import CourseUpdates from '@components/Objects/CourseUpdates/CourseUpdates' const CourseClient = (props: any) => { const [user, setUser] = useState({}) @@ -68,9 +69,14 @@ const CourseClient = (props: any) => { ) : ( -
-

Course

-

{course.name}

+
+
+

Course

+

{course.name}

+
+
+ +
{props.course?.thumbnail_image && org ? ( @@ -150,13 +156,13 @@ const CourseClient = (props: any) => {
{activity.activity_type === 'TYPE_DYNAMIC' && ( -
- -
- )} +
+ +
+ )} {activity.activity_type === 'TYPE_VIDEO' && (
{
{activity.activity_type === 'TYPE_DYNAMIC' && ( - <> - -
-

Page

- -
- - - )} + <> + +
+

Page

+ +
+ + + )} {activity.activity_type === 'TYPE_VIDEO' && ( <> { )} {activity.activity_type === 'TYPE_DOCUMENT' && ( - <> - -
-

Document

- -
- - - )} + <> + +
+

Document

+ +
+ + + )}
diff --git a/apps/web/components/Objects/CourseUpdates/CourseUpdates.tsx b/apps/web/components/Objects/CourseUpdates/CourseUpdates.tsx new file mode 100644 index 00000000..5b2a68db --- /dev/null +++ b/apps/web/components/Objects/CourseUpdates/CourseUpdates.tsx @@ -0,0 +1,184 @@ +import { PencilLine, Rss } from 'lucide-react' +import React from 'react' +import { motion } from 'framer-motion' +import { useFormik } from 'formik' +import * as Form from '@radix-ui/react-form' +import FormLayout, { + FormField, + FormLabelAndMessage, + Input, + Textarea, +} from '@components/StyledElements/Form/Form' + +function CourseUpdates() { + const [isModelOpen, setIsModelOpen] = React.useState(false) + + function handleModelOpen() { + setIsModelOpen(!isModelOpen) + } + + // if user clicks outside the model, close the model + React.useEffect(() => { + function handleClickOutside(event: any) { + if (event.target.closest('.bg-white') === null) { + setIsModelOpen(false) + } + } + document.addEventListener('mousedown', handleClickOutside) + return () => { + document.removeEventListener('mousedown', handleClickOutside) + } + }, []) + + return ( +
+
+
+
+ Updates + 5 +
+
+ {isModelOpen && + + } +
+ ) +} + +const UpdatesModel = () => { + return ( +
+
+
+ + Updates + +
+
+ + New Update +
+
+
+ +
+
+ ) +} + +const NewUpdateForm = () => { + + const validate = (values: any) => { + const errors: any = {} + + if (!values.title) { + errors.title = 'Title is required' + } + if (!values.content) { + errors.content = 'Content is required' + } + + return errors + } + const formik = useFormik({ + initialValues: { + title: '', + content: '' + }, + validate, + onSubmit: async (values) => { }, + enableReinitialize: true, + }) + return ( +
+
+
Test Course
+
Add new Course Update
+
+
+ + + + + + + + + + +