diff --git a/src/App.tsx b/src/App.tsx index afe77d2..47001c0 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -64,6 +64,7 @@ import { Viewport3D } from "./viewport/Viewport3D"; import type { DisplayResolver, ViewportContextInfo } from "./viewport/Viewport3D"; import { ResourceManager } from "./ui/ResourceManager"; import type { ResourceManagerHandlers } from "./ui/ResourceManager"; +import { HatchSwatch } from "./ui/hatchPreview"; import { TopBar } from "./ui/TopBar"; import { TextEditorDialog } from "./ui/TextEditorDialog"; import { RoomStampEditor } from "./panels/RoomStampEditor"; @@ -3372,6 +3373,30 @@ export default function App() { {t("editor.unit.mm")} + + + + {cat.hatch && + (() => { + const h = project.hatches.find((ht) => ht.id === cat.hatch); + return h ? : null; + })()} + + ); })()} diff --git a/src/i18n/de.ts b/src/i18n/de.ts index 98634e6..9d42ac1 100644 --- a/src/i18n/de.ts +++ b/src/i18n/de.ts @@ -403,6 +403,7 @@ export const de = { "editor.name": "Name", "editor.color": "Farbe", "editor.lineWeight": "Linienstärke", + "editor.hatch": "Schraffur", "editor.floorHeight": "Geschosshöhe", "editor.cutHeight": "Schnitthöhe", "editor.unit.mm": "mm", diff --git a/src/i18n/en.ts b/src/i18n/en.ts index 2b94d8a..83c1f84 100644 --- a/src/i18n/en.ts +++ b/src/i18n/en.ts @@ -400,6 +400,7 @@ export const en: Record = { "editor.name": "Name", "editor.color": "Color", "editor.lineWeight": "Line weight", + "editor.hatch": "Hatch", "editor.floorHeight": "Floor height", "editor.cutHeight": "Cut height", "editor.unit.mm": "mm", diff --git a/src/styles.css b/src/styles.css index 9cc41f6..60e4ca2 100644 --- a/src/styles.css +++ b/src/styles.css @@ -3298,6 +3298,37 @@ body { border-color: rgba(255, 255, 255, 0.4); box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.14); } +/* Auswahlfelder (z. B. Schraffur) wie die Text-/Zahlenfelder gestaltet. */ +.editor-control select { + width: 100%; + padding: 5px 8px; + background: #1f1f1f; + border: 1px solid var(--ctx-border); + border-radius: 7px; + color: var(--ctx-text); + font-family: inherit; + font-size: 13px; +} +.editor-control select:focus { + outline: none; + border-color: rgba(255, 255, 255, 0.4); + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.14); +} +/* Schraffur-Auswahl + kleine Vorschau nebeneinander. */ +.editor-hatch { + display: flex; + align-items: center; + gap: 6px; + width: 100%; + min-width: 0; +} +.editor-hatch select { + flex: 1 1 auto; + min-width: 0; +} +.editor-hatch svg { + flex: 0 0 auto; +} /* Farbwähler als kompakter Swatch. */ .editor-control input[type="color"] { width: 40px;