Require at least one photo category before actually rendering pages of the photos

This commit is contained in:
itsfinniii
2026-04-03 22:12:12 +02:00
parent 39c26e73c6
commit 0b45967d30

View File

@@ -11,7 +11,9 @@ export async function getAllRoutesList(settings: GlobalSettings): Promise<string
const webpages = await getAllWebpages();
webpages.forEach((webpage) => {
routes.push(webpage.url);
if (webpage.exists) {
routes.push(webpage.url);
}
});
if (settings.blog.enabled) {
@@ -48,42 +50,45 @@ export async function getAllRoutesList(settings: GlobalSettings): Promise<string
}
if (settings.photo.enabled) {
const categories = await getAllCategories(settings);
const galleries = await getAllAlbums(settings);
routes.push(settings.photo.categoryIndex.indexRouteTemplate);
if (categories.length > 0) {
const galleries = await getAllAlbums(settings);
categories.forEach((category) => {
let albums = galleries.filter(g => g.category.id === category.id);
const pages = Math.ceil(albums.length / settings.photo.category.perPage);
const categoryRoute = getCategoryRoute(settings.photo, category);
routes.push(settings.photo.categoryIndex.indexRouteTemplate);
for (let i = 0; i < pages; i++) {
if (i !== 0) {
routes.push(`${categoryRoute}/${i + 1}`);
categories.forEach((category) => {
let albums = galleries.filter(g => g.category.id === category.id);
const pages = Math.ceil(albums.length / settings.photo.category.perPage);
const categoryRoute = getCategoryRoute(settings.photo, category);
for (let i = 0; i < pages; i++) {
if (i !== 0) {
routes.push(`${categoryRoute}/${i + 1}`);
}
else {
routes.push(`${categoryRoute}`);
}
}
else {
routes.push(`${categoryRoute}`);
}
}
});
galleries.forEach((gallery) => {
const pages = Math.ceil(gallery.photos.length / settings.photo.album.perPage);
const galleryRoute = getAlbumRoute(settings.photo, gallery);
for (let i = 0; i < pages; i++) {
if (i !== 0) {
routes.push(`${galleryRoute}/${i + 1}`);
}
else {
routes.push(`${galleryRoute}`);
}
}
gallery.photos.forEach((photo) => {
routes.push(getPhotoRoute(settings.photo, gallery, photo));
});
});
galleries.forEach((gallery) => {
const pages = Math.ceil(gallery.photos.length / settings.photo.album.perPage);
const galleryRoute = getAlbumRoute(settings.photo, gallery);
for (let i = 0; i < pages; i++) {
if (i !== 0) {
routes.push(`${galleryRoute}/${i + 1}`);
}
else {
routes.push(`${galleryRoute}`);
}
}
gallery.photos.forEach((photo) => {
routes.push(getPhotoRoute(settings.photo, gallery, photo));
});
});
}
}
return routes;