From f11162ebfbda9e21a76f825078e262eb294869eb Mon Sep 17 00:00:00 2001 From: patrick Date: Fri, 4 Sep 2026 23:09:29 +0200 Subject: [PATCH] =?UTF-8?q?fix(admin):=20"Material=20hinzuf=C3=BCgen"=20in?= =?UTF-8?q?=20die=20Kartenspalte=20verschoben?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Saß bisher als volle Bar über Sidebar+Kartenspalte (Screenshot-Fund) - jetzt Teil der rechten Kartenspalte, direkt über der Positionsliste. Sidebar wird nur noch gerendert, wenn Positionen existieren (Edge-Case: leeres Objekt konnte bisher kein erstes Material bekommen, da der ganze Bereich hinter positionen.length>0 hing). Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV --- .../src/pages/admin/ObjektPositionenPanel.tsx | 110 +++++++++--------- 1 file changed, 54 insertions(+), 56 deletions(-) diff --git a/frontend/src/pages/admin/ObjektPositionenPanel.tsx b/frontend/src/pages/admin/ObjektPositionenPanel.tsx index 18e1aaf..0684811 100644 --- a/frontend/src/pages/admin/ObjektPositionenPanel.tsx +++ b/frontend/src/pages/admin/ObjektPositionenPanel.tsx @@ -152,66 +152,66 @@ export function ObjektPositionenPanel({ objektId, vorlageId, materialien, onFehl const verfuegbareMaterialien = materialien.filter((m) => !vorhandeneMaterialIds.has(m.id)); return ( -
-
- - setNeueSollmenge(e.target.value)} - /> - -
- - {positionen.length === 0 &&

Keine Positionen in diesem Objekt.

} - +
{positionen.length > 0 && ( -
- + ))} + + )} + +
+
+ + setNeueSollmenge(e.target.value)} + /> + +
+ + {positionen.length === 0 &&

Keine Positionen in diesem Objekt.

} -
    {sichtbarePositionen.map((p) => { const typ = materialtyp(p.material_id); @@ -295,9 +295,7 @@ export function ObjektPositionenPanel({ objektId, vorlageId, materialien, onFehl ); })}
-
-
- )} +
); }