From cf40c036028956cb2d3874ce3a86102ce71f75a7 Mon Sep 17 00:00:00 2001 From: karim Date: Wed, 20 May 2026 22:28:17 +0200 Subject: [PATCH] =?UTF-8?q?Zurueck=20zum=20Vectorworks-Look=20=E2=80=94=20?= =?UTF-8?q?Custom=20Pill-Chrome=20statt=20raw=20native=20HTML?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit User-Klaerung: erwartet wird der polierte Vectorworks-Style, nicht rohe macOS-HTML-Form-Elemente. Vectorworks ist custom-gestylt um nativ auszusehen, aber mit konsistentem Toolbar-Polish. Zurueckgerollt: - BarSelect: Pill-Container (bg-item, border, border-radius 999) + Custom-SVG-Caret aus --select-arrow. appearance:none. Icon roh links (Userpraferenz). joinedRight macht rechte Pill-Kante flach. - BarButton: Pill-Container mit border + border-radius 999. active=true setzt accent-Background + bg-panel-Iconfarbe (klare Toggle-Anzeige). joinedLeft macht linke Kante flach fuer Verkettung. - View-Toggle (Top/Front/Right/Iso/Persp): Segmented-Pill-Gruppe analog Vectorworks. Innere Kanten ohne Border, Aussenkanten gerundet. Active-Button: accent-fill + Bold. - Custom-Massstab-Input: Pill-Chrome zurueck. .native-control CSS-Klasse bleibt definiert (zukuenftige Verwendung), wird aber in der Oberleiste nicht mehr referenziert. Co-Authored-By: Claude Opus 4.7 --- src/OberleisteApp.jsx | 121 ++++++++++++++++++++++++++---------------- 1 file changed, 74 insertions(+), 47 deletions(-) diff --git a/src/OberleisteApp.jsx b/src/OberleisteApp.jsx index 798853a..224ff62 100644 --- a/src/OberleisteApp.jsx +++ b/src/OberleisteApp.jsx @@ -84,14 +84,10 @@ const pillSelect = { fontSize: 10, } -// BarSelect: Icon roh links + komplett system-natives . Vectorworks-Stil — +// dunkler Pill-Container, Caret rechts, joinedRight macht die rechte Kante +// flach fuer die Verkettung mit BarButton. +function BarSelect({ icon, value, onChange, title, disabled, width, children, joinedRight }) { return (
)}
) } -// BarButton: bare ) } @@ -317,25 +328,38 @@ export default function OberleisteApp() {
{/* ====== VIEW (Top/Front/Right/Iso/Persp + Kamera) ====== - Individuelle native Push-Buttons. Active-State via is-active - (Bold + Icon-Tint). Kein Pill-Container. */} - {VIEWS.map(v => ( - - ))} + Segmented-Pill-Gruppe analog Vectorworks. Active = accent fill. */} +
+ {VIEWS.map((v, idx) => { + const isFirst = idx === 0 + const isLast = idx === VIEWS.length - 1 + const isActive = matchView(v.value) + return ( + + ) + })} +
openKameraPanel()} title="Kamera-Einstellungen (Position, Target, Linse, Presets)" /> @@ -393,7 +417,6 @@ export default function OberleisteApp() { {customMode ? (