-
Liliana Sanfilippo authoredLiliana Sanfilippo authored
pages.ts 9.32 KiB
import {
Contribution,
Description,
Engineering,
Experiments,
Home,
Attributions,
HumanPractices,
Supplementary,
Parts,
Judging,
ProDesc,
Partners,
Notebook,
Results,
Safety,
Team,
Impressum,
Example,
Collaborations
} from "./contents";
import { DescSidebar, SafetySidebar, NoSidebar, EngSide } from "./contents";
import { COLLH, JUDGEH, PRODESC, SUPH, PARTH, ENGH, HOMEH, HPH, SPONH, RESH, ATTH, CONTH, DESCH, EXPH, IMPH, NOTEH, SAFEH, TEAMH } from "./contents";
interface Base {
name: string | undefined;
}
class Folder implements Base {
name: string | undefined;
folder: Page[] | PageRef[] | undefined;
}
class Page implements Base {
name: string | undefined;
title: string | undefined;
path: string | undefined;
component: React.FC | undefined;
header!: React.FC;
navlist!: React.FC;
}
class PageRef implements Base{
name: string | undefined;
title: string | undefined;
path: string | undefined;
component?: React.FC | undefined;
header?: React.FC;
navlist?: React.FC;
}
const Pages: (Page | Folder)[] = [
{
name: "Attributions",
title: "Attributions",
path: "/attributions",
component: Attributions,
header: ATTH,
navlist: NoSidebar,
},
{
name: "Collaborations",
title: "Collaborations",
path: "/collaborations",
component: Collaborations,
header: COLLH,
navlist: NoSidebar,
},
{
name: "Contribution",
title: "Contribution",
path: "/contribution",
component: Contribution,
header: CONTH,
navlist: NoSidebar,
},
{
name: "Description",
title: "Project Description",
path: "/description",
component: Description,
header: DESCH,
navlist: DescSidebar
},
{
name: "Engineering Success",
title: "Engineering",
path: "/engineering",
component: Engineering,
header: ENGH,
navlist: EngSide,
},
{
name: "Example",
title: "Example",
path: "/example",
component: Example,
header: HOMEH,
navlist: NoSidebar,
},
{
name: "Experiments",
title: "Experiments",
path: "/experiments",
component: Experiments,
header: EXPH,
navlist: NoSidebar,
},
{
name: "Human Practices",
title: "Human Practices",
path: "/human-practices",
component: HumanPractices,
header: HPH,
navlist: NoSidebar
},
{
name: "Home",
title: "Bielefeld CeBiTec",
path: "/",
component: Home,
header: HOMEH,
navlist: NoSidebar
},
{
name: "Home",
title: "Bielefeld CeBiTec",
path: "/index.html",
component: Home,
header: HOMEH,
navlist: NoSidebar
},
{
name: "Impressum",
title: undefined,
path: "/impressum",
component: Impressum,
header: IMPH,
navlist: NoSidebar,
},
{
name: "Judging",
title: "Judging",
path: "/judging",
component: Judging,
header: JUDGEH,
navlist: NoSidebar,
},
{
name: "Notebook",
title: "Notebook",
path: "/notebook",
component: Notebook,
header: NOTEH,
navlist: NoSidebar,
},
{
name: "Partners and Sponsors",
title: "Partners and Sponsors",
path: "/partners",
component: Partners,
header: SPONH,
navlist: NoSidebar,
},
{
name: "Parts",
title: "Parts",
path: "/parts",
component: Parts,
header: PARTH,
navlist: NoSidebar,
},
{
name: "Project Documentation",
title: "Project Documentation",
path: "/project-documentation",
component: ProDesc,
header: PRODESC,
navlist: NoSidebar
},
{
name: "Results",
title: "Results",
path: "/results",
component: Results,
header: RESH,
navlist: NoSidebar,
},
{
name: "Safety",
title: "Safety",
path: "/safety",
component: Safety,
header: SAFEH,
navlist: SafetySidebar,
},
{
name: "Materials and Methods",
title: "Supplementary",
path: "/materials-methods",
component: Supplementary,
header: SUPH,
navlist: NoSidebar,
},
{
name: "Rooster",
title: "Rooster",
path: "/team",
component: Team,
header: TEAMH,
navlist: NoSidebar,
},
];
export const NavPages: (Page | PageRef | Folder)[] = [
{
name: "Home",
title: "Bielefeld CeBiTec",
path: "/",
component: Home,
header: HOMEH,
navlist: NoSidebar,
},
{
name: "Team",
folder: [
{
name: "Rooster",
title: "Rooster",
path: "/team",
component: Team,
header: TEAMH,
navlist: NoSidebar,
},
{
name: "Attributions",
title: "Attributions",
path: "/attributions",
component: Attributions,
header: ATTH,
navlist: NoSidebar,
},
{
name: "Partners and Sponsors",
title: "Partners and Sponsors",
path: "/partners",
component: Partners,
header: SPONH,
navlist: NoSidebar,
},
{
name: "iGem Bielefeld",
title: "iGem Bielefeld",
path: "/",
},
],
},
{
name: "Project",
folder: [
{
name: "Description",
title: "Project Description",
path: "/description",
component: Description,
header: DESCH,
navlist: DescSidebar
},
{
name: "Engineering Success",
title: "Engineering",
path: "/engineering",
component: Engineering,
header: ENGH,
navlist: EngSide ,
},
{
name: "Bioafety",
title: "Safety",
path: "/safety",
component: Safety,
header: SAFEH,
navlist: SafetySidebar,
},
{
name: "Project Documentation",
title: "Project Documentation",
path: "/project-documentation",
component: ProDesc,
header: PRODESC,
navlist: NoSidebar
},
],
},
{
name: "Lab",
folder: [
{
name: "Experiments",
title: "Experiments",
path: "/experiments",
component: Experiments,
header: EXPH,
navlist: NoSidebar,
},
{
name: "Materials and Methods",
title: "Supplementary",
path: "/materials-methods",
component: Supplementary,
header: SUPH,
navlist: NoSidebar,
},
{
name: "Results",
title: "Results",
path: "/results",
component: Results,
header: RESH,
navlist: NoSidebar,
},
{
name: "Parts",
title: "Parts",
path: "/parts",
component: Parts,
header: PARTH,
navlist: NoSidebar,
},
{
name: "Documentation",
title: "Notebook",
path: "/notebook",
component: Notebook,
header: NOTEH,
navlist: NoSidebar,
},
]
},
{
name: "Human Practices",
folder: [
{
name: "Introduction",
title: "Introduction",
path: "/human-practices?tab=intro"
},
{
name: "Integrated Human Practices",
title: "Integrated Human Practices",
path: "/human-practices",
component: HumanPractices,
header: HPH,
navlist: NoSidebar
},
{
name: "Feedback and Implementation",
title: "Feedback and Implementation",
path: "/human-practices?tab=feedback"
},
{
name: "Public Engagement",
title: "Education and Outreach",
path: "/human-practices?tab=public"
},
{
name: "Education",
title: "Education and Outreach",
path: "/human-practices?tab=edu"
},
{
name: "Collaboration",
title: "Collaboration",
path: "/human-practices?tab=collabs"
},
{
name: "Partnerships",
title: "Partnerships",
path: "/human-practices?tab=ships"
},
]
},
{
name: "Judging",
folder: [
{
name: "Overview",
title: "Judging",
path: "/judging",
component: Judging,
header: JUDGEH,
navlist: NoSidebar,
},
{
name: "Best New Part",
title: "Judging",
path: "/judging?tab=newpart",
},
{
name: "Safety & Security",
title: "Judging",
path: "/judging?tab=safety",
},
{
name: "Best Integrated Human Practice",
title: "Judging",
path: "/judging?tab=ihp",
},
]
},
{
name: "Contribution",
folder: [
{
name: "Contribution",
title: "Contribution",
path: "/contribution",
component: Contribution,
header: CONTH,
navlist: NoSidebar,
}
]
},
];
export default Pages;