diff --git a/README.md b/README.md index c0ca582..3d03f1a 100644 --- a/README.md +++ b/README.md @@ -198,13 +198,17 @@ below. Nothing is installed without someone clicking. - **+** — add any enabled module; multiple tiles of the same module are fine (e.g. two transcripts filtered to different channels). -- Drag a tile by its **title bar** to move it; drag either **bottom - corner** to resize; **✕** removes it. Hover a tile and a small pill - appears on its **bottom edge** — drag it to change just the height. If - another tile sits directly below, the pill moves the shared edge instead, - trading rows between the two so the column keeps its total height. Tiles - sit flush — when two share a vertical edge, hover the seam and the same - kind of pill appears; drag it to trade width (macOS split-view style). +- Drag a tile by its **title bar** to move it; **✕** removes it. +- **Resize from any edge or bottom corner**, the way a window resizes: + nothing is drawn on a tile to mark the spots — the cursor over an edge is + what says it can be dragged. An edge moves only itself, so the tile grows + or shrinks into the space beside it while the opposite edge stays put, + stopping at a neighbour or at the module's own minimum size. Two + exceptions, both of which move a *shared* edge instead: with another tile + directly below, the bottom edge trades rows between the two so the column + keeps its total height; and where two tiles meet side by side, the seam + between them trades width (macOS split-view style), showing itself only + while you drag it. - **Fullscreen** (the ⛶ button) is a viewing mode: the menu bar hides (its green lip at the top-left brings it back, minus the Admin button), the occupied columns stretch to the full width, and every column runs to the @@ -214,9 +218,21 @@ below. Nothing is installed without someone clicking. gap; alone in its columns it stays as it is. Nothing is saved — the layout reverts when you leave fullscreen. A layout deeper than the screen keeps its normal row height and scrolls. -- A tile's actions (menus, text size, clear…) live in its **title bar**; - the small **notch** on the bar's bottom edge hides/shows the whole bar - for a clean wall-display look. The menu bar's handle is the **ProdDash +- A tile's actions (menus, text size, clear…) live in its **title bar**. +- **Auto-hide bars** (the button left of ⛶) folds every title bar away, for + a windowed screen that should read like a wall display. A folded bar is + not a gone bar: point at the tile's top edge and it slides back in over + the content, where its buttons click and its width drags the tile exactly + as before — so a dashboard can be arranged with every bar out of the way. + The switch is off on a fresh dashboard and saves with the layout — + including a named layout on the server, so a booth loads its screen with + the bars already tucked away. Fullscreen folds every bar regardless, and + the same hover brings one back there too. +- The **pin** beside a tile's title keeps *that* tile's bar showing while + auto-hide is on — for the one or two tiles whose controls are wanted at + a glance. It turns the accent colour when it is on and saves with the + layout. Fullscreen still folds a pinned bar with the rest. +- The menu bar's own handle is the **ProdDash name itself**, wrapped in a translucent green pill at the left — click it to hide the bar; the slim green lip it leaves at the top-left edge brings the bar back. It stays at the left so it never sits on top of a tile's diff --git a/docs/MODULE-GUIDE.md b/docs/MODULE-GUIDE.md index acaafe1..da69532 100644 --- a/docs/MODULE-GUIDE.md +++ b/docs/MODULE-GUIDE.md @@ -367,9 +367,10 @@ fallback), never a "Text size" field in `instanceSchema`; a timestamps or newest-first toggle in the header means no such switch in the gear. The gear is for display choices that have no button of their own. -One more thing to know: the user can hide the whole title bar with the -small notch on its bottom edge (a clean-view mode for wall displays). Your -controls disappear with it, so nothing essential — status, reconnects, +One more thing to know: the whole title bar folds away when the dashboard +auto-hides it, and always in fullscreen (a clean-view mode for wall +displays) — it comes back only while the pointer is at the tile's top edge. +Your controls fold away with it, so nothing essential — status, reconnects, live data — may exist *only* as a header control. `sse(path, handlers)` handlers: diff --git a/package.json b/package.json index 88de406..32e1974 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "proddash", - "version": "1.5.0", + "version": "1.6.0", "private": true, "description": "Modular production dashboard for Waters Church \u2014 zero-dependency Node server + vanilla client", "license": "UNLICENSED", diff --git a/public/index.html b/public/index.html index a1bfa52..c494d74 100644 --- a/public/index.html +++ b/public/index.html @@ -19,6 +19,14 @@ + +