SPB Git forge

spb/lou-ka

Public

Lou·Ka — tous les logements à louer du Québec, un seul endroit.

232commits 1branches 0releases
172.9 MBsize
maindefault branch
2 days agolast push
HTML 98.9% Python 0.6%
1.6 KB · 36 lines tsx
Raw Blame History
1// -----------------------------------------------------------------------------2// Lou-Ka — Agrégateur de logements à louer (province de Québec)3// Auteur : Simon-Pierre Boucher — contact@spboucher.ai4// fiche/PropertySummary.tsx : carte « En bref » — 4 à 6 constats déterministes5//   (voir synthese.ts) avec ton (✓ / ! / ○) et preuve chiffrée.6// -----------------------------------------------------------------------------7import { Constat } from "./synthese";8import { SectionCard, SkeletonLines } from "./ui";910export function BriefList({ items, compact = false }: { items: Constat[]; compact?: boolean }) {11  const glyph = (t: Constat["tone"]) => (t === "good" ? "✓" : t === "bad" ? "✕" : t === "warn" ? "!" : "○");12  return (13    <ul className="lk-brief">14      {items.map((c) => (15        <li key={c.cle}>16          <span className={`lk-brief-ico ${c.tone === "info" ? "neutral" : c.tone}`} aria-hidden="true">{glyph(c.tone)}</span>17          <div>18            <div className="lk-brief-t">{c.titre}</div>19            {!compact && c.detail && <div className="lk-brief-d">{c.detail}</div>}20          </div>21        </li>22      ))}23    </ul>24  );25}2627export default function PropertySummary({ items, loading }: { items: Constat[]; loading: boolean }) {28  return (29    <SectionCard id="resume" title="En bref">30      {items.length > 0 ? <BriefList items={items} /> : loading ? <SkeletonLines n={4} /> : (31        <p className="lk-fine">Pas encore de synthèse : les données de marché et d'environnement manquent pour ce secteur.</p>32      )}33    </SectionCard>34  );35}36