import { cache } from "react"; import { getContentValues } from "@/lib/content"; const SOCIAL_KEYS = ["social.tiktok", "social.youtube", "social.instagram"] as const; export interface SocialLinks { tiktok: string; youtube: string; instagram: string; } /** * Admin-gepflegte Social-Media-Links (siehe admin/inhalte, Gruppe "Social * Media") — nicht lokalisiert, wie Firmendaten (company-info.ts). Ein leerer * String bedeutet "kein Profil hinterlegt"; der Footer rendert dann kein * Icon fuer diese Plattform (siehe components/site-footer.tsx Footer()). * * In React-cache() gehuellt, aus demselben Grund wie getCompanyInfo: die * Deduplizierung gilt je Request, nicht serverweit — Aenderungen im * Admin-Bereich wirken unveraendert sofort. */ export const getSocialLinks = cache(async (): Promise => { const v = await getContentValues([...SOCIAL_KEYS], "de"); return { tiktok: v["social.tiktok"], youtube: v["social.youtube"], instagram: v["social.instagram"], }; });