diff --git a/app/components/ClassMates.tsx b/app/components/ClassMates.tsx
new file mode 100644
index 0000000..d157775
--- /dev/null
+++ b/app/components/ClassMates.tsx
@@ -0,0 +1,171 @@
+let classmatesData = [
+ {
+ id: "1",
+ name: "Daniel Nguyen",
+ program: "Graduate Program",
+ type: "Student",
+ avatar: "avatar1.png"
+ },
+ {
+ id: "2",
+ name: "Sarah Anderson",
+ program: "Post-Graduate Program",
+ type: "Student",
+ avatar: "avatar2.png"
+ },
+ {
+ id: "3",
+ name: "John Smith",
+ program: "Undergraduate Program",
+ type: "Student",
+ avatar: "avatar3.png"
+ },
+ {
+ id: "4",
+ name: "Emily Davis",
+ program: "Graduate Program",
+ type: "Student",
+ avatar: "avatar4.png"
+ },
+ {
+ id: "5",
+ name: "Michael Johnson",
+ program: "Post-Graduate Program",
+ type: "Student",
+ avatar: "avatar5.png"
+ },
+ {
+ id: "6",
+ name: "Jessica Wilson",
+ program: "Undergraduate Program",
+ type: "Student",
+ avatar: "avatar6.png"
+ },
+ {
+ id: "7",
+ name: "David Brown",
+ program: "Graduate Program",
+ type: "Student",
+ avatar: "avatar1.png"
+ },
+ {
+ id: "8",
+ name: "Laura Lee",
+ program: "Post-Graduate Program",
+ type: "Student",
+ avatar: "avatar2.png"
+ },
+ {
+ id: "9",
+ name: "Chris Miller",
+ program: "Undergraduate Program",
+ type: "Student",
+ avatar: "avatar3.png"
+ },
+ {
+ id: "10",
+ name: "Sophia Taylor",
+ program: "Graduate Program",
+ type: "Student",
+ avatar: "avatar4.png"
+ },
+ {
+ id: "11",
+ name: "James Anderson",
+ program: "Post-Graduate Program",
+ type: "Student",
+ avatar: "avatar5.png"
+ },
+ {
+ id: "12",
+ name: "Olivia Thomas",
+ program: "Undergraduate Program",
+ type: "Student",
+ avatar: "avatar6.png"
+ },
+ {
+ id: "13",
+ name: "Ethan Martinez",
+ program: "Graduate Program",
+ type: "Student",
+ avatar: "avatar1.png"
+ },
+ {
+ id: "14",
+ name: "Ava Garcia",
+ program: "Post-Graduate Program",
+ type: "Student",
+ avatar: "avatar2.png"
+ },
+ {
+ id: "15",
+ name: "Noah Rodriguez",
+ program: "Undergraduate Program",
+ type: "Student",
+ avatar: "avatar3.png"
+ },
+ {
+ id: "16",
+ name: "Mia Martinez",
+ program: "Graduate Program",
+ type: "Student",
+ avatar: "avatar4.png"
+ },
+ {
+ id: "17",
+ name: "Lucas Wilson",
+ program: "Post-Graduate Program",
+ type: "Student",
+ avatar: "avatar5.png"
+ },
+ {
+ id: "18",
+ name: "Isabella Clark",
+ program: "Undergraduate Program",
+ type: "Student",
+ avatar: "avatar6.png"
+ },
+ {
+ id: "19",
+ name: "Liam Walker",
+ program: "Graduate Program",
+ type: "Student",
+ avatar: "avatar1.png"
+ },
+ {
+ id: "20",
+ name: "Charlotte Lewis",
+ program: "Post-Graduate Program",
+ type: "Student",
+ avatar: "avatar2.png"
+ }
+];
+export default function Index() {
+ return (
+
+
+ Your Classmates | Graduate Program
+
+
+ {classmatesData.map(data => (
+
+
+
+
+
{data.name}
+
+ {data.program} | {data.type}
+
+
+ ))}
+
+
+ );
+}
+
+
+
+{/*
+
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Veritatis quasi nisi eligendi consectetur sequi nemo doloribus, obcaecati corrupti dolorum dolores omnis magni similique. Debitis unde nam, magnam maxime magni repudiandae.
+
*/}
\ No newline at end of file
diff --git a/app/components/ClassmateTutorSection.tsx b/app/components/ClassmateTutorSection.tsx
new file mode 100644
index 0000000..c69f456
--- /dev/null
+++ b/app/components/ClassmateTutorSection.tsx
@@ -0,0 +1,20 @@
+export default function Index() {
+ return (
+
+
+
+
+
+
Sarah Anderson
+
+ TUTOR
+ |
+ Graduate Program
+
+
+ {/*
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Id a cum maxime iste dicta minus vitae harum saepe, assumenda esse sit autem qui quis deserunt adipisci omnis veniam incidunt? Placeat.
*/}
+
+ );
+}
+
+
diff --git a/app/components/KnowledgeQuests.tsx b/app/components/KnowledgeQuests.tsx
index 990141f..a191567 100644
--- a/app/components/KnowledgeQuests.tsx
+++ b/app/components/KnowledgeQuests.tsx
@@ -25,145 +25,30 @@ let knowledgeData = [
}
];
-let performersData = [
- {
- id: "1",
- name: "Eiden",
- score: "48/50",
- points: "999",
- rank: "1",
- program: "Graduate Program",
- avatar: "avatar1.png"
- },
- {
- id: "2",
- name: "Jackson",
- score: "45/50",
- points: "997",
- rank: "2",
- program: "Graduate Program",
- avatar: "avatar2.png"
- },
- {
- id: "3",
- name: "Emma Aria",
- score: "43/50",
- points: "994",
- rank: "3",
- program: "Graduate Program",
- avatar: "avatar3.png"
- },
- {
- id: "4",
- name: "John Doe",
- score: "40/50",
- points: "990",
- rank: "4",
- program: "Graduate Program",
- avatar: "avatar4.png"
- },
- {
- id: "5",
- name: "Jane Cooper",
- score: "37/50",
- points: "987",
- rank: "5",
- program: "Graduate Program",
- avatar: "avatar5.png"
- },
- {
- id: "6",
- name: "John Doe",
- score: "35/50",
- points: "982",
- rank: "6",
- program: "Graduate Program",
- avatar: "avatar6.png"
- }
-];
-
-const sortedData = performersData.sort((a, b) => parseInt(a.rank) - parseInt(b.rank));
-
-const highestRank = sortedData[0];
-const secondHighestRank = sortedData[1];
-const thirdHighestRank = sortedData[2];
-
-console.log('The highest rank is:', highestRank);
-console.log('The second highest rank is:', secondHighestRank);
-console.log('The Third highest rank is:', thirdHighestRank);
-
-
-
export default function(){
return(
-
-
-
-
Knowledge Quests
-
- {knowledgeData.map(data => (
-
-
-
-
-
{data.title}
-
{data.challenge}
-
{data.question}
-
-
-
Start
-
- ))}
-
-
-
-
Top Performers
-
Knowledge Quest
-
-
-
-
-
-
-
{secondHighestRank.name}
-
{secondHighestRank.score}
-
-
-
-
{highestRank.name}
-
{highestRank.score}
-
-
-
-
-
-
-
{thirdHighestRank.name}
-
{thirdHighestRank.score}
-
+
+
+
+
Knowledge Quests
+
+ {knowledgeData.map(data => (
+
+
+
+
+
{data.title}
+
{data.challenge}
+
{data.question}
-
- {sortedData.slice(3).map(data => (
-
-
# {data.rank}
-
-
-
{data.name}
-
{data.program}
-
-
-
-
{data.points} Points
-
-
- ))}
+
Start
-
-
+ ))}
+
+
+
+
+
)
}
\ No newline at end of file
diff --git a/app/components/ProgressReview.tsx b/app/components/ProgressReview.tsx
index 56fcc61..3fae61e 100644
--- a/app/components/ProgressReview.tsx
+++ b/app/components/ProgressReview.tsx
@@ -489,7 +489,6 @@ export default function Index() {
{questionData.correctAnswer}
Correct
-
{questionData.correctAnswer}
diff --git a/app/components/TopPerformers.tsx b/app/components/TopPerformers.tsx
new file mode 100644
index 0000000..c5ca1d7
--- /dev/null
+++ b/app/components/TopPerformers.tsx
@@ -0,0 +1,119 @@
+let performersData = [
+ {
+ id: "1",
+ name: "Eiden",
+ score: "48/50",
+ points: "999",
+ rank: "1",
+ program: "Graduate Program",
+ avatar: "avatar1.png"
+ },
+ {
+ id: "2",
+ name: "Jackson",
+ score: "45/50",
+ points: "997",
+ rank: "2",
+ program: "Graduate Program",
+ avatar: "avatar2.png"
+ },
+ {
+ id: "3",
+ name: "Emma Aria",
+ score: "43/50",
+ points: "994",
+ rank: "3",
+ program: "Graduate Program",
+ avatar: "avatar3.png"
+ },
+ {
+ id: "4",
+ name: "John Doe",
+ score: "40/50",
+ points: "990",
+ rank: "4",
+ program: "Graduate Program",
+ avatar: "avatar4.png"
+ },
+ {
+ id: "5",
+ name: "Jane Cooper",
+ score: "37/50",
+ points: "987",
+ rank: "5",
+ program: "Graduate Program",
+ avatar: "avatar5.png"
+ },
+ {
+ id: "6",
+ name: "John Doe",
+ score: "35/50",
+ points: "982",
+ rank: "6",
+ program: "Graduate Program",
+ avatar: "avatar6.png"
+ }
+];
+
+const sortedData = performersData.sort((a, b) => parseInt(a.rank) - parseInt(b.rank));
+
+const highestRank = sortedData[0];
+const secondHighestRank = sortedData[1];
+const thirdHighestRank = sortedData[2];
+
+// console.log('The highest rank is:', highestRank);
+// console.log('The second highest rank is:', secondHighestRank);
+// console.log('The Third highest rank is:', thirdHighestRank);
+
+
+export default function(){
+ return(
+
+
Top Performers
+
Knowledge Quest
+
+
+
+
+
+
+
{secondHighestRank.name}
+
{secondHighestRank.score}
+
+
+
+
{highestRank.name}
+
{highestRank.score}
+
+
+
+
+
+
+
{thirdHighestRank.name}
+
{thirdHighestRank.score}
+
+
+
+ {sortedData.slice(3).map(data => (
+
+
# {data.rank}
+
+
+
{data.name}
+
{data.program}
+
+
+
+
{data.points} Points
+
+
+ ))}
+
+
+ )
+}
\ No newline at end of file
diff --git a/app/routes/classmate-directory.tsx b/app/routes/classmate-directory.tsx
index acc859b..8ee198a 100644
--- a/app/routes/classmate-directory.tsx
+++ b/app/routes/classmate-directory.tsx
@@ -1,304 +1,163 @@
import React, {useState} from 'react';
import { SettingOutlined, QuestionCircleOutlined, LogoutOutlined, RightOutlined} from '@ant-design/icons';
-import Icon from '@ant-design/icons';
-
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';
+import ClassMates from '~/components/ClassMates';
+import TopPerformers from '~/components/TopPerformers';
+import ClassmateTutorSection from '~/components/ClassmateTutorSection';
import {Layout, Menu, theme, Button, Modal, MenuProps, Breadcrumb, Dropdown, Space} from 'antd';
import '../../public/assets/left_side_nav.css';
- let classmatesData = [
- {
- id: "1",
- name: "Daniel Nguyen",
- program: "Graduate Program",
- type: "Student",
- avatar: "avatar1.png"
- },
- {
- id: "2",
- name: "Sarah Anderson",
- program: "Post-Graduate Program",
- type: "Student",
- avatar: "avatar2.png"
- },
- {
- id: "3",
- name: "John Smith",
- program: "Undergraduate Program",
- type: "Student",
- avatar: "avatar3.png"
- },
- {
- id: "4",
- name: "Emily Davis",
- program: "Graduate Program",
- type: "Student",
- avatar: "avatar4.png"
- },
- {
- id: "5",
- name: "Michael Johnson",
- program: "Post-Graduate Program",
- type: "Student",
- avatar: "avatar5.png"
- },
- {
- id: "6",
- name: "Jessica Wilson",
- program: "Undergraduate Program",
- type: "Student",
- avatar: "avatar6.png"
- },
- {
- id: "7",
- name: "David Brown",
- program: "Graduate Program",
- type: "Student",
- avatar: "avatar1.png"
- },
- {
- id: "8",
- name: "Laura Lee",
- program: "Post-Graduate Program",
- type: "Student",
- avatar: "avatar2.png"
- },
- {
- id: "9",
- name: "Chris Miller",
- program: "Undergraduate Program",
- type: "Student",
- avatar: "avatar3.png"
- },
- {
- id: "10",
- name: "Sophia Taylor",
- program: "Graduate Program",
- type: "Student",
- avatar: "avatar4.png"
- },
- {
- id: "11",
- name: "James Anderson",
- program: "Post-Graduate Program",
- type: "Student",
- avatar: "avatar5.png"
- },
- {
- id: "12",
- name: "Olivia Thomas",
- program: "Undergraduate Program",
- type: "Student",
- avatar: "avatar6.png"
- },
- {
- id: "13",
- name: "Ethan Martinez",
- program: "Graduate Program",
- type: "Student",
- avatar: "avatar1.png"
- },
- {
- id: "14",
- name: "Ava Garcia",
- program: "Post-Graduate Program",
- type: "Student",
- avatar: "avatar2.png"
- },
- {
- id: "15",
- name: "Noah Rodriguez",
- program: "Undergraduate Program",
- type: "Student",
- avatar: "avatar3.png"
- },
- {
- id: "16",
- name: "Mia Martinez",
- program: "Graduate Program",
- type: "Student",
- avatar: "avatar4.png"
- },
- {
- id: "17",
- name: "Lucas Wilson",
- program: "Post-Graduate Program",
- type: "Student",
- avatar: "avatar5.png"
- },
- {
- id: "18",
- name: "Isabella Clark",
- program: "Undergraduate Program",
- type: "Student",
- avatar: "avatar6.png"
- },
- {
- id: "19",
- name: "Liam Walker",
- program: "Graduate Program",
- type: "Student",
- avatar: "avatar1.png"
- },
- {
- id: "20",
- name: "Charlotte Lewis",
- program: "Post-Graduate Program",
- type: "Student",
- avatar: "avatar2.png"
- }
- ];
- const { Header, Content, Sider } = Layout;
+const { Content, Sider } = Layout;
- const items1: MenuProps['items'] = ['1', '2', '3'].map((key) => ({
- key,
- label: `navsd ${key}`,
- }));
+const items1: MenuProps['items'] = ['1', '2', '3'].map((key) => ({
+ key,
+ label: `navsd ${key}`,
+}));
- type MenuItem = Required['items'][number];
+type MenuItem = Required['items'][number];
- 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: [
+const items2: MenuProps['items'] = [
+ {
+ key: 'subsd1',
+ icon: ,
+ label: ( Administration
),
+ children: [
{
- key: '9sd',
- label: (Exam Scheduled ),
+ key: '1sd',
+ label: (Class Schedules ),
},
{
- key: '10sd',
- label: (Upcoming Exam ),
+ key: '2sd',
+ label: (Classmate Directory ),
},
{
- key: '11sd',
- label: (Passed Exam ),
+ key: '3sd',
+ label: (Qualifications ),
},
- ],
- },
- {
- 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: 'subsd2',
+ icon: ,
+ label: ( My Courses
),
+ children: [
+ {
+ key: '4sd',
+ label: (Graduate Program ),
},
{
- key: '16sd', style: {paddingTop: '10px', paddingBottom: '10px', border: 'none'},
- icon: React.createElement(QuestionCircleOutlined, { style: { color: '#000' } }),
- label: (Help & Support )
+ key: '5sd',
+ label: (Post-Graduate Program ),
+ },
+ ],
+ },
+ {
+ key: 'subsd3',
+ icon: ,
+ label: ( Examinations
),
+ children: [
+ {
+ key: '6sd',
+ label: (Exam Scheduled ),
},
{
- key: '17sd', style: {paddingTop: '10px', paddingBottom: '10px', border: 'none'},
- icon: React.createElement(LogoutOutlined, { style: { color: '#000' } }),
- label: (Logout )
- },
- ],
- },
- ];
- const items: MenuProps['items'] = [
+ key: '7sd',
+ label: (Upcoming Exam ),
+ },
+ {
+ key: '8sd',
+ label: (Passed Exam ),
+ },
+ ],
+ },
+ {
+ key: 'subsd4',
+ icon: ,
+ label: ( Community
),
+ children: [
{
- label: 1st menu item ,
- key: '01sd',
+ key: '9sd',
+ label: (Exam Scheduled ),
},
{
- type: 'divider',
+ key: '10sd',
+ label: (Upcoming Exam ),
},
{
- label: 2nd menu item ,
- key: '02sd',
+ 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 )
},
{
- type: 'divider',
+ key: '16sd', style: {paddingTop: '10px', paddingBottom: '10px', border: 'none'},
+ icon: React.createElement(QuestionCircleOutlined, { style: { color: '#000' } }),
+ label: (Help & Support )
},
{
- label: '3rd menu item',
- key: '03sd',
- },
+ key: '17sd', style: {paddingTop: '10px', paddingBottom: '10px', border: 'none'},
+ icon: React.createElement(LogoutOutlined, { style: { color: '#000' } }),
+ label: (Logout )
+ },
+ ],
+ },
+];
+const items: MenuProps['items'] = [
+ {
+ label: 1st menu item ,
+ key: '01sd',
+ },
+ {
+ type: 'divider',
+ },
+ {
+ label: 2nd menu item ,
+ key: '02sd',
+ },
+ {
+ type: 'divider',
+ },
+ {
+ label: '3rd menu item',
+ key: '03sd',
+ },
];
const App: React.FC = () => {
@@ -318,20 +177,7 @@ const App: React.FC = () => {
const { token: { colorBgContainer}, } = theme.useToken();
return (
-
- <>
- {/* Open Modal */}
- Loading Modal} footer={ Reload } loading={loading} open={open} onCancel={() => setOpen(false)} >
- Some contents...
- Some contents...
- Some contents...
-
- >
- {/* */}
setCollapsed(value)} width={366} style={{overflow: 'auto', height: '110vh', position: 'fixed', left: 0, top: 0, bottom: 0, background: '#FFF', borderRight: '1px solid #CFCFCF', borderBottom: '2px solid #000'}}>
@@ -343,61 +189,57 @@ const App: React.FC = () => {
- {/* defaultSelectedKeys={['1']} defaultOpenKeys={['sub1']} */}
-
-
+
+
- Administration,},{title: 'Class Directory',},]}/>
+ Administration,},{title: 'Class Directory',},]}/>
-
-
-
-
-
Your Classmates | Graduate Program
-
- {classmatesData.map(data => (
-
-
-
- ))}
-
+ {/* Place Content from here */}
+
+
+
+
+
+
-
Lorem ipsum dolor sit amet consectetur adipisicing elit. Tenetur dignissimos nostrum fugit animi nobis. Explicabo nam accusamus harum doloremque praesentium officia, vel laborum nobis eveniet quibusdam ex rem asperiores alias!
-
+
+
);
};
-export default App;
\ No newline at end of file
+export default App;
+
diff --git a/app/routes/student-dashboard._index.tsx b/app/routes/student-dashboard._index.tsx
index 55418a6..44b730d 100644
--- a/app/routes/student-dashboard._index.tsx
+++ b/app/routes/student-dashboard._index.tsx
@@ -6,7 +6,8 @@ import ExaminationIcon from '~/components/customIcon/ExaminationIcon';
import CommunityIcon from '~/components/customIcon/CommunityIcon';
import NotificationIcon from '~/components/customIcon/NotificationIcon';
import ContunueLearning from '~/components/ContinueLearning';
-import KnowledgeQuests from '~/components/KnowledgeQuests'
+import KnowledgeQuests from '~/components/KnowledgeQuests';
+import TopPerformers from '~/components/TopPerformers';
import {Layout, Menu, theme, Button, Modal, MenuProps} from 'antd';
import { Dropdown, Space } from 'antd';
import '../../public/assets/left_side_nav.css';
@@ -221,12 +222,21 @@ const App: React.FC = () => {
{/* Place content from here */}
+
+
-
-
-
+
diff --git a/public/assets/tutor.png b/public/assets/tutor.png
new file mode 100644
index 0000000..481cb1f
Binary files /dev/null and b/public/assets/tutor.png differ