You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.8 KiB

'use client'
import BreadCrumbNav from "@/components/(dashboard)/common/BreadCumbNav/BreadCrumbNav"
import ContentContainer from "@/components/(dashboard)/elements/ContentContainer"
import { PageHeading } from "@/components/(dashboard)/ui/title"
import CommonContainer from "@/components/elements/CommonContainer"
import AppContextProvider from "@/helpers/context/AppContextProvider"
import { defaultFetcher } from "@/helpers/fetch.helper"
import { routes } from "@/lib/routes"
import { APP_BASE_URL } from "@/utils/constants"
import AdminView from "@/views/AdminView"
import useSWR from "swr"
import CourseTable from "./_partials/CourseTable"
const CourseIndexPage = () => {
const CourseListURL = `${APP_BASE_URL}/api/course/listall`
const { data, mutate, isLoading } = useSWR(CourseListURL, defaultFetcher);
return (
<AppContextProvider>
<AdminView>
<CommonContainer>
<PageHeading>Courses</PageHeading>
<BreadCrumbNav breadCrumbItems={[
{
title: 'Dashboard',
href: routes.DASHBOARD_ROUTE
},
{
title: 'Courses',
href: routes.COURSE_INDEX_PAGE
},
]}/>
<ContentContainer>
<div>
<CourseTable
mutate={mutate}
isLoading={isLoading}
Data={data?.data || []}
/>
</div>
</ContentContainer>
</CommonContainer>
</AdminView>
</AppContextProvider>
)
}
export default CourseIndexPage