Isolations-Rahmen respektiert Lineal, Verlassen-Pill neu platziert, Grundriss-Titel-Pills entfernt

- Rahmen + "Gruppe verlassen"-Knopf rücken oben/links um die Lineal-Dicke
  ein (20px) statt darüber zu liegen (Nutzer-Report: "respektiere das
  Lineal, wirklich nur Viewport selber").
- Der Knopf sass ausserdem zu weit oben und überlappte die
  Lineal-Beschriftung — jetzt klar darunter (top: 36px statt 12px).
- Die "Grundriss Erdgeschoss"-Pill oben links und die "Schnitthöhe"-Legende
  unten in der Grundriss-Ansicht sind entfernt (Nutzer: redundant, unklar
  wozu).
This commit is contained in:
2026-08-22 11:42:20 +02:00
parent ca8e56412f
commit 3be728c80e
2 changed files with 15 additions and 21 deletions
+15 -5
View File
@@ -2146,19 +2146,29 @@ body {
Plan weiterhin durchgehen. */ Plan weiterhin durchgehen. */
.pane-isolation-frame { .pane-isolation-frame {
position: absolute; position: absolute;
inset: 0; /* Oben/links um die Lineal-Dicke eingerückt (TH=20 Bildschirm-px in
PlanRulers.tsx) — der Rahmen soll NUR den eigentlichen Zeichenbereich
umranden, nicht das Lineal überdecken (Nutzer-Wunsch: „respektiere das
Lineal, wirklich nur Viewport selber"). Rechts/unten gibt es kein
Lineal → bis an den Rand. */
top: 20px;
left: 20px;
right: 0;
bottom: 0;
z-index: 5; z-index: 5;
pointer-events: none; pointer-events: none;
box-shadow: inset 0 0 0 8px rgba(230, 126, 34, 0.35); box-shadow: inset 0 0 0 8px rgba(230, 126, 34, 0.35);
} }
/* "Gruppe verlassen": Knopf oben RECHTS in der Ansicht (analog `.pane-title` /* "Gruppe verlassen": Knopf oben RECHTS in der Ansicht, sichtbar nur solange
oben links), sichtbar nur solange eine Gruppe betreten ist. */ eine Gruppe betreten ist. `top` unter dem Lineal (TH=20px, s. PlanRulers.tsx)
UND unter dem Isolations-Rahmenband (8px ab dessen 20px-Einrückung) —
Nutzer-Report: Pill sass vorher zu hoch, überlappte Lineal-Beschriftung. */
.pane-leave-group-btn { .pane-leave-group-btn {
position: absolute; position: absolute;
top: 12px; top: 36px;
right: 12px; right: 12px;
z-index: 3; z-index: 6;
padding: 5px 11px; padding: 5px 11px;
border-radius: 6px; border-radius: 6px;
border: 1px solid var(--accent-border); border: 1px solid var(--accent-border);
-16
View File
@@ -9,7 +9,6 @@
import { useEffect, useMemo, useState } from "react"; import { useEffect, useMemo, useState } from "react";
import { t } from "../i18n"; import { t } from "../i18n";
import { formatM } from "../model/types";
import type { import type {
Ceiling, Ceiling,
Drawing2D, Drawing2D,
@@ -687,22 +686,8 @@ function LevelPlanView({
pushNativeWalls(project); pushNativeWalls(project);
}, [project]); }, [project]);
// Bei einer freien Zeichnung gibt es keine Schnitthöhe → eigene Legende/Titel.
const isDrawing = level.kind === "drawing";
const caption = isDrawing
? t("content.drawingLegend")
: t("content.grundrissLegend", {
name: level.name,
cutHeight: formatM(level.cutHeight ?? 0),
});
return ( return (
<section className="pane"> <section className="pane">
<div className="pane-title">
{isDrawing
? t("content.drawingTitle", { name: level.name })
: t("content.grundrissTitle", { name: level.name })}
</div>
{groupPath.length > 0 && ( {groupPath.length > 0 && (
<button <button
type="button" type="button"
@@ -763,7 +748,6 @@ function LevelPlanView({
{/* NACH PlanView gerendert (nicht als box-shadow auf .pane), damit der {/* NACH PlanView gerendert (nicht als box-shadow auf .pane), damit der
Isolations-Rahmen über der PlanView-SVG sichtbar bleibt. */} Isolations-Rahmen über der PlanView-SVG sichtbar bleibt. */}
{groupPath.length > 0 && <div className="pane-isolation-frame" />} {groupPath.length > 0 && <div className="pane-isolation-frame" />}
<div className="plan-legend">{caption}</div>
</section> </section>
); );
} }