feat: per-album hero image – picker from album assets, fullbleed banner on detail page

This commit is contained in:
ralksta
2026-05-30 15:33:43 +02:00
parent af5da8f316
commit 19c3727afc
9 changed files with 287 additions and 30 deletions

View File

@@ -97,34 +97,34 @@ export interface AppConfig {
albumOverrides: Record<string, string>;
albumDescriptions: Record<string, string>;
albumPasswords: Record<string, string>;
albumHeroImages: Record<string, string>;
cacheTtl: number;
rateLimitRpm: number;
trustedProxies: string[];
needsSetup?: boolean;
}
export interface AlbumEntryObject {
title: string;
description?: string;
password?: string;
heroImage?: string;
}
export interface GalleryYaml {
hero?: string | string[];
albums?: Array<
string | Record<string, string | { title: string; description?: string; password?: string }>
>;
albums?: Array<string | Record<string, string | AlbumEntryObject>>;
subpages?:
| Record<string, string[] | Array<string | Record<string, string>>>
| Array<{
name: string;
title?: string;
subtitle?: string;
albums?: Array<
| string
| Record<string, string | { title: string; description?: string; password?: string }>
>;
albums?: Array<string | Record<string, string | AlbumEntryObject>>;
sections?: Array<{
title: string;
description?: string;
albums: Array<
| string
| Record<string, string | { title: string; description?: string; password?: string }>
>;
albums: Array<string | Record<string, string | AlbumEntryObject>>;
}>;
password?: string;
grid?: {