Add page types, index components, and layout
This commit is contained in:
3
astro/src/types/layouts/webpageLayout.d.ts
vendored
Normal file
3
astro/src/types/layouts/webpageLayout.d.ts
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
type WebpageLayoutProps = {
|
||||
searchEngine: SearchEngine;
|
||||
}
|
||||
44
astro/src/types/pages/page.d.ts
vendored
44
astro/src/types/pages/page.d.ts
vendored
@@ -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 };
|
||||
|
||||
Reference in New Issue
Block a user