// ----------------------------------------------------------------------------- // Auto-Ka — Agrégateur de voitures usagées à vendre (province de Québec) // Auteur : Simon-Pierre Boucher — contact@spboucher.ai // App.tsx : layout global (header + ticker en direct + footer encre) et routage // ----------------------------------------------------------------------------- import { useEffect, useState } from "react"; import { NavLink, Route, Routes } from "react-router-dom"; import { fetchFacets, fetchSources, fetchStats, registerSourceNames } from "./api"; import Home from "./pages/Home"; import VehiclePage from "./pages/Vehicle"; import SourcesPage from "./pages/Sources"; import StatsPage from "./pages/Stats"; function Ticker() { const [items, setItems] = useState([]); useEffect(() => { Promise.all([fetchStats(), fetchFacets(), fetchSources()]) .then(([stats, facets, src]) => { registerSourceNames(src.sources); const parts: string[] = [ `${stats.total.toLocaleString("fr-CA")} véhicules à vendre`, `${stats.sources} concessionnaires connectés`, ]; if (stats.avg_price != null) parts.push(`Prix moyen ${Math.round(stats.avg_price).toLocaleString("fr-CA")} $`); for (const r of stats.by_region.slice(0, 8)) parts.push(`${r.region} · ${r.n}`); for (const m of facets.makes.slice(0, 8)) parts.push(`${m.make} · ${m.n}`); parts.push("Directement des sites des concessionnaires"); setItems(parts); }) .catch(() => setItems(["Auto-Ka — voitures usagées à vendre au Québec"])); }, []); if (items.length === 0) return null; // contenu doublé pour une boucle de défilement continue return ( ); } function Header() { return ( <>
AutoKa Voitures usagées · tout le Québec · toujours à jour
); } function Footer() { return (
AutoKa
Agrégateur indépendant de voitures usagées à vendre dans la province de Québec. Les annonces proviennent directement des sites publics des concessionnaires — pas des plateformes d'annonces — et sont rafraîchies automatiquement. Chaque fiche renvoie vers l'annonce originale du commerçant.
© {new Date().getFullYear()} Simon-Pierre Boucher — contact@spboucher.ai
); } export default function App() { return ( <>
} /> } /> } /> } />
🧭

Page introuvable

Le lien demandé n'existe pas.

} />