Add page types, index components, and layout

This commit is contained in:
itsfinniii
2026-03-20 16:40:21 +01:00
parent cb4cb9e578
commit 4bb3fa3671
8 changed files with 258 additions and 42 deletions

View File

@@ -0,0 +1,3 @@
type WebpageLayoutProps = {
searchEngine: SearchEngine;
}

View File

@@ -1,13 +1,18 @@
type WebPage = {
type: "Webpage";
type WebPage =
| {
type: "Webpage";
exists: false;
}
| {
type: "Webpage";
exists: true;
id: string;
lastModified: Date;
url: string;
searchEngine: SearchEngine;
components: WebpageComponent[];
}
id: string;
lastModified: Date;
url: string;
searchEngine: SearchEngine;
components: WebpageComponent[];
};
type WebpageComponent =
ContactComponent |
@@ -28,13 +33,14 @@ type PageRegexMatchProps = {
allowPagination: boolean;
}
type PageType = {
route: string;
pageType: "Webpage" | "BlogIndex" | "BlogPost" |
"ProjectIndex" | "ProjectPost" | "PhotoCategoryIndex" |
"PhotoCategory" | "PhotoAlbum" | "Photo";
page: WebPage | BlogPost | ProjectPost | BlogIndex |
ProjectIndex | PhotoCategoryIndex | PhotoCategory |
PhotoAlbum | PhotoPage | null;
}
type PageType =
| { pageType: "Webpage"; page: WebPage; route: string }
| { pageType: "BlogIndex"; page: BlogIndex; route: string }
| { pageType: "BlogPost"; page: BlogPost; route: string }
| { pageType: "ProjectIndex"; page: ProjectIndex; route: string }
| { pageType: "ProjectPost"; page: ProjectPost; route: string }
| { pageType: "PhotoCategoryIndex"; page: PhotoCategoryIndex; route: string }
| { pageType: "PhotoCategory"; page: PhotoCategory; route: string }
| { pageType: "PhotoAlbum"; page: PhotoAlbum; route: string }
| { pageType: "Photo"; page: PhotoPage; route: string }
| { pageType: "Unknown"; page: null; route: string };