import React from 'react'; import Helmet from 'react-helmet'; import { Redirect } from 'react-router-dom'; import { Box, Heading, Text, Tab, TabList, Flex, Tabs, TabPanels, TabPanel, Button } from '@chakra-ui/react'; import { DeleteIcon } from '@chakra-ui/icons'; /** * Types */ import type { IPageProps } from '@educt/interfaces'; /** * Components */ import LoadingPage from '@educt/components/LoadingPage'; import { EditCourseForm } from '@educt/components/Forms/CourseForm'; import SetCourseStatusButton from '@educt/components/SetCourseStatusButton'; 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 { useRootStore } from '@educt/hooks/useRootStore'; import { useFetchCourse } from '@educt/hooks/queries'; import { useDisclosure } from '@chakra-ui/hooks'; /** * Course editor */ const EditCoursePage: React.FC = () => { const params = useParams<{ id: string }>(); const { pageStore: { editCourseStore: { course }, }, } = useRootStore(); const { error, 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} Course editor {course.title} Info Lessons Students ); }; export default EditCoursePage;