Make a function to get all website settings

This commit is contained in:
Quinn Hegeman
2026-03-07 19:22:06 +01:00
parent f914b7db1c
commit e23c077a05
10 changed files with 366 additions and 0 deletions

9
astro/src/types/settings/blog.d.ts vendored Normal file
View File

@@ -0,0 +1,9 @@
type BlogSettings = {
enabled: string;
title: string;
subtext: string | null;
indexRouteTemplate: string;
blogRouteTemplate: string;
}

37
astro/src/types/settings/photo.d.ts vendored Normal file
View File

@@ -0,0 +1,37 @@
type WebsitePhotoSettings = {
enabled: boolean;
categoryIndex: WebsitePhotoSettingsCategoryIndex;
category: WebsitePhotoSettingsCategory;
album: WebsitePhotoSettingsAlbum;
photo: WebsitePhotoSettingsPhoto;
}
type WebsitePhotoSettingsCategoryIndex = {
indexRouteTemplate: string;
}
type WebsitePhotoSettingsCategory = {
routeTemplate: string;
perPage: number;
icons: {
photos: PhotoProps;
location: PhotoProps;
date: PhotoProps;
}
}
type WebsitePhotoSettingsAlbum = {
routeTemplate: string;
perPage: number;
}
type WebsitePhotoSettingsPhoto = {
routeTemplate: string;
icons: {
previous: PhotoProps;
next: PhotoProps;
close: PhotoProps;
download: PhotoProps;
}
}

8
astro/src/types/settings/plugin.d.ts vendored Normal file
View File

@@ -0,0 +1,8 @@
type PluginSettings = {
swetrix: PluginSettingsSwetrix | null;
}
type PluginSettingsSwetrix = {
id: string | null;
url: string | null;
}

9
astro/src/types/settings/project.d.ts vendored Normal file
View File

@@ -0,0 +1,9 @@
type ProjectSettings = {
enabled: string;
title: string;
subtext: string | null;
indexRouteTemplate: string;
projectRouteTemplate: string;
}

8
astro/src/types/settings/setting.d.ts vendored Normal file
View File

@@ -0,0 +1,8 @@
type GlobalSettings = {
website: WebsiteSettings;
blog: BlogSettings;
project: ProjectSettings;
photo: WebsitePhotoSettings;
sitemap: SitemapSettings;
plugins: PluginSettings;
}

3
astro/src/types/settings/sitemap.d.ts vendored Normal file
View File

@@ -0,0 +1,3 @@
type SitemapSettings = {
perPage: number;
}

32
astro/src/types/settings/website.d.ts vendored Normal file
View File

@@ -0,0 +1,32 @@
type WebsiteSettings = {
domainName: string;
titleTemplate: string;
applicationName: string;
colors: WebsiteSettingsColors;
author: WebsiteSettingsAuthor;
owner: string;
designer: string;
developer: string;
copyright: string;
twitter: WebsiteSettingsTwitter;
}
type WebsiteSettingsColors = {
primary: string;
secondary: string | null;
}
type WebsiteSettingsAuthor = {
name: string;
url: string;
}
type WebsiteSettingsTwitter = {
id: string;
handle: string;
}