diff --git a/app/components/KnowledgeQuests.tsx b/app/components/KnowledgeQuests.tsx index d901ad6..66cc459 100644 --- a/app/components/KnowledgeQuests.tsx +++ b/app/components/KnowledgeQuests.tsx @@ -40,27 +40,22 @@ export default function KnowledgeQuests() { } return(
-
-
-

Knowledge Quests

-
- {knowledgeData.map(data => ( -
-
- -
-

{data.title}

-

{data.challenge}

-

{data.question}

-
-
- -
- ))} -
-
- -
+

Knowledge Quests

+
+ {knowledgeData.map(data => ( +
+
+ +
+

{data.title}

+

{data.challenge}

+

{data.question}

+
+
+ +
+ ))} +
) } diff --git a/app/components/LeftSideMenuItems.tsx b/app/components/LeftSideMenuItems.tsx new file mode 100644 index 0000000..57d8f2d --- /dev/null +++ b/app/components/LeftSideMenuItems.tsx @@ -0,0 +1,136 @@ +import React, {useState} from 'react'; +import {Layout, Menu, theme, Button, Modal, MenuProps, Breadcrumb, Dropdown, Space} from 'antd'; +import { SettingOutlined, QuestionCircleOutlined, LogoutOutlined, RightOutlined} from '@ant-design/icons'; +import '../../public/assets/left_side_nav.css'; +import AdministrationIcon from '~/components/customIcon/AdministrationIcon'; +import MyCoursesIcon from '~/components/customIcon/MyCoursesIcon'; +import ExaminationIcon from '~/components/customIcon/ExaminationIcon'; +import CommunityIcon from '~/components/customIcon/CommunityIcon'; +import NotificationIcon from '~/components/customIcon/NotificationIcon'; + + + +const items2: MenuProps['items'] = [ + { + key: 'subsd1', + icon: , + label: (

  Administration

), + children: [ + { + key: '1sd', + label: (Class Schedules), + }, + { + key: '2sd', + label: (Classmate Directory), + }, + { + key: '3sd', + label: (Qualifications), + }, + ], + }, + { + key: 'subsd2', + icon: , + label: (

  My Courses

), + children: [ + { + key: '4sd', + label: (Graduate Program), + }, + { + key: '5sd', + label: (Post-Graduate Program), + }, + ], + }, + { + key: 'subsd3', + icon: , + label: (

  Examinations

), + children: [ + { + key: '6sd', + label: (Exam Scheduled), + }, + { + key: '7sd', + label: (Upcoming Exam), + }, + { + key: '8sd', + label: (Passed Exam), + }, + ], + }, + { + key: 'subsd4', + icon: , + label: (

  Community

), + children: [ + { + key: '9sd', + label: (Exam Scheduled), + }, + { + key: '10sd', + label: (Upcoming Exam), + }, + { + key: '11sd', + label: (Passed Exam), + }, + ], + }, + { + key: 'subsd5', + icon: , + label: (

  Notifications

), + children: [ + { + key: '12sd', + label: (Exam Scheduled), + }, + { + key: '13sd', + label: (Upcoming Exam), + }, + { + key: '14sd', + label: (Passed Exam), + }, + ], + }, + // getItem('Files', '9', ), + { + key: 'grp', + label: '', + type: 'group', + style: { marginTop: '100px' }, + children: [ + { + key: '15sd', style: {paddingTop: '10px', paddingBottom: '10px', border: 'none'}, + icon: React.createElement(SettingOutlined, { style: { color: '#000' } }), + label: (

Settings

) + }, + { + key: '16sd', style: {paddingTop: '10px', paddingBottom: '10px', border: 'none'}, + icon: React.createElement(QuestionCircleOutlined, { style: { color: '#000' } }), + label: (

Help & Support

) + }, + { + key: '17sd', style: {paddingTop: '10px', paddingBottom: '10px', border: 'none'}, + icon: React.createElement(LogoutOutlined, { style: { color: '#000' } }), + label: (

Logout

) + }, + ], + }, +]; + +const LeftSideMenu: React.FC = () => { + return( + + ) +} +export default LeftSideMenu; \ No newline at end of file diff --git a/app/components/StartCourse.tsx b/app/components/StartCourse.tsx new file mode 100644 index 0000000..6eaab09 --- /dev/null +++ b/app/components/StartCourse.tsx @@ -0,0 +1,124 @@ +import React, { useState } from 'react'; +import { Timeline } from 'antd'; +interface MaterialItem { + id: number; + material: number; + title: string; + type: string; + time: string; + date: string; + source: string; +} +const materialData: MaterialItem[] = [ + { + id: 1, + material: 1, + title: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", + type: "Video", + time: "30 mins", + date: "28-01-2024", + source: "https://videos.pexels.com/video-files/3195394/3195394-uhd_2560_1440_25fps.mp4" + }, + { + id: 2, + material: 1, + title: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", + type: "Video", + time: "30 mins", + date: "28-01-2024", + source: "https://videos.pexels.com/video-files/3195394/3195394-uhd_2560_1440_25fps.mp4" + }, + { + id: 3, + material: 1, + title: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", + type: "Reading Material", + time: "8 mins", + date: "28-01-2024", + source: "https://pdfobject.com/pdf/sample.pdf" + }, + { + id: 4, + material: 1, + title: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", + type: "MCQ", + time: "5 mins", + date: "28-01-2024", + source: "https://videos.pexels.com/video-files/3195394/3195394-uhd_2560_1440_25fps.mp4" + }, + { + id: 5, + material: 1, + title: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", + type: "Video", + time: "30 mins", + date: "28-01-2024", + source: "https://videos.pexels.com/video-files/3195394/3195394-uhd_2560_1440_25fps.mp4" + }, + { + id: 6, + material: 1, + title: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", + type: "Video", + time: "30 mins", + date: "28-01-2024", + source: "https://videos.pexels.com/video-files/3195394/3195394-uhd_2560_1440_25fps.mp4" + } +]; + +const TimelineComponent = () => { + const [selectedItem, setSelectedItem] = useState(materialData[0]); + + const handleItemClick = (item : MaterialItem) => { + setSelectedItem(item); + }; + + const timelineItems = materialData.map((item) => ({ + children: ( +
handleItemClick(item)} style={{ cursor: 'pointer', backgroundColor: item.id === selectedItem.id ? '#FFF4EA' : '#FFF'}}> +

Material {item.material} | {item.date}

+

{item.title}

+

{item.type} | {item.time}

+
+ ), + color: item.id === selectedItem.id ? '#EF7A0C' : '#CFCFCF', + dot: item.id === selectedItem.id + ?
+ + +
+ : null, + })); + + return ( +
+
+
+
+ +
+
+
+ {selectedItem.type === 'Video' && ( +