export interface Project { id: string; title: string; status: string; // e.g., "Konzept", "In Arbeit", "Lektorat", "Abgeschlossen" progress: number; // 0 to 100 description: string; } export interface Book { id: string; title: string; subtitle?: string; coverUrl: string; description: string; publishedYear: number; buyLink?: string; spotifyPlaylistId?: string; // Just the playlist ID (e.g., "47R6ZAdk7Xf6M4i9mR0fP1") genres?: string[]; } export interface AuthorProfile { name: string; bio: string; avatarUrl: string; heroTitle: string; heroSubtitle: string; projects: Project[]; books: Book[]; customSectionTitle?: string; customSectionContent?: string; // Custom static texts badgeText?: string; aboutTitle?: string; projectsTitle?: string; projectsSubtitle?: string; booksTitle?: string; booksSubtitle?: string; footerText?: string; // Custom design & theme controls accentColor?: string; secondaryColor?: string; backgroundColor?: string; cardBgColor?: string; fontFamily?: "sans" | "serif" | "mono"; heroBannerUrl?: string; } export interface AuthorData { scifi: AuthorProfile; erotica: AuthorProfile; clara: AuthorProfile; renee: AuthorProfile; } export interface AdminSettings { adminPasswordHash?: string; // Optional if we hash, or we check against .env }