feat(kontakte): Zustaendigkeit, LinkedIn-Foto, Netzwerkauswahl

Drei Verbesserungen an den Kontakten:

* Beim Anlegen ist der angemeldete Benutzer voreingestellt zustaendig.
  Bisher stand dort der erste Benutzer der Liste - fast immer falsch.
* Wird eine LinkedIn-Adresse hinterlegt, holt das CRM das oeffentliche
  Profilfoto und setzt es als Kontaktfoto: beim Verlassen des Feldes
  einmal je Adresse, solange kein Foto gesetzt ist, und auf Klick ueber
  den Knopf daneben. Der Abruf laeuft ueber das Backend
  (server/src/linkedinPhoto.js, POST /api/leads/linkedin-photo), weil
  ihn die Same-Origin-Policy im Browser verhindert. Gelesen wird die
  Open-Graph-Vorschau der Profilseite; Herkunft, Groesse und Antwortzeit
  des Bildes werden geprueft, Platzhalter-Silhouetten abgewiesen.
  Schlaegt der Abruf fehl, steht der Grund unter dem Feld.
* In der Netzwerkansicht hebt ein Klick auf freie Flaeche die Auswahl
  auf - das Diagramm sieht danach aus wie beim Wechsel in die Ansicht.
  Ein Ziehen des Hintergrunds (ab 4 px) laesst die Auswahl stehen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sascha Wolf
2026-09-09 23:25:37 +02:00
co-authored by Claude Opus 5
parent 3c9d83161e
commit 0a2cf52e8a
14 changed files with 540 additions and 26 deletions
+20
View File
@@ -491,6 +491,21 @@ braucht, pflegt sie im Kontakt nach.
![Dialog "Neuer Kontakt" mit allen Feldern](bilder/kontakt-dialog.png)
Zwei Handgriffe nimmt der Dialog beim **Anlegen** ab:
* **Zuständig** steht schon auf dem angemeldeten Benutzer. Wer für jemand
anderen anlegt, stellt das Feld um; beim späteren Bearbeiten bleibt immer die
gespeicherte Zuständigkeit stehen.
* **Profilfoto von LinkedIn.** Wird eine LinkedIn-Adresse eingetragen und der
Kontakt hat noch kein Foto, holt das CRM beim Verlassen des Feldes das
öffentliche Profilbild und setzt es als Kontaktfoto. Der Knopf **Foto** neben
dem Feld macht dasselbe auf Zuruf - etwa, wenn die Adresse nachgetragen wird.
Ein selbst hochgeladenes Foto wird dabei nie überschrieben.
Klappt es nicht, steht der Grund unter dem Feld: Das Profil ist nicht
öffentlich, es hat gar kein eigenes Foto, oder LinkedIn hat die Anfrage
abgewiesen. Dann bleibt der gewohnte Weg über *Ändern* am Foto.
Im **Netzwerk** sind Kreise Kontakte (Farbe = Art, Größe = Anzahl
Verbindungen) und Quadrate Benutzer, die Kontakte angelegt haben. Grüne Linien
verbinden Kontakte untereinander, graue gestrichelte den Ersteller mit seinem
@@ -503,6 +518,11 @@ setzt ihn fest (grüner Punkt), Doppelklick löst ihn wieder. Über *Verbindung
erstellen* zwei Kontakte anklicken, um eine Verbindung anzulegen; `Esc` bricht ab.
Suche und Artfilter wirken auch hier.
Ein Klick auf einen Knoten hebt ihn und seine Nachbarn hervor, alles andere wird
blass. **Ein Klick auf eine freie Stelle nimmt die Hervorhebung wieder zurück** -
das Bild sieht danach aus wie beim Wechsel in die Netzwerkansicht. Verschieben
zählt nicht als Klick: Wer den Hintergrund packt und zieht, behält die Auswahl.
Sobald Kontakte aus dem Postfach übernommen wurden, erscheint neben dem
Artfilter ein **Herkunftsfilter**: *Aus Mails übernommen* zeigt nur die aus
dem Postfach stammenden, *Selbst angelegt* nur die von Hand erfassten.