From 7372590171101dc74738b60714fc422453e198cd Mon Sep 17 00:00:00 2001 From: Scarriffle Date: Tue, 22 Sep 2026 15:01:04 +0200 Subject: [PATCH] Zubehoer: anklickbar, mit Lagerort, und mehr Platz Die Liste war eine Sackgasse - man sah einen Namen und eine UID, kam aber nirgends hin. Jetzt fuehrt der Name zum Artikel und die UID zu genau diesem Stueck; beide Fragen kommen vor ("was ist das fuer ein Netzteil?" gegen "wo ist dieses eine?"). Dazu der Lagerort je Teil. ItemKurz trug ihn schon, angezeigt wurde er nie - dabei ist das bei Zubehoer die haeufigste Frage ueberhaupt. Ab zwei Teilen nimmt der Block zwei Rasterspalten. In einer einzigen Spalte (minmax 240px) brach schon ein mittellanger Name um. Und ein Fehler von mir: Die "Gehoert zu"-Zeile war ein rohes und lud damit die ganze Seite neu, statt im Router zu navigieren. Co-Authored-By: Claude Opus 5 --- web/src/components/Zubehoer.jsx | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/web/src/components/Zubehoer.jsx b/web/src/components/Zubehoer.jsx index dae9d0a..5f9ac0d 100644 --- a/web/src/components/Zubehoer.jsx +++ b/web/src/components/Zubehoer.jsx @@ -1,4 +1,5 @@ import { useEffect, useState } from "react"; +import { Link } from "react-router-dom"; import { api } from "../api"; import Icon from "./Icon"; import { useConfirm } from "../confirm"; @@ -63,14 +64,19 @@ export default function Zubehoer({ item, isAdmin, onChanged, onError }) { }); return ( -
+ // Mit mehreren Teilen wird eine einzelne Rasterspalte zu eng – dann zwei + // nehmen, sofern das Raster sie hergibt. +
1 ? { gridColumn: "span 2" } : undefined}> Zubehör {item.gehoert_zu && (

- Gehört zu - {item.gehoert_zu.product_name || "Einzelstück"} ({item.gehoert_zu.uid}) - + Gehört zu + {item.gehoert_zu.product_name || "Einzelstück"} + {" "} + + {item.gehoert_zu.uid} +

)} @@ -85,9 +91,17 @@ export default function Zubehoer({ item, isAdmin, onChanged, onError }) { // schiebt ein langer Name („Shooter Grip für WII Controller") den // Lösen-Knopf in eine eigene Zeile – .clean-list li bricht um.
  • + {/* Zwei Ziele, weil beide Fragen vorkommen: der Name führt zum + Artikel („was ist das für ein Netzteil?"), die UID zu genau + diesem Stück („wo ist dieses eine?"). */} - {t.product_name || "Einzelstück"}{" "} - {t.uid} + + {t.product_name || "Einzelstück"} + {" "} + {t.uid} + + {t.location_name || "ohne Lagerort"} + {t.verliehen && verliehen} {isAdmin && (