diff --git a/src/app/admin/[[...slug]]/page.tsx b/src/app/admin/[[...slug]]/page.tsx index fb6e3db..c7243e6 100644 --- a/src/app/admin/[[...slug]]/page.tsx +++ b/src/app/admin/[[...slug]]/page.tsx @@ -4,46 +4,42 @@ import AuthHandler from "@/components/server/admin/authHandler"; import Sidebar, { SidebarEntry } from "@/components/server/admin/views/sidebar"; import { ProjectView } from "@/components/views/admin/project"; import { PostView } from "@/components/views/admin/post"; -import { redirect } from 'next/navigation' +import { redirect } from "next/navigation"; import { ReactNode } from "react"; -import { IOptionalChildrenProps, ISlugArrayProps } from "@/components/shared/props"; +import { + IOptionalChildrenProps, + ISlugArrayProps, +} from "@/components/shared/props"; const viewMapRecords: Record = { - "home":
home
, - "man-post": , - "man-proj": -} + home:
home
, + "man-post": , + "man-proj": , +}; -const sidebarEntries: SidebarEntry[] = [ - { label: "Home", view: "home" }, - { label: "Post Management", view: "man-post" }, - { label: "Project Management", view: "man-proj" }, - { label: "Tag Management", view: "man-tags" }, - { label: "User Management", view: "man-user" }, -]; +interface AdminPageProps extends ISlugArrayProps, IOptionalChildrenProps {} -function getCurrentView(view: string): ReactNode { - const viewJSX = viewMapRecords[view || "home"]; - return viewJSX; -} - -interface AdminPageProps extends ISlugArrayProps, IOptionalChildrenProps {} - -export default async function Page({ params: { slug = ["home"] } }: AdminPageProps) { - if ( - (await sidebarEntries) - .map((entry) => entry.view) - .indexOf(slug.toString()) < 0 - ) redirect("/admin/") +export default async function Page({ + params: { slug = ["home"] }, +}: AdminPageProps) { + const sidebarEntries: SidebarEntry[] = [ + { label: "Home", view: "home" }, + { label: "Post Management", view: "man-post" }, + { label: "Project Management", view: "man-proj" }, + { label: "Tag Management", view: "man-tags" }, + { label: "User Management", view: "man-user" }, + ]; + if (sidebarEntries.map((entry) => entry.view).indexOf(slug.toString()) < 0) + redirect("/admin/"); return (
- {getCurrentView(slug.toString())} + {viewMapRecords[slug.toString() || "home"]}
{/*
{JSON.stringify(cookies().getAll())}
*/}