diff --git a/app/components/AlbumArt&Craft.tsx b/app/components/AlbumArt&Craft.tsx index 3fe00de..ad19f63 100644 --- a/app/components/AlbumArt&Craft.tsx +++ b/app/components/AlbumArt&Craft.tsx @@ -6,30 +6,37 @@ const fallBackImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMIAAADDCAY let artCraftImage = [ { id: "1", + type: "art&craft", img: "/assets/aimage1.jpg", }, { id: "2", + type: "art&craft", img: "/assets/aimage2.jpg", }, { id: "3", + type: "art&craft", img: "/assets/aimage3.jpg", }, { id: "4", + type: "art&craft", img: "/assets/aimage4.jpg", }, { id: "5", + type: "art&craft", img: "/assets/aimage5.jpg", }, { id: "6", + type: "art&craft", img: "/assets/aimage2.jpg", }, { id: "7", + type: "art&craft", img: "/assets/aimage4.jpg", } ] diff --git a/app/components/AlbumsGK&GroupActivity.tsx b/app/components/AlbumsGK&GroupActivity.tsx new file mode 100644 index 0000000..6364419 --- /dev/null +++ b/app/components/AlbumsGK&GroupActivity.tsx @@ -0,0 +1,89 @@ +import React from 'react'; +import { Image } from 'antd'; +import Index from './AdminNav'; +const fallBackImage = "data:image/png;base64,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"; + +let artCraftImage = [ + { + id: "1", + type: "gk&groupactivity", + img: "/assets/gimage1.jpg" + }, + { + id: "2", + type: "gk&groupactivity", + img: "/assets/gimage2.jpg" + }, + { + id: "3", + type: "gk&groupactivity", + img: "/assets/gimage3.jpg" + }, + { + id: "4", + type: "gk&groupactivity", + img: "/assets/gimage4.jpg" + }, + { + id: "5", + type: "gk&groupactivity", + img: "/assets/gimage5.jpg" + }, + { + id: "6", + type: "gk&groupactivity", + img: "/assets/gimage6.jpg" + }, + { + id: "7", + type: "gk&groupactivity", + img: "/assets/gimage7.jpg" + }, + { + id: "8", + type: "gk&groupactivity", + img: "/assets/gimage8.jpg" + }, + { + id: "9", + type: "gk&groupactivity", + img: "/assets/gimage9.jpg" + }, + { + id: "10", + type: "gk&groupactivity", + img: "/assets/gimage10.jpg" + }, + { + id: "11", + type: "gk&groupactivity", + img: "/assets/gimage11.jpg" + }, + { + id: "12", + type: "gk&groupactivity", + img: "/assets/gimage12.jpg" + } +] + + +const App: React.FC = () => ( + console.log(`current index: ${current}, prev index: ${prev}`),}}> +
+
+
+ { + artCraftImage.map((data) => ( + //
+ + )) + } +
+
+
+
+); + +export default App; \ No newline at end of file diff --git a/app/components/AlbumsLanguage&Maths.tsx b/app/components/AlbumsLanguage&Maths.tsx new file mode 100644 index 0000000..faa514c --- /dev/null +++ b/app/components/AlbumsLanguage&Maths.tsx @@ -0,0 +1,84 @@ +import React from 'react'; +import { Image } from 'antd'; +import Index from './AdminNav'; +const fallBackImage = "data:image/png;base64,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"; + +let artCraftImage = [ + { + id: "1", + type: "language&maths", + img: "/assets/limage1.jpg" + }, + { + id: "2", + type: "language&maths", + img: "/assets/limage2.jpg" + }, + { + id: "3", + type: "language&maths", + img: "/assets/limage3.jpg" + }, + { + id: "4", + type: "language&maths", + img: "/assets/limage4.jpg" + }, + { + id: "5", + type: "language&maths", + img: "/assets/limage5.jpg" + }, + { + id: "6", + type: "language&maths", + img: "/assets/limage6.jpg" + }, + { + id: "7", + type: "language&maths", + img: "/assets/limage7.jpg" + }, + { + id: "8", + type: "language&maths", + img: "/assets/limage8.jpg" + }, + { + id: "9", + type: "language&maths", + img: "/assets/limage9.jpg" + }, + { + id: "10", + type: "language&maths", + img: "/assets/limage10.jpg" + }, + { + id: "11", + type: "language&maths", + img: "/assets/limage11.jpg" + } +] + + +const App: React.FC = () => ( + console.log(`current index: ${current}, prev index: ${prev}`),}}> +
+
+
+ { + artCraftImage.map((data) => ( + //
+ + )) + } +
+
+
+
+); + +export default App; \ No newline at end of file diff --git a/app/components/ExaminationsPractical.tsx b/app/components/ExaminationsPractical.tsx new file mode 100644 index 0000000..eecbee6 --- /dev/null +++ b/app/components/ExaminationsPractical.tsx @@ -0,0 +1,106 @@ + + +import React, { useState } from 'react'; +import { Button, Modal } from 'antd'; +import { InboxOutlined } from '@ant-design/icons'; +import type { UploadProps } from 'antd'; +import { message, Upload } from 'antd'; + +const { Dragger } = Upload; + +const props: UploadProps = { + name: 'file', + multiple: true, + action: 'https://660d2bd96ddfa2943b33731c.mockapi.io/api/upload', + onChange(info) { + const { status } = info.file; + if (status !== 'uploading') { + console.log(info.file, info.fileList); + } + if (status === 'done') { + message.success(`${info.file.name} file uploaded successfully.`); + } else if (status === 'error') { + message.error(`${info.file.name} file upload failed.`); + } + }, + onDrop(e) { + console.log('Dropped files', e.dataTransfer.files); + }, +}; + +const App: React.FC = () => { + const [isModalOpen, setIsModalOpen] = useState(false); + + const showModal = () => { + setIsModalOpen(true); + }; + + const handleOk = () => { + setIsModalOpen(false); + }; + + const handleCancel = () => { + setIsModalOpen(false); + }; + + const customCloseButton = () => { + setIsModalOpen(false); + }; + + return ( + <> +
+
+ + {/* width={771} */} + + +
+
+ +
+ +

Browse or drop a file here

+

Supported formats: JPEG, PNG PDF, Word, PPT

+
+
+
+
+ + +
+
+ + +
+
+ + +



+
+ +
+
+
+
+
+ + ); +}; + +export default App; diff --git a/app/components/LeftSideMenuItems.tsx b/app/components/LeftSideMenuItems.tsx index 57d8f2d..735303a 100644 --- a/app/components/LeftSideMenuItems.tsx +++ b/app/components/LeftSideMenuItems.tsx @@ -7,97 +7,103 @@ 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 { BrowserRouter as Router, Route, Routes, Link } from 'react-router-dom'; + const items2: MenuProps['items'] = [ { - key: 'subsd1', + key: '1', icon: , label: (

  Administration

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

  My Courses

), + label: (

  Courses

), children: [ { - key: '4sd', - label: (Graduate Program), + key: 'courses1', + label: (Theory), }, { - key: '5sd', - label: (Post-Graduate Program), + key: 'courses2', + label: (Practical), + }, + { + key: 'courses3', + label: (Albums), }, ], }, { - key: 'subsd3', + key: '3', icon: , label: (

  Examinations

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

  Community

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

  Notifications

), children: [ { - key: '12sd', + key: 'notifications1', label: (Exam Scheduled), }, { - key: '13sd', + key: 'notifications2', label: (Upcoming Exam), }, { - key: '14sd', + key: 'notifications3', label: (Passed Exam), }, ], @@ -110,17 +116,17 @@ const items2: MenuProps['items'] = [ style: { marginTop: '100px' }, children: [ { - key: '15sd', style: {paddingTop: '10px', paddingBottom: '10px', border: 'none'}, + key: '6', 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'}, + key: '7', 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'}, + key: '8', style: {paddingTop: '10px', paddingBottom: '10px', border: 'none'}, icon: React.createElement(LogoutOutlined, { style: { color: '#000' } }), label: (

Logout

) }, diff --git a/app/components/TheoryCourses.tsx b/app/components/TheoryCourses.tsx index af574b6..8bf6f31 100644 --- a/app/components/TheoryCourses.tsx +++ b/app/components/TheoryCourses.tsx @@ -115,8 +115,12 @@ export default function CourseTheory() {
{ theoryData.map((data, index) => ( -
- +
+
+ +

MODULE {data.module}

+
+

{data.title}

{data.time} Hours | Net Total Marks {data.total_marks}

{data.description}

diff --git a/app/routes/albums.art-&-craft.tsx b/app/routes/albums.art-&-craft.tsx index fd3d5d0..026dc88 100644 --- a/app/routes/albums.art-&-craft.tsx +++ b/app/routes/albums.art-&-craft.tsx @@ -70,7 +70,7 @@ const App: React.FC = () => {
- Course,},{title: 'Albums',},]}/> + Course,},{title: Albums,},{title: 'Art & Craft Album'}]}/>
+ + e.preventDefault()}> + +
+ +
+

My Profile

+

Rayan Holiday

+
+ +
+
+
+
+
+
+
+ {/* Place Content from here */} + + + + + + ); +}; +export default App; + diff --git a/app/routes/albums.language-&-maths.tsx b/app/routes/albums.language-&-maths.tsx new file mode 100644 index 0000000..3d5ac4e --- /dev/null +++ b/app/routes/albums.language-&-maths.tsx @@ -0,0 +1,107 @@ +import React, {useState} from 'react'; +import { RightOutlined} from '@ant-design/icons'; +import AlbumsLanguageMaths from '~/components/AlbumsLanguage&Maths'; +import {Layout, theme, Button, MenuProps, Breadcrumb, Dropdown, Space} from 'antd'; +import '../../public/assets/left_side_nav.css'; +import LeftSideMenu from '~/components/LeftSideMenuItems'; + +const { Content, Sider } = Layout; + +const items1: MenuProps['items'] = ['1', '2', '3'].map((key) => ({ + key, + label: `navsd ${key}`, +})); + +type MenuItem = Required['items'][number]; + + + +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 = () => { + const [collapsed, setCollapsed] = useState(false); + const [open, setOpen] = React.useState(false); + const [loading, setLoading] = React.useState(true); + const showLoading = () => { + setOpen(true); + setLoading(true); + + // Simple loading mock. You should add cleanup logic in real world. + setTimeout(() => { + setLoading(false); + }, 100); + }; + const { token: { colorBgContainer}, } = theme.useToken(); + + return ( + + +
+ 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'}}> +
+
+

IIMTT Logo

+
+
+ +
+
+ + +
+
+
+ Course,},{title: Albums,}, {title: 'Language & Maths'}]}/> +
+ +
+
+ {/* Place Content from here */} + +
+
+
+
+ ); +}; +export default App; + diff --git a/app/routes/examinations._index.tsx b/app/routes/examinations._index.tsx new file mode 100644 index 0000000..e69de29 diff --git a/app/routes/examinations.practical.tsx b/app/routes/examinations.practical.tsx new file mode 100644 index 0000000..f837e89 --- /dev/null +++ b/app/routes/examinations.practical.tsx @@ -0,0 +1,107 @@ +import React, {useState} from 'react'; +import { RightOutlined} from '@ant-design/icons'; +import ExaminationsPractical from '~/components/ExaminationsPractical'; +import {Layout, theme, Button, MenuProps, Breadcrumb, Dropdown, Space} from 'antd'; +import '../../public/assets/left_side_nav.css'; +import LeftSideMenu from '~/components/LeftSideMenuItems'; + +const { Content, Sider } = Layout; + +const items1: MenuProps['items'] = ['1', '2', '3'].map((key) => ({ + key, + label: `navsd ${key}`, +})); + +type MenuItem = Required['items'][number]; + + + +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 = () => { + const [collapsed, setCollapsed] = useState(false); + const [open, setOpen] = React.useState(false); + const [loading, setLoading] = React.useState(true); + const showLoading = () => { + setOpen(true); + setLoading(true); + + // Simple loading mock. You should add cleanup logic in real world. + setTimeout(() => { + setLoading(false); + }, 100); + }; + const { token: { colorBgContainer}, } = theme.useToken(); + + return ( + + +
+ 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'}}> +
+
+

IIMTT Logo

+
+
+ +
+
+ + +
+
+
+ Examinations,},{title: 'Practical',}]}/> +
+ +
+
+ {/* Place Content from here */} + +
+
+
+
+ ); +}; +export default App; + diff --git a/app/routes/albums._index.tsx b/app/routes/mycourse.albums.tsx similarity index 100% rename from app/routes/albums._index.tsx rename to app/routes/mycourse.albums.tsx diff --git a/public/assets/gimage1.jpg b/public/assets/gimage1.jpg new file mode 100644 index 0000000..1ccdf9d Binary files /dev/null and b/public/assets/gimage1.jpg differ diff --git a/public/assets/gimage10.jpg b/public/assets/gimage10.jpg new file mode 100644 index 0000000..ff15fcc Binary files /dev/null and b/public/assets/gimage10.jpg differ diff --git a/public/assets/gimage11.jpg b/public/assets/gimage11.jpg new file mode 100644 index 0000000..9c03b67 Binary files /dev/null and b/public/assets/gimage11.jpg differ diff --git a/public/assets/gimage12.jpg b/public/assets/gimage12.jpg new file mode 100644 index 0000000..e83da2c Binary files /dev/null and b/public/assets/gimage12.jpg differ diff --git a/public/assets/gimage2.jpg b/public/assets/gimage2.jpg new file mode 100644 index 0000000..eb1671a Binary files /dev/null and b/public/assets/gimage2.jpg differ diff --git a/public/assets/gimage3.jpg b/public/assets/gimage3.jpg new file mode 100644 index 0000000..dc3777a Binary files /dev/null and b/public/assets/gimage3.jpg differ diff --git a/public/assets/gimage4.jpg b/public/assets/gimage4.jpg new file mode 100644 index 0000000..df4d100 Binary files /dev/null and b/public/assets/gimage4.jpg differ diff --git a/public/assets/gimage5.jpg b/public/assets/gimage5.jpg new file mode 100644 index 0000000..f3e1d69 Binary files /dev/null and b/public/assets/gimage5.jpg differ diff --git a/public/assets/gimage6.jpg b/public/assets/gimage6.jpg new file mode 100644 index 0000000..bc1f0de Binary files /dev/null and b/public/assets/gimage6.jpg differ diff --git a/public/assets/gimage7.jpg b/public/assets/gimage7.jpg new file mode 100644 index 0000000..5b8bf38 Binary files /dev/null and b/public/assets/gimage7.jpg differ diff --git a/public/assets/gimage8.jpg b/public/assets/gimage8.jpg new file mode 100644 index 0000000..4fa510a Binary files /dev/null and b/public/assets/gimage8.jpg differ diff --git a/public/assets/gimage9.jpg b/public/assets/gimage9.jpg new file mode 100644 index 0000000..edc4f51 Binary files /dev/null and b/public/assets/gimage9.jpg differ diff --git a/public/assets/limage1.jpg b/public/assets/limage1.jpg new file mode 100644 index 0000000..7ee5fb9 Binary files /dev/null and b/public/assets/limage1.jpg differ diff --git a/public/assets/limage10.jpg b/public/assets/limage10.jpg new file mode 100644 index 0000000..53cd146 Binary files /dev/null and b/public/assets/limage10.jpg differ diff --git a/public/assets/limage11.jpg b/public/assets/limage11.jpg new file mode 100644 index 0000000..49e921a Binary files /dev/null and b/public/assets/limage11.jpg differ diff --git a/public/assets/limage12.jpg b/public/assets/limage12.jpg new file mode 100644 index 0000000..50aa1c6 Binary files /dev/null and b/public/assets/limage12.jpg differ diff --git a/public/assets/limage2.jpg b/public/assets/limage2.jpg new file mode 100644 index 0000000..6d1ab4d Binary files /dev/null and b/public/assets/limage2.jpg differ diff --git a/public/assets/limage3.jpg b/public/assets/limage3.jpg new file mode 100644 index 0000000..3f9c5e0 Binary files /dev/null and b/public/assets/limage3.jpg differ diff --git a/public/assets/limage4.jpg b/public/assets/limage4.jpg new file mode 100644 index 0000000..c9be66b Binary files /dev/null and b/public/assets/limage4.jpg differ diff --git a/public/assets/limage5.jpg b/public/assets/limage5.jpg new file mode 100644 index 0000000..4c77dd6 Binary files /dev/null and b/public/assets/limage5.jpg differ diff --git a/public/assets/limage6.jpg b/public/assets/limage6.jpg new file mode 100644 index 0000000..815cddb Binary files /dev/null and b/public/assets/limage6.jpg differ diff --git a/public/assets/limage7.jpg b/public/assets/limage7.jpg new file mode 100644 index 0000000..c99f949 Binary files /dev/null and b/public/assets/limage7.jpg differ diff --git a/public/assets/limage8.jpg b/public/assets/limage8.jpg new file mode 100644 index 0000000..4c77dd6 Binary files /dev/null and b/public/assets/limage8.jpg differ diff --git a/public/assets/limage9.jpg b/public/assets/limage9.jpg new file mode 100644 index 0000000..687ce2d Binary files /dev/null and b/public/assets/limage9.jpg differ diff --git a/public/assets/practical-file-upload.css b/public/assets/practical-file-upload.css new file mode 100644 index 0000000..e3fb5f8 --- /dev/null +++ b/public/assets/practical-file-upload.css @@ -0,0 +1,10 @@ +:where(.css-dev-only-do-not-override-1uq9j6g).ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload.ant-upload-select, :where(.css-dev-only-do-not-override-1uq9j6g).ant-upload-wrapper.ant-upload-picture-circle-wrapper .ant-upload.ant-upload-select{ + width: 279px; + height: 255px; + color: #C4C4C4; + text-align: center; + justify-content: center; + justify-items: center; + place-items: center; +} +/* */ \ No newline at end of file