From 83408d120d31c7388d5f42dd134b02ca17ea67ab Mon Sep 17 00:00:00 2001 From: Sandro Date: Thu, 29 Oct 2026 23:55:00 +0100 Subject: [PATCH] fix(workspace): more room for notes on phones Almost no side margin, 14 px indent per level (22 px from tablet width on), zoom and delete buttons only take width in the active row. Very deep rows keep about 14rem and the note scrolls sideways instead of squeezing the text. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 1 + .../src/features/workspace/DocumentEditor.tsx | 3 ++- .../src/features/workspace/OutlinerBlock.tsx | 18 +++++++++++++----- frontend/src/index.css | 13 +++++++++++++ 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ec07035..bf2cbfc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ Das Format folgt [Keep a Changelog](https://keepachangelog.com/de/1.1.0/), die V - Code-Blöcke in Notizen: Sprachauswahl (rund 50 Sprachen, bei Bedarf nachgeladen), Farben beim Tippen im Stil von VS Code Dark+/Light+ für alle Themes, „Kopieren“, Tab/Shift+Tab rückt ein und aus. `/code yaml` oder ```` ```yaml ```` legt die Sprache direkt fest. ### Changed +- Notizen auf dem Handy: fast kein Seitenrand mehr, Einrückung 14 statt 22 px pro Ebene, Zoom- und Löschknopf belegen nur noch in der aktiven Zeile Platz. Sehr tief verschachtelte Punkte behalten eine lesbare Breite, die Notiz lässt sich dann seitlich verschieben statt den Text zu quetschen. - E-Mails zeigen einen Absendernamen: `SMTP_FROM_NAME` bzw. das neue Feld „Absender-Name“ in Administration → E-Mail (Standard „MindSift“), wenn die Absenderadresse keinen eigenen Namen enthält. - Slash-Befehle einheitlich englisch: `/image` statt `/bild` (`/bild` findet ihn weiterhin), kürzere Beschreibungen, breiteres Menü ohne Umbrüche. - `docker-compose.yml` enthält nur noch die Zuordnungen; alle Erklärungen zu den Variablen stehen in `.env.example`. Neu durchgereicht werden `TZ`, `TRUSTED_PROXIES`, `LOGIN_PROTECTION`, `DEMO_RESET_MINUTES` und `LEGAL_*_CONTENT`, die vorher in `.env` gesetzt wirkungslos blieben. diff --git a/frontend/src/features/workspace/DocumentEditor.tsx b/frontend/src/features/workspace/DocumentEditor.tsx index 6eedceb..9eac611 100644 --- a/frontend/src/features/workspace/DocumentEditor.tsx +++ b/frontend/src/features/workspace/DocumentEditor.tsx @@ -883,7 +883,8 @@ export const DocumentEditor: React.FC = ({ )} {/* Main Content Area */} -
+ {/* Phones: almost no side margin; very deep outlines scroll sideways (rows keep a minimum width) */} +
{zoomedBlock ? ( /* ========================================================================= FOKUS-MODUS & ZOOM-IN (HOISTED SUBTREE VIEW) diff --git a/frontend/src/features/workspace/OutlinerBlock.tsx b/frontend/src/features/workspace/OutlinerBlock.tsx index 8a89d00..f2cf7d6 100644 --- a/frontend/src/features/workspace/OutlinerBlock.tsx +++ b/frontend/src/features/workspace/OutlinerBlock.tsx @@ -754,7 +754,7 @@ export const OutlinerBlock: React.FC = ({ return (
= ({ : '' } ${block.conflictOf ? 'border-l-2 border-status-warn bg-status-warn/5' : ''}`} style={{ - paddingLeft: `${visualLevel * 22 + 4}px`, + // Indent per level and room kept for text come from CSS (narrower on phones, see index.css); + // deep rows get wider than the screen and the note scrolls sideways instead of squeezing them + paddingLeft: `calc(var(--outline-indent) * ${visualLevel} + 4px)`, + minWidth: `calc(var(--outline-indent) * ${visualLevel} + var(--outline-min-text))`, }} onDragOver={(e) => onDragOverBlock?.(e, index)} onDrop={() => onDropBlock?.(index)} @@ -1252,7 +1255,8 @@ export const OutlinerBlock: React.FC = ({