Navigation audit fixes: duplicates, mobile invisibility, and two dead ends

Ran a signed-in walkthrough of 23 pages at desktop and mobile widths. Three
real problems.

1. ELEVEN Suite pages showed "My Dashboard" TWICE — they ship their own
   button and nav-dash.js injected a second one. It now bails if a /my link
   is already present.

2. The Suite link was hide-mobile, so on a phone — where most members are —
   the toolkit was invisible on every page except the dashboard. That is
   precisely backwards for the tool we just launched to the whole org. It is
   now visible at every width.

3. Fast Start and Weekly Rhythm had NO navigation at all and an unclickable
   brand mark: a member landing there was stuck with the browser back button.
   They are PRINT sheets, so bolting the site header on would have wrecked
   what they are for — they now carry a small screen-only bar that is hidden
   by @media print.

Printable Handouts and Generation Pay were also missing the Suite link; they
pick it up from nav-dash now that it is no longer hidden on mobile.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
martbost
2026-08-29 06:39:42 -05:00
parent b5cb63f15c
commit 8262b382e6
3 changed files with 8 additions and 3 deletions
+4 -1
View File
@@ -16,7 +16,7 @@
if (/^\/suite(\/|$)/.test(location.pathname)) return;
if (nav.querySelector('a[href="/suite"]')) return;
var a = document.createElement('a');
a.className = 'btn btn-secondary hide-mobile';
a.className = 'btn btn-secondary';
a.href = '/suite';
a.textContent = '🧰 My Tools';
nav.insertBefore(a, nav.firstChild);
@@ -25,6 +25,9 @@
function add(id) {
if (!id || !/^\d{1,15}$/.test(String(id))) return;
if (document.getElementById('navMyDash')) return;
// Several pages already ship their own dashboard button. Injecting a
// second one gave members two identical links side by side.
if (nav.querySelector('a[href^="/my"]')) return;
var a = document.createElement('a');
a.id = 'navMyDash';
a.className = 'btn btn-secondary';