/** * earth-now.co * Author: Simon-Pierre Boucher * Contact: contact@spboucher.ai * File: apps/web/app/page.tsx * Purpose: Home page (server component) — fetches registry metrics + counter models and hands off to the client dashboard; friendly API-offline state */ import Dashboard from "@/components/Dashboard"; import { fetchMetrics, fetchModels } from "@/lib/api"; export const dynamic = "force-dynamic"; export default async function HomePage() { try { const [metrics, modelsResponse] = await Promise.all([fetchMetrics(), fetchModels()]); return ; } catch { // Never crash the page when apps/api is down — render a calm offline state. return (

🛰️

API hors ligne / API offline

Les compteurs sont momentanément indisponibles — le serveur de modèles ne répond pas. Réessayez dans un instant.

Counters are momentarily unavailable — the model server is not responding. Please try again shortly.

); } }