import React from 'react'; import { LaptopOutlined, SettingOutlined, QuestionCircleOutlined, LogoutOutlined, UserOutlined, DownOutlined, FileOutlined} from '@ant-design/icons'; import Icon from '@ant-design/icons'; import { createFromIconfontCN } from '@ant-design/icons'; import {Layout, Menu, theme, Button, Modal, MenuProps} from 'antd'; import { Dropdown, Space } from 'antd'; import '../../public/assets/ss.css' const administrationIcon = (props) => ( } /> ); const examinationIcon = () => ( } /> ); const myCoursesIcon = () => ( } /> ); const communityIcon = () => ( } /> ); const notificationIcon = () => ( } /> ); const { Header, Content, Sider } = Layout; const items1: MenuProps['items'] = ['1', '2', '3'].map((key) => ({ key, label: `nav ${key}`, })); type MenuItem = Required['items'][number]; // function getItem( // label: React.ReactNode, // key: React.Key, // icon?: React.ReactNode, // children?: MenuItem[], // ): MenuItem { // return { // key, // icon, // children, // label, // } as MenuItem; // } const items2: MenuProps['items'] = [ { key: 'sub1', icon: , label: 'Administration', children: [ { key: '1', label: (Class Schedules), }, { key: '2', label: (Classmate Directory), }, { key: '3', label: (Qualifications), }, ], }, { key: 'sub2', icon: , label: 'My Courses', children: [ { key: '4', label: (Graduate Program), }, { key: '5', label: (Post-Graduate Program), }, ], }, { key: 'sub3', icon: , label: 'Examinations', children: [ { key: '7', label: (Exam Scheduled), }, { key: '8', label: (Upcoming Exam), }, { key: '9', label: (Passed Exam), }, ], }, { key: 'sub4', icon: , label: 'Community', children: [ { key: '7', label: (Exam Scheduled), }, { key: '8', label: (Upcoming Exam), }, { key: '9', label: (Passed Exam), }, ], }, { key: 'sub5', icon: , label: 'Notifications', children: [ { key: '7', label: (Exam Scheduled), }, { key: '8', label: (Upcoming Exam), }, { key: '9', label: (Passed Exam), }, ], }, // getItem('Files', '9', ), { key: 'grp', label: '', type: 'group', style: { marginTop: '100px' }, children: [ { key: '13', style: {paddingTop: '10px', paddingBottom: '10px', border: 'none'}, icon: React.createElement(SettingOutlined), label: (

Settings

) }, { key: '14', style: {paddingTop: '10px', paddingBottom: '10px', border: 'none'}, icon: React.createElement(QuestionCircleOutlined), label: (

Help & Support

) }, { key: '15', style: {paddingTop: '10px', paddingBottom: '10px', border: 'none'}, icon: React.createElement(LogoutOutlined), label: (

Logout

) }, ], }, ]; const items: MenuProps['items'] = [ { label: 1st menu item, key: '0', }, { type: 'divider', }, { label: 2nd menu item, key: '1', }, { type: 'divider', }, { label: '3rd menu item', key: '3', }, ]; const App: React.FC = () => { 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 ( <> {/* */} Loading Modal

} footer={ } loading={loading} open={open} onCancel={() => setOpen(false)} >

Some contents...

Some contents...

Some contents...

{/*
*/} {/* defaultSelectedKeys={['1']} defaultOpenKeys={['sub1']} */}

Flex Content - 1

Life History of Dr. Maria Montessori

Chapter 1 * Graduate Program

Flex Content - 2

Life History of Dr. Maria Montessori

Chapter 2 * Graduate Program

Flex Content - 3

Life History of Dr. Maria Montessori

Chapter 3 * Graduate Program

Attendance

Attendance - 1

Attendance - 2

Attendance - 3

Attendance - 4

Attendance - 5

Upcoming Classes

Upcoming Class - 1

Upcoming Class - 2

Upcoming Class - 3

Upcoming Class - 4

Upcoming Class - 5

Accomplishments/Qualifications

Upcoming Tests

Upcoming Test - 1

Upcoming Test - 2

Upcoming Test - 3

Upcoming Test - 4

Upcoming Test - 5

Upcoming Test - 7

Upcoming Test - 8

Upcoming Test - 9

); }; export default App;