SPB Git forge

spb/immo-ka

Public

Immo-Ka — agrégateur des propriétés à vendre au Québec (73 connecteurs, ~40 000 annonces, React+FastAPI)

112commits 1branches 0releases
125.4 MBsize
maindefault branch
13 days agolast push
Python 47.5% HTML 27.9% TypeScript 15.5% CSS 7.2% JavaScript 2%
1.3 KB · 31 lines tsx
Raw Blame History
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