From 0b080fc0bed26b09fc984a28e5d491d6d0f69eb9 Mon Sep 17 00:00:00 2001 From: Sergey Yarkov Date: Sun, 10 Oct 2021 21:12:53 +0300 Subject: [PATCH] feat: courses page layout --- src/components/Layout/Layout.tsx | 2 +- .../components/CourseList/CourseItem.tsx | 95 +++++++++++++++++++ .../components/CourseList/CourseList.tsx | 33 +++++++ .../courses/components/CourseList/index.ts | 3 + src/pages/courses/index.tsx | 38 +++++--- src/pages/users/index.tsx | 6 +- 6 files changed, 158 insertions(+), 19 deletions(-) create mode 100644 src/pages/courses/components/CourseList/CourseItem.tsx create mode 100644 src/pages/courses/components/CourseList/CourseList.tsx create mode 100644 src/pages/courses/components/CourseList/index.ts diff --git a/src/components/Layout/Layout.tsx b/src/components/Layout/Layout.tsx index e4a7dbc..be38e8f 100644 --- a/src/components/Layout/Layout.tsx +++ b/src/components/Layout/Layout.tsx @@ -50,7 +50,7 @@ const Layout: React.FC = ({ children, roles }) => { pr='2rem' pl='2rem' sx={{ - '@media (max-width: 1280px)': { + '@media (max-width: 1400px)': { ml: '20rem', }, '@media (max-width: 991px)': { diff --git a/src/pages/courses/components/CourseList/CourseItem.tsx b/src/pages/courses/components/CourseList/CourseItem.tsx new file mode 100644 index 0000000..b68135d --- /dev/null +++ b/src/pages/courses/components/CourseList/CourseItem.tsx @@ -0,0 +1,95 @@ +import React from 'react'; +import { + Flex, + Box, + Heading, + Text, + Menu, + MenuButton, + Badge, + MenuItem, + MenuList, + Image, + Link, + IconButton, +} from '@chakra-ui/react'; +import { Icon } from '@chakra-ui/react'; +import { MdNote } from 'react-icons/md'; + +import { MdGroup, MdThumbUp, MdVideoLibrary } from 'react-icons/md'; +import { DeleteIcon, EditIcon, HamburgerIcon } from '@chakra-ui/icons'; +import { Link as ReactRouterLink } from 'react-router-dom'; + +const CourseItem: React.FC = () => { + return ( + + + + + } /> + + }>Edit course + }>Mark as Draft + } color='red.500'> + Delete + + + + + + + + + + + ReactJS + + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. + + + + + 24 lesson + + + + 12 students + + + + 4 likes + + + + + + ); +}; + +export default CourseItem; diff --git a/src/pages/courses/components/CourseList/CourseList.tsx b/src/pages/courses/components/CourseList/CourseList.tsx new file mode 100644 index 0000000..2a55e13 --- /dev/null +++ b/src/pages/courses/components/CourseList/CourseList.tsx @@ -0,0 +1,33 @@ +import React from 'react'; +import { Grid } from '@chakra-ui/react'; + +/** + * Components + */ +import CourseItem from './CourseItem'; + +const CourseList: React.FC = () => { + return ( + + {[1, 2, 3, 4, 5, 6, 7, 8].map(i => { + return ; + })} + + ); +}; + +export default CourseList; diff --git a/src/pages/courses/components/CourseList/index.ts b/src/pages/courses/components/CourseList/index.ts new file mode 100644 index 0000000..0b4872f --- /dev/null +++ b/src/pages/courses/components/CourseList/index.ts @@ -0,0 +1,3 @@ +import CourseList from './CourseList'; + +export default CourseList; diff --git a/src/pages/courses/index.tsx b/src/pages/courses/index.tsx index 541c11b..96f0484 100644 --- a/src/pages/courses/index.tsx +++ b/src/pages/courses/index.tsx @@ -1,28 +1,40 @@ import React from 'react'; -import { Box, Heading, Breadcrumb, BreadcrumbItem, BreadcrumbLink, Grid } from '@chakra-ui/react'; +import { Flex, Tabs, TabList, Tab, Box, Heading, Text, Button } from '@chakra-ui/react'; import { IPageProps } from 'interfaces'; +import { AddIcon } from '@chakra-ui/icons'; + +/** + * Components + */ +import CourseList from './components/CourseList'; /** * Courses page */ const CoursesPage: React.FC = ({ title }) => { return ( - <> - - - {title} - - - + + - Courses page - - ... - + Courses + List of all available courses. + + + + + + All + Published + Draft + + + - + ); }; diff --git a/src/pages/users/index.tsx b/src/pages/users/index.tsx index c0193d1..6f0592b 100644 --- a/src/pages/users/index.tsx +++ b/src/pages/users/index.tsx @@ -1,7 +1,6 @@ import React, { useEffect } from 'react'; import { observer } from 'mobx-react'; -import { Box, Flex, Button, Heading, Text } from '@chakra-ui/react'; -import { FaFileExcel } from 'react-icons/fa'; +import { Box, Flex, Heading, Text } from '@chakra-ui/react'; /** * Types @@ -51,9 +50,6 @@ const UsersPage: React.FC = () => { -