Der Scanner liegt in einer eigenen Datenbank (perinco_scanner); die
KI-Suche las nur die crm_*-Tabellen und fand deshalb nichts zum Scanner.
Treffer ab Anzeigeschwelle gehen jetzt als scanner_matches mit, Refs vom
Typ "scanner" fuehren in die Scanner-Ansicht.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Beides lag bisher nur als nicht eingecheckte Arbeit im Arbeitsverzeichnis,
waehrend auf Gitea nur die Doku dazu stand (docs/12-suche.md). Damit ist
der Code jetzt versioniert.
Globale Suche:
- server/src/routes/search.js: Volltext ueber Kontakte, Opportunities und
Akquise, dazu die erweiterte Suche mit dem Modell des Scanners
- src/components/GlobalSearch.tsx im Kopf der Anwendung; ein Treffer
springt in die Ansicht und oeffnet den Datensatz (navigation.tsx)
ICON CRM:
- server/src/routes/integrations.js liefert die Kontakte mit gesetztem
Haekchen hinaus, server/src/routes/iconCrm.js holt die Kontakte von
drueben herein - beide nur lesend, mit festem Token statt JWT
- server/src/contactBridge.js und src/lib/contactMatch.ts erkennen
Dubletten, src/components/leads/IconMergeDialog.tsx laesst sie
zusammenfuehren
- server/src/ai.js buendelt die OpenAI-Aufrufe
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>