// ----------------------------------------------------------------------------- // Immo-Ka — Agrégateur de propriétés à vendre (province de Québec) // Auteur : Simon-Pierre Boucher — contact@spboucher.ai // fiche/current.ts : mini-magasin « annonce affichée » partagé entre la page // fiche et le header compact (favoris ♥ + partage). Le toggle favoris du // compte KA exige l'objet Listing complet (titre, image, prix pour le hub) : // la page le publie ici, le header le lit sans re-fetch. // ----------------------------------------------------------------------------- import { useSyncExternalStore } from "react"; import type { Listing } from "../api"; let current: Listing | null = null; const subs = new Set<() => void>(); export function setCurrentListing(l: Listing | null) { current = l; subs.forEach((f) => f()); } export function useCurrentListing(): Listing | null { return useSyncExternalStore( (cb) => { subs.add(cb); return () => { subs.delete(cb); }; }, () => current, () => null, ); }