/** * Helpers theme — server-side. * * Centralise la résolution du theme actif (guyane | aquarelle | none) pour * que chaque composant qui veut un rendu spécifique au theme appelle un seul * helper plutôt que de checker `isPluginEnabled("theme-...")` individuellement. */ import "server-only"; import { isPluginEnabled } from "@/lib/plugins/server"; export type ActiveTheme = "guyane" | "aquarelle" | "none"; export async function getActiveTheme(): Promise { if (await isPluginEnabled("theme-aquarelle")) return "aquarelle"; if (await isPluginEnabled("theme-guyane")) return "guyane"; return "none"; } /** * URL publique d'une illustration aquarelle hébergée dans MinIO. * Les fichiers sont uploadés dans karbe-medias/seed/aquarelle/ et servis via * media.karbe.cosmolan.fr (bucket public-download). */ export function aquarelleUrl(filename: string): string { const base = process.env.S3_PUBLIC_URL?.replace(/\/+$/, "") ?? "https://media.karbe.cosmolan.fr/karbe-medias"; return `${base}/seed/aquarelle/${filename}`; }