diff --git a/data/furniture.json b/data/furniture.json index 78d8e78..0938506 100644 --- a/data/furniture.json +++ b/data/furniture.json @@ -120,6 +120,52 @@ } ], "description": "Centerpiece of the game wall in the library" + }, + { + "name": "Library Right Shelving", + "description": "To the right of the Kallax", + "openings": [ + { + "id": "library-right-shelving-a1", + "label": "A1", + "zone": "", + "width_in": 23.25, + "height_in": 10.25, + "depth_in": 9.5 + }, + { + "id": "library-right-shelving-b1", + "label": "B1", + "zone": "", + "width_in": 23.25, + "height_in": 10.25, + "depth_in": 9.5 + }, + { + "id": "library-right-shelving-c1", + "label": "C1", + "zone": "", + "width_in": 23.25, + "height_in": 10.25, + "depth_in": 9.5 + }, + { + "id": "library-right-shelving-d1", + "label": "D1", + "zone": "", + "width_in": 23.25, + "height_in": 10.25, + "depth_in": 9.5 + }, + { + "id": "library-right-shelving-e1", + "label": "E1", + "zone": "", + "width_in": 23.25, + "height_in": 10.25, + "depth_in": 9.5 + } + ] } ] } diff --git a/docs/guide.md b/docs/guide.md index ea8620c..8c97df6 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -118,7 +118,10 @@ top row renders as exactly that — a diagram of the wall, not a list. Create units from presets (IKEA Kallax cube 13.25″ × 13.25″ × 15.4″, Billy shelf, custom, or a no-size virtual spot like "travel case") as grids of rows × columns; add more sections to an existing unit the same way — a later grid -continues the row letters, so 3 × 4 under an A row lands as B1…D4. Openings +continues the row letters, so 3 × 4 under an A row lands as B1…D4. Duplicate a +unit to stamp out identical furniture — the copy takes the structure +(openings, sizes, zones, descriptions) under a fresh auto-numbered name, +never the games — and rename any unit in place. Openings are editable (dimensions are all-or-none: three numbers or a no-limit spot), reorderable within their row (moves clamp at row boundaries so the diagram can't fragment), and deletable. Both units and openings take a diff --git a/src/bggpipe/static/app.css b/src/bggpipe/static/app.css index 4797950..e17a1d5 100644 --- a/src/bggpipe/static/app.css +++ b/src/bggpipe/static/app.css @@ -556,6 +556,10 @@ select { margin-bottom: .8rem; } .orow { display: flex; gap: .5rem; } .formlabel { margin: 1.2rem 0 .35rem; } +.renamerow:not([hidden]) { display: flex; gap: .4rem; margin: .3rem 0 .6rem; } +.renamerow input { font: inherit; font-size: .9rem; + border: 2px solid var(--board-edge); border-radius: var(--radius); + padding: .25rem .45rem; flex: 0 1 18rem; } .unitdesc { margin: -.3rem 0 .7rem; display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; } .unitdesc .descform:not([hidden]) { display: flex; gap: .4rem; flex: 1 1 16rem; } diff --git a/src/bggpipe/templates/pages/shelves.html b/src/bggpipe/templates/pages/shelves.html index 9b27818..e40f07d 100644 --- a/src/bggpipe/templates/pages/shelves.html +++ b/src/bggpipe/templates/pages/shelves.html @@ -121,8 +121,16 @@ function unitBlock(u) { return `

${esc(u.name)}

+ +
+

${esc(u.description || "")}