fix: redesign handset icon as solid silhouette with filled crescent handle

Replace disconnected rectangles+stroke with seamless shape:
earpiece and mouthpiece blocks connected by filled crescent arc

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Thomas Reitz 2026-03-09 12:22:04 +01:00
parent 0c195dc3a9
commit c40d768827

View file

@ -733,20 +733,22 @@ export class ProfileExportService {
private drawHandsetIcon(doc: PDFKit.PDFDocument, x: number, y: number, color: string): void {
doc.save();
// Klassischer Telefonhörer (Festnetz)
// Hörer-Form: oben Ohrmuschel, unten Sprechmuschel, verbunden durch Bogen
const cx = x + 4;
// Klassischer Telefonhörer als zusammenhängende Silhouette
// Ohrmuschel + Sprechmuschel als Blöcke, Griff als gefüllter Bogen
// Ohrmuschel (oben) — abgerundetes Rechteck
doc.roundedRect(cx - 3.5, y - 0.5, 7, 3, 1.2).fill(color);
// Ohrmuschel (oben)
doc.roundedRect(x, y, 10, 3.5, 1.5).fill(color);
// Sprechmuschel (unten) — abgerundetes Rechteck
doc.roundedRect(cx - 3.5, y + 7, 7, 3, 1.2).fill(color);
// Sprechmuschel (unten)
doc.roundedRect(x, y + 7.5, 10, 3.5, 1.5).fill(color);
// Verbindungsbogen (links) zwischen Ohr- und Sprechmuschel
doc.moveTo(cx - 2, y + 2.5)
.bezierCurveTo(cx - 5, y + 4, cx - 5, y + 5.5, cx - 2, y + 7)
.strokeColor(color).lineWidth(2.2).stroke();
// Griff: gefüllte Bogenform (Crescent) — verbindet nahtlos
// Äußerer Bogen (weit nach links)
doc.moveTo(x + 4, y + 3)
.bezierCurveTo(x - 2, y + 4, x - 2, y + 7, x + 4, y + 8)
// Innerer Bogen (zurück, näher zur Mitte)
.bezierCurveTo(x + 1.5, y + 6.5, x + 1.5, y + 4.5, x + 4, y + 3)
.fill(color);
doc.restore();
}