fix(akte): Grid-Overlap bei Nicht-Fahrzeug-Objekten auf Desktop-Breite
Nutzer-Screenshot-Fund: Notizen/Bereitschaftshistorie/Ressourcenbuchung werden für JEDES Objekt gerendert, das Desktop-Grid-Template (≥900px) für Nicht-Fahrzeuge listete diese Grid-Areas aber gar nicht - Kinder ohne gültige Area landeten im Implicit-Grid und überlappten sich (z.B. "Hinzufügen"-Button über Bereitschaftshistorie-Text). Zusätzlich: neues ZaehlerstandPanel (ASSET-009) hatte gar keine Grid-Area zugewiesen, dadurch zu schmal gerendert (Platzhaltertext abgeschnitten, Zahlen-Spinner überlappte Text). Beide Templates jetzt vollständig, ZaehlerstandPanel bekommt eigene Area + Felder untereinander statt in einer Reihe. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VDMvneg6wKfXdXvTYNd3dN
This commit is contained in:
1 parent
f3cf7d98dd
commit
e5bb213cca
5 files changed
+98
-29
No files matched your search
@@ -15641,3 +15641,39 @@ Keine Commits in dieser Session.
|
||||
- backend/tests/test_zust004_standort_sichtbarkeit.py | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
---
|
||||
## 2026-09-13 22:55 – 22:57 (1m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** asb-material
|
||||
|
||||
### Commits
|
||||
- f3cf7d9 docs(backlog): MAINT-008 stale DECISION-REQUIRED-Rest bereinigt
|
||||
|
||||
### Geänderte Dateien
|
||||
- DEVLOG.md | 32 ++++++++++++++++++++++++++++++++
|
||||
- arbeitskacheln/10_maintenance.md | 6 +-----
|
||||
|
||||
---
|
||||
## 2026-09-13 22:57 – 22:57 (0m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** asb-material
|
||||
|
||||
### Commits
|
||||
Keine Commits in dieser Session.
|
||||
|
||||
### Geänderte Dateien
|
||||
- DEVLOG.md | 32 ++++++++++++++++++++++++++++++++
|
||||
- arbeitskacheln/10_maintenance.md | 6 +-----
|
||||
|
||||
---
|
||||
## 2026-09-13 23:01 – 23:01 (0m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** asb-material
|
||||
|
||||
### Commits
|
||||
Keine Commits in dieser Session.
|
||||
|
||||
### Geänderte Dateien
|
||||
- DEVLOG.md | 32 ++++++++++++++++++++++++++++++++
|
||||
- arbeitskacheln/10_maintenance.md | 6 +-----
|
||||
|
||||
---
|
||||
@@ -48,30 +48,45 @@ export function ZaehlerstandPanel({ objektId, fahrzeugdetails, onAktualisiert }:
|
||||
return (
|
||||
<div className="card">
|
||||
<h3 style={{ marginTop: 0 }}>Zählerstand</h3>
|
||||
<div style={{ marginBottom: "0.5rem" }}>
|
||||
<span className="text-muted">Kilometerstand: </span>
|
||||
{fahrzeugdetails?.kilometerstand ?? "–"} km
|
||||
<span className="text-muted" style={{ marginLeft: "1rem" }}>
|
||||
Betriebsstunden:{" "}
|
||||
</span>
|
||||
{fahrzeugdetails?.betriebsstunden ?? "–"} h
|
||||
<div style={{ marginBottom: "0.75rem" }}>
|
||||
<div>
|
||||
<span className="text-muted">Kilometerstand: </span>
|
||||
{fahrzeugdetails?.kilometerstand ?? "–"} km
|
||||
</div>
|
||||
<div>
|
||||
<span className="text-muted">Betriebsstunden: </span>
|
||||
{fahrzeugdetails?.betriebsstunden ?? "–"} h
|
||||
</div>
|
||||
</div>
|
||||
<div className="row" style={{ flexWrap: "wrap", gap: "0.5rem" }}>
|
||||
<input
|
||||
className="input"
|
||||
type="number"
|
||||
placeholder="Neuer Kilometerstand"
|
||||
value={kilometerstand}
|
||||
onChange={(e) => setKilometerstand(e.target.value)}
|
||||
/>
|
||||
<input
|
||||
className="input"
|
||||
type="number"
|
||||
step="0.1"
|
||||
placeholder="Neue Betriebsstunden"
|
||||
value={betriebsstunden}
|
||||
onChange={(e) => setBetriebsstunden(e.target.value)}
|
||||
/>
|
||||
{/* Card kann schmal sein (Sidebar-Layout) - Felder untereinander statt
|
||||
in einer Reihe, sonst schneidet der Platzhaltertext ab bzw.
|
||||
überlappt der Zahlen-Spinner den Text (Bug-Fund per Screenshot). */}
|
||||
<div className="stack" style={{ gap: "0.5rem" }}>
|
||||
<div>
|
||||
<label className="text-muted" style={{ fontSize: "0.85rem", display: "block", marginBottom: "0.2rem" }}>
|
||||
Neuer Kilometerstand
|
||||
</label>
|
||||
<input
|
||||
className="input"
|
||||
style={{ width: "100%", boxSizing: "border-box" }}
|
||||
type="number"
|
||||
value={kilometerstand}
|
||||
onChange={(e) => setKilometerstand(e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label className="text-muted" style={{ fontSize: "0.85rem", display: "block", marginBottom: "0.2rem" }}>
|
||||
Neue Betriebsstunden
|
||||
</label>
|
||||
<input
|
||||
className="input"
|
||||
style={{ width: "100%", boxSizing: "border-box" }}
|
||||
type="number"
|
||||
step="0.1"
|
||||
value={betriebsstunden}
|
||||
onChange={(e) => setBetriebsstunden(e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
<button
|
||||
className="btn btn-primary"
|
||||
onClick={melden}
|
||||
@@ -80,7 +95,7 @@ export function ZaehlerstandPanel({ objektId, fahrzeugdetails, onAktualisiert }:
|
||||
Melden
|
||||
</button>
|
||||
</div>
|
||||
{fehler && <p style={{ color: "var(--color-danger)", marginBottom: 0 }}>{fehler}</p>}
|
||||
{fehler && <p style={{ color: "var(--color-danger)", marginBottom: 0, marginTop: "0.5rem" }}>{fehler}</p>}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -268,11 +268,13 @@ export function AktePage() {
|
||||
)}
|
||||
</div>
|
||||
|
||||
<ZaehlerstandPanel
|
||||
objektId={objekt.id}
|
||||
fahrzeugdetails={akte.fahrzeugdetails}
|
||||
onAktualisiert={async () => laden()}
|
||||
/>
|
||||
<div className="akte-zaehlerstand">
|
||||
<ZaehlerstandPanel
|
||||
objektId={objekt.id}
|
||||
fahrzeugdetails={akte.fahrzeugdetails}
|
||||
onAktualisiert={async () => laden()}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="akte-wartung">
|
||||
<WartungSection objektId={objekt.id} onFehler={setFehler} />
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
"kopf"
|
||||
"aktionen"
|
||||
"stamm"
|
||||
"zaehlerstand"
|
||||
"beladung"
|
||||
"wartung"
|
||||
"pruefungen"
|
||||
@@ -13,6 +14,8 @@
|
||||
"maengel"
|
||||
"dokumente"
|
||||
"notizen"
|
||||
"tankbuch"
|
||||
"einsatzhistorie"
|
||||
"readiness"
|
||||
"ressourcenbuchung"
|
||||
"historie";
|
||||
@@ -21,6 +24,7 @@
|
||||
.akte-kopf { grid-area: kopf; }
|
||||
.akte-aktionen { grid-area: aktionen; }
|
||||
.akte-stamm { grid-area: stamm; }
|
||||
.akte-zaehlerstand { grid-area: zaehlerstand; }
|
||||
.akte-beladung { grid-area: beladung; }
|
||||
.akte-wartung { grid-area: wartung; }
|
||||
.akte-pruefungen { grid-area: pruefungen; }
|
||||
|
||||
@@ -1,13 +1,24 @@
|
||||
@media (min-width: 900px) {
|
||||
/* Bug-Fund (Nutzer-Screenshot 2026-09-13): .akte-notizen/-readiness-verlauf/
|
||||
-ressourcenbuchung werden für JEDES Objekt gerendert (nicht nur
|
||||
Fahrzeuge), das Nicht-Fahrzeug-Template hier listete diese Grid-Areas
|
||||
bisher gar nicht - Kinder ohne gültige benannte Area landen im
|
||||
Implicit-Grid und überlappen unvorhersehbar (Zählerstand-Panel/
|
||||
Bereitschaftshistorie/Notizen-"Hinzufügen"-Button). Beide Templates
|
||||
jetzt vollständig, gleiche Areas wie die 1-Spalten-Basis.*/
|
||||
.akte-grid {
|
||||
grid-template-columns: 2fr 1fr;
|
||||
grid-template-areas:
|
||||
"kopf kopf"
|
||||
"aktionen aktionen"
|
||||
"stamm wartung"
|
||||
"zaehlerstand zaehlerstand"
|
||||
"beladung pruefungen"
|
||||
"verantwortlich maengel"
|
||||
"dokumente dokumente"
|
||||
"notizen notizen"
|
||||
"readiness readiness"
|
||||
"ressourcenbuchung ressourcenbuchung"
|
||||
"historie historie";
|
||||
}
|
||||
|
||||
@@ -16,6 +27,7 @@
|
||||
"kopf kopf"
|
||||
"aktionen aktionen"
|
||||
"wartung stamm"
|
||||
"zaehlerstand zaehlerstand"
|
||||
"pruefungen beladung"
|
||||
"maengel verantwortlich"
|
||||
"dokumente dokumente"
|
||||
|
||||
Reference in new issue
Block a user