aboutsummaryrefslogtreecommitdiffstats
path: root/internal/web/templates/dashboard/design.html
diff options
context:
space:
mode:
authorgrm <grm@eyesin.space>2026-09-18 19:29:30 +0300
committergrm <grm@eyesin.space>2026-09-18 19:29:30 +0300
commit63f9fdff6e5bdf6333a4b7813ebeb5b797838b6d (patch)
tree73e2831905e5a8bec826c4ffa4a6531313f40a98 /internal/web/templates/dashboard/design.html
parent0a248d9a0e6ef6439fca25aa854968b6b5dac2ef (diff)
downloadblogspace-63f9fdff6e5bdf6333a4b7813ebeb5b797838b6d.tar.gz
blogspace-63f9fdff6e5bdf6333a4b7813ebeb5b797838b6d.tar.bz2
blogspace-63f9fdff6e5bdf6333a4b7813ebeb5b797838b6d.zip
Fold the header menu into a button when its links do not fit
A long menu wrapped onto two or three lines on phones and narrow windows. With the new Design switch the header menu folds into a ☰ button (an icon, the word Menu, or both) carried by the title or logo block just above it, at the right end of its row, or by the menu bar when nothing is above it; the button opens the links as a stacked list with the search box on top. The open/closed state is a hidden checkbox and the button its label, so opening needs no script and works in old browsers. Whether to fold is decided by a small inline script — any link on a second line means the menu does not fit — re-checked on resize; without it blog.css folds on phones only, and browsers too old for that keep the wrapping menu. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Sd8UPWrvyYCLj97JexNw3A
Diffstat (limited to 'internal/web/templates/dashboard/design.html')
-rw-r--r--internal/web/templates/dashboard/design.html11
1 files changed, 11 insertions, 0 deletions
diff --git a/internal/web/templates/dashboard/design.html b/internal/web/templates/dashboard/design.html
index ec4f70d..0b27e17 100644
--- a/internal/web/templates/dashboard/design.html
+++ b/internal/web/templates/dashboard/design.html
@@ -187,6 +187,17 @@
<label for="nav-hover-custom" class="check">{{t "Change colour when the mouse is over a link"}}</label>
<label class="hover-color">{{t "Hover colour"}}<br><input type="color" name="nav_hover" value="{{if $t.NavHover}}{{$t.NavHover}}{{else}}{{$t.NavText}}{{end}}"></label>
</div>
+ <h3>{{t "When the menu does not fit"}}</h3>
+ <div class="hoverpick">
+ <input type="checkbox" name="nav_fold" id="nav-fold"{{if $t.NavFold}} checked{{end}}>
+ <label for="nav-fold" class="check">{{t "Fold the header menu into a button when its links do not fit on one line"}}</label>
+ <label class="hover-color">{{t "Button"}}<br><select name="nav_fold_label">
+ <option value="icon"{{if eq $t.NavFoldLabel "icon"}} selected{{end}}>&#9776;</option>
+ <option value="text"{{if eq $t.NavFoldLabel "text"}} selected{{end}}>{{t "Menu"}}</option>
+ <option value="both"{{if eq $t.NavFoldLabel "both"}} selected{{end}}>&#9776; {{t "Menu"}}</option>
+ </select></label>
+ </div>
+ <p class="muted small">{{t "The button sits at the right of the title or logo just above the menu, or in the menu bar itself when nothing is above it, and opens the links as a list. Readers whose browser runs no scripts get it on phones."}}</p>
</div>
<div class="card" id="content">