--- import { Image } from "astro:assets"; // Footer component with server-side data fetching // Use local backend in development, production URL from dev.vars/wrangler const isDev = import.meta.env.DEV; const PAYLOAD_CMS_URL = isDev ? "http://localhost:3000" // Local backend in dev (port may vary) : import.meta.env.PAYLOAD_CMS_URL || "https://enchun-admin.anlstudio.cc"; // Fetch footer data from Payload CMS server-side let footerNavItems: any[] = []; try { const response = await fetch( `${PAYLOAD_CMS_URL}/api/globals/footer?depth=2&draft=false&locale=undefined&trash=false`, ); if (response.ok) { const data = await response.json(); footerNavItems = data?.navItems || data || []; } } catch (error) { console.error("[Footer SSR] Failed to fetch footer:", error); } // Fetch categories from Payload CMS server-side let categories: any[] = []; try { const response = await fetch( `${PAYLOAD_CMS_URL}/api/categories?sort=order&limit=6&depth=0&draft=false`, ); if (response.ok) { const data = await response.json(); categories = (data?.docs || []) .sort((a: any, b: any) => (a.order || 0) - (b.order || 0)) .slice(0, 6); } } catch (error) { console.error("[Footer SSR] Failed to fetch categories:", error); } // Get current year for copyright const currentYear = new Date().getFullYear(); ---