Immo-Ka — agrégateur des propriétés à vendre au Québec (73 connecteurs, ~40 000 annonces, React+FastAPI)
Python 47.5%
HTML 27.9%
TypeScript 15.5%
CSS 7.2%
JavaScript 2%
1// -----------------------------------------------------------------------------2// Immo-Ka — Agrégateur de propriétés à vendre (province de Québec)3// Auteur : Simon-Pierre Boucher — contact@spboucher.ai4// fiche/PropertyDescription.tsx : description de la source — texte tronqué à5// ~200 px avec « Lire la suite », paragraphes conservés (pre-line).6// -----------------------------------------------------------------------------7import { useState } from "react";8import { Listing } from "../api";9import { MoreButton, SectionCard } from "./ui";1011export default function PropertyDescription({ l }: { l: Listing }) {12 const [open, setOpen] = useState(false);13 const texte = (l.description || "").trim();14 if (!texte) {15 return (16 <SectionCard id="description" title="Description">17 <p className="ik-fine">La source ne fournit pas de description pour cette annonce.</p>18 </SectionCard>19 );20 }21 const long = texte.length > 420;22 return (23 <SectionCard id="description" title="Description">24 <div className={`ik-desc ${long && !open ? "clamped" : ""}`}>25 <div className="ik-desc-body"><p>{texte}</p></div>26 </div>27 {long && <MoreButton onClick={() => setOpen(!open)} expanded={open}>{open ? "Réduire" : "Lire la suite"}</MoreButton>}28 </SectionCard>29 );30}31