import React from 'react'; import Helmet from 'react-helmet'; import { Redirect } from 'react-router-dom'; import { Box, Tab, TabList, Flex, Tabs, TabPanels, TabPanel } from '@chakra-ui/react'; /** * Types */ import type { IPageProps } from '@educt/interfaces'; /** * Components */ import LoadingPage from '@educt/components/LoadingPage'; import { EditCourseForm } from '@educt/components/Forms/CourseForm'; import DeleteCourseDialog from '@educt/components/Dialogs/DeleteCourseDialog'; import { StudentTableList, StudentTableRow } from './components/StudentTableList'; import LessonList from './components/LessonList'; /** * Hooks */ import { useParams } from 'react-router-dom'; import { useFetchCourse } from '@educt/hooks/queries'; import { useDisclosure } from '@chakra-ui/hooks'; import { PageContent, PageHeading, PageWrapper } from '@educt/components/PageElements'; import { DeleteButton } from '@educt/components/Buttons'; import { StatusButton } from './components'; /** * Course editor */ const EditCoursePage: React.FC = () => { const params = useParams<{ id: string }>(); const { error, data: course, isLoading } = useFetchCourse(params.id); const { onOpen: onOpenDeleteDialog, onClose: onCloseDeleteDialog, isOpen: isOpenDeleteDialog } = useDisclosure(); /** * Not Found */ if (error?.response?.status === 404) { return ; } /** * Loading */ if (!course || isLoading) return ; return ( Editing {course.title} Info Lessons Students ); }; export default EditCoursePage;