// Cliente de la API JSON de Django. // - En SSR (servidor Next) llamamos directo a gunicorn por 127.0.0.1:8001. // - En el navegador usamos rutas relativas (/api/...) que Caddy enruta a Django. const SERVER_BASE = process.env.DJANGO_API_BASE || 'http://127.0.0.1:8001' function base(): string { return typeof window === 'undefined' ? SERVER_BASE : '' } export async function apiGet(path: string, init?: RequestInit): Promise { const res = await fetch(`${base()}${path}`, { // Datos siempre frescos (SSR por petición); ajústese por endpoint si procede. cache: 'no-store', headers: { Accept: 'application/json' }, ...init, }) if (!res.ok) throw new Error(`API ${path} -> HTTP ${res.status}`) return res.json() as Promise } export interface Noticia { id: number titulo: string fecha: string | null contenido: string enlace: string | null } export interface ServerStatus { server_name: string | null address: string | null expansion: string online_characters: number status: 'Online' | 'Offline' }