Python 68.8%
TypeScript 18.6%
CSS 8.7%
JavaScript 3.3%
HTML 0.6%
1// -----------------------------------------------------------------------------2// Rent-Ka — Rental listings aggregator (Canada, outside Québec)3// Auteur : Simon-Pierre Boucher — contact@spboucher.ai4// search/seen.ts : annonces déjà consultées (état « vu » des marqueurs).5// Persisté en localStorage, plafonné aux 400 visites les plus récentes.6// -----------------------------------------------------------------------------78const KEY = "rentka_seen";9const MAX = 400;1011export function seenUids(): Set<string> {12 try {13 const raw = localStorage.getItem(KEY);14 return new Set(raw ? (JSON.parse(raw) as string[]) : []);15 } catch {16 return new Set();17 }18}1920export function markSeen(uid: string): void {21 try {22 const raw = localStorage.getItem(KEY);23 const list = raw ? (JSON.parse(raw) as string[]) : [];24 const next = [uid, ...list.filter((u) => u !== uid)].slice(0, MAX);25 localStorage.setItem(KEY, JSON.stringify(next));26 } catch {27 // stockage indisponible (navigation privée) : l'état « vu » est optionnel28 }29}30