Add a method to get all web pages

This commit is contained in:
itsfinniii
2026-03-15 11:23:47 +01:00
parent c1b89c5823
commit 6dcac27de8
13 changed files with 687 additions and 1 deletions

16
astro/src/types/components/contact.d.ts vendored Normal file
View File

@@ -0,0 +1,16 @@
type ContactComponent = {
component: "Contact";
id: string;
title: string;
text: string;
methods: ContactMethod[];
}
type ContactMethod = {
id: string;
title: string;
text: string;
color: string;
icon: PhotoProps;
}

View File

@@ -0,0 +1,15 @@
type EquipmentTableComponent = {
component: "EquipmentTable";
id: string;
title: string;
text: string;
items: EquipmentTableItem[];
}
type EquipmentTableItem = {
id: string;
title: string;
text: string;
icon: PhotoProps;
}

18
astro/src/types/components/events.d.ts vendored Normal file
View File

@@ -0,0 +1,18 @@
type UpcomingEventsComponent = {
component: "UpcomingEvents";
id: string;
title: string;
text: string;
events: UpcomingEvent[];
}
type UpcomingEvent = {
id: string;
title: string;
description: string;
location: string;
mapLocation: [number, number];
startDate: Date;
endDate: Date;
}

14
astro/src/types/components/faq.d.ts vendored Normal file
View File

@@ -0,0 +1,14 @@
type FrequentlyAskedQuestionsComponent = {
component: "FrequentlyAskedQuestions";
id: string;
title: string;
text: string;
questions: FrequentlyAskedQuestion[];
}
type FrequentlyAskedQuestion = {
id: string;
question: string;
answer: string;
}

8
astro/src/types/components/hero.d.ts vendored Normal file
View File

@@ -0,0 +1,8 @@
type HeroComponent = {
component: "Hero";
id: string;
title: string;
text: string;
backgroundImage: PhotoProps;
}

View File

@@ -0,0 +1,26 @@
type LastBlogsComponent = {
component: "LastBlogs";
id: string;
title: string;
readMoreButtonText: string;
amount: number;
}
type LastProjectsComponent = {
component: "LastProjects";
id: string;
title: string;
readMoreButtonText: string;
amount: number;
}
type LastGalleriesComponent = {
component: "LastGalleries";
id: string;
title: string;
readMoreButtonText: string;
amount: number;
}

17
astro/src/types/components/reviews.d.ts vendored Normal file
View File

@@ -0,0 +1,17 @@
type ReviewListComponent = {
component: "Reviews";
id: string;
title: string;
text: string;
reviews: Review[];
}
type Review = {
id: string;
name: string;
review: string;
date: string;
stars: number;
thumbnail: PhotoProps;
}

View File

@@ -0,0 +1,9 @@
type TextWithImageComponent = {
component: "TextWithImage";
id: string;
title: string;
text: string;
image: PhotoProps;
imageSide: "left" | "right";
}

View File

@@ -0,0 +1,7 @@
type WallOfTextComponent = {
component: "WallOfText";
id: string;
title: string;
text: string;
}

21
astro/src/types/pages/page.d.ts vendored Normal file
View File

@@ -0,0 +1,21 @@
type WebPage = {
id: string;
lastModified: Date;
url: string;
searchEngine: SearchEngine;
components: WebpageComponent[];
}
type WebpageComponent =
ContactComponent |
EquipmentTableComponent |
UpcomingEventsComponent |
FrequentlyAskedQuestionsComponent |
HeroComponent |
LastBlogsComponent |
LastProjectsComponent |
LastGalleriesComponent |
ReviewListComponent |
TextWithImageComponent |
WallOfTextComponent;