Add 'exists' flags to content types and set them
This commit is contained in:
@@ -94,6 +94,7 @@ export async function getBlog(settings: GlobalSettings, route: string): Promise<
|
||||
|
||||
const blog: BlogPost = {
|
||||
type: "BlogPost",
|
||||
exists: true,
|
||||
id: blogRecord["id"],
|
||||
lastModified: new Date(),
|
||||
title: blogRecord["title"],
|
||||
|
||||
@@ -24,6 +24,9 @@ export async function getAllProjects(settings: GlobalSettings): Promise<ProjectP
|
||||
];
|
||||
|
||||
const project: ProjectPost = {
|
||||
type: "ProjectPost",
|
||||
exists: true,
|
||||
|
||||
lastModified: new Date(),
|
||||
title: projectRecord["title"],
|
||||
content: projectRecord["content"],
|
||||
@@ -91,6 +94,9 @@ export async function getProject(settings: GlobalSettings, route: string): Promi
|
||||
];
|
||||
|
||||
const project: ProjectPost = {
|
||||
type: "ProjectPost",
|
||||
exists: true,
|
||||
|
||||
lastModified: new Date(),
|
||||
title: projectRecord["title"],
|
||||
content: projectRecord["content"],
|
||||
|
||||
@@ -60,6 +60,8 @@ const settings = await getSettings();
|
||||
<meta name="owner" content={settings.website.owner} />
|
||||
<meta name="developer" content={settings.website.developer} />
|
||||
<meta name="application-name" content={settings.website.applicationName} />
|
||||
|
||||
<!-- Scripts and Style -->
|
||||
</head>
|
||||
<body>
|
||||
<slot name="content" />
|
||||
|
||||
@@ -22,6 +22,7 @@ export async function getPage(settings: GlobalSettings, route: string): Promise<
|
||||
pageType: "BlogIndex",
|
||||
page: {
|
||||
type: "BlogIndex",
|
||||
exists: true,
|
||||
pageNumber: params["page"] !== undefined ? Number(params["page"]) : 1
|
||||
}
|
||||
};
|
||||
@@ -63,6 +64,7 @@ export async function getPage(settings: GlobalSettings, route: string): Promise<
|
||||
pageType: "ProjectIndex",
|
||||
page: {
|
||||
type: "ProjectIndex",
|
||||
exists: true,
|
||||
pageNumber: params["page"] !== undefined ? Number(params["page"]) : 1
|
||||
}
|
||||
};
|
||||
@@ -93,7 +95,8 @@ export async function getPage(settings: GlobalSettings, route: string): Promise<
|
||||
route: route,
|
||||
pageType: "PhotoCategoryIndex",
|
||||
page: {
|
||||
type: "PhotoCategoryIndex"
|
||||
type: "PhotoCategoryIndex",
|
||||
exists: true
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -114,6 +117,7 @@ export async function getPage(settings: GlobalSettings, route: string): Promise<
|
||||
pageType: "PhotoCategory",
|
||||
page: {
|
||||
type: "PhotoCategory",
|
||||
exists: true,
|
||||
category: params["category"],
|
||||
pageNumber: params["page"] !== undefined ? Number(params["page"]) : 1
|
||||
}
|
||||
@@ -160,6 +164,8 @@ export async function getPage(settings: GlobalSettings, route: string): Promise<
|
||||
pageType: "Photo",
|
||||
page: {
|
||||
type: "PhotoPage",
|
||||
exists: true,
|
||||
|
||||
id: photo!.id,
|
||||
photo: photo!.photo,
|
||||
text: photo!.text
|
||||
|
||||
@@ -22,7 +22,7 @@ export async function getStaticPaths() {
|
||||
const settings = await getSettings();
|
||||
const page = await getPage(settings, Astro.url.pathname);
|
||||
|
||||
if (page === null) {
|
||||
if (page === null || page.page === null) {
|
||||
return new Response("Page not found.", {
|
||||
status: 404,
|
||||
statusText: "Not Found"
|
||||
@@ -30,16 +30,16 @@ if (page === null) {
|
||||
}
|
||||
---
|
||||
|
||||
{ page.pageType === "Webpage" && (
|
||||
{ page.page.type === "Webpage" && page.page.exists && (
|
||||
<WebpageLayout settings={{
|
||||
searchEngine: {
|
||||
title: "",
|
||||
description: "",
|
||||
allowCrawlers: true,
|
||||
canonical: null,
|
||||
priority: 65,
|
||||
title: page.page.searchEngine.title,
|
||||
description: page.page.searchEngine.description,
|
||||
allowCrawlers: page.page.searchEngine.allowCrawlers,
|
||||
canonical: page.page.searchEngine.canonical,
|
||||
priority: page.page.searchEngine.priority,
|
||||
thumbnail: {
|
||||
url: "",
|
||||
url: page.page.searchEngine.thumbnail.url,
|
||||
width: 1200,
|
||||
height: 630
|
||||
}
|
||||
|
||||
2
astro/src/types/blogs/blog.d.ts
vendored
2
astro/src/types/blogs/blog.d.ts
vendored
@@ -1,5 +1,6 @@
|
||||
type BlogPost = {
|
||||
type: "BlogPost";
|
||||
exists: boolean;
|
||||
|
||||
id: string;
|
||||
title: string;
|
||||
@@ -16,5 +17,6 @@ type BlogPost = {
|
||||
|
||||
type BlogIndex = {
|
||||
type: "BlogIndex";
|
||||
exists: boolean;
|
||||
pageNumber: number;
|
||||
}
|
||||
|
||||
3
astro/src/types/photos/album.d.ts
vendored
3
astro/src/types/photos/album.d.ts
vendored
@@ -1,5 +1,6 @@
|
||||
type PhotoAlbum = {
|
||||
type: "PhotoAlbum";
|
||||
exists: boolean;
|
||||
|
||||
title: string;
|
||||
url: string;
|
||||
@@ -32,6 +33,8 @@ type PhotoAlbumPhoto = {
|
||||
|
||||
type PhotoCategory = {
|
||||
type: "PhotoCategory";
|
||||
exists: boolean;
|
||||
|
||||
category: string;
|
||||
pageNumber: number;
|
||||
}
|
||||
|
||||
1
astro/src/types/photos/category.d.ts
vendored
1
astro/src/types/photos/category.d.ts
vendored
@@ -1,3 +1,4 @@
|
||||
type PhotoCategoryIndex = {
|
||||
type: "PhotoCategoryIndex";
|
||||
exists: boolean;
|
||||
}
|
||||
|
||||
2
astro/src/types/photos/photo.d.ts
vendored
2
astro/src/types/photos/photo.d.ts
vendored
@@ -1,5 +1,7 @@
|
||||
type PhotoPage = {
|
||||
type: "PhotoPage";
|
||||
exists: boolean;
|
||||
|
||||
id: string;
|
||||
photo: PhotoProps;
|
||||
text: string | null;
|
||||
|
||||
4
astro/src/types/projects/project.d.ts
vendored
4
astro/src/types/projects/project.d.ts
vendored
@@ -1,4 +1,7 @@
|
||||
type ProjectPost = {
|
||||
type: "ProjectPost";
|
||||
exists: boolean;
|
||||
|
||||
title: string;
|
||||
url: string;
|
||||
date: string;
|
||||
@@ -13,5 +16,6 @@ type ProjectPost = {
|
||||
|
||||
type ProjectIndex = {
|
||||
type: "ProjectIndex";
|
||||
exists: boolean;
|
||||
pageNumber: number;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user