// ============================================================================== // Author: Simon-Pierre Boucher // File: pages/Sources.tsx // Desc: Registre public des sources connectées (même patron que la page // Sources de Lou·Ka) : plateforme, contexte de prix produit, volumes, // dernière synchronisation. // ============================================================================== import { useEffect, useState } from "react"; import { CONTEXT_SHORT, Source, fetchSources, fmtTs } from "../api"; export default function SourcesPage() { const [sources, setSources] = useState([]); const [error, setError] = useState(false); useEffect(() => { fetchSources().then((r) => setSources(r.sources)).catch(() => setError(true)); }, []); return (
Transparence

Les sources de Resto-Ka

Chaque menu est capté à sa source et étiqueté selon son contexte de prix. Les plateformes de commande des restos eux-mêmes (prix réels, non majorés) passent toujours avant les plateformes de livraison.

{error &&

Impossible de charger les sources

}
{sources.map((s) => ( ))}
Source Contexte de prix Cadence Restos actifs Plats Dernière synchro Statut
{s.name} {s.integrations && (
{s.integrations.filter((i) => i.status !== "inactif").length} intégrations :{" "} {s.integrations.filter((i) => i.status !== "inactif") .map((i) => i.label).join(" · ")}
)}
{CONTEXT_SHORT[s.price_context ?? ""] ?? s.price_context} {s.cadence ?? "—"} {s.active_restaurants} {s.menu_items ?? 0} {fmtTs(s.last_sync)} {s.status}
); }