chore(embedded): cut v0.0.17-beta

This commit is contained in:
ZDDC 2026-05-09 20:27:35 -05:00
parent e9a7749153
commit 702ccf3be0
8 changed files with 64 additions and 43 deletions

View file

@ -2245,7 +2245,7 @@ td[data-field="trackingNumber"] {
</svg> </svg>
<div class="header-title-group"> <div class="header-title-group">
<span class="app-header__title">ZDDC Archive</span> <span class="app-header__title">ZDDC Archive</span>
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.17-beta · 2026-05-10 · alder-cherry-reef</span></span> <span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.17-beta · 2026-05-10 · dome-fork-sapphire</span></span>
</div> </div>
<button id="addDirectoryBtn" class="btn btn-primary">Add Local Directory</button> <button id="addDirectoryBtn" class="btn btn-primary">Add Local Directory</button>
<button id="refreshHeaderBtn" class="btn btn-secondary hidden" title="Refresh Data"></button> <button id="refreshHeaderBtn" class="btn btn-secondary hidden" title="Refresh Data"></button>
@ -3336,15 +3336,18 @@ https://github.com/nodeca/pako/blob/main/LICENSE
var header = document.querySelector('.app-header'); var header = document.querySelector('.app-header');
if (!header) return; if (!header) return;
// Don't double-mount if a tool's main.js calls us a second time. // Don't double-mount if a tool's main.js calls us a second time.
if (header.nextElementSibling && if (header.previousElementSibling &&
header.nextElementSibling.classList && header.previousElementSibling.classList &&
header.nextElementSibling.classList.contains('zddc-stage-strip')) { header.previousElementSibling.classList.contains('zddc-stage-strip')) {
return; return;
} }
var project = projectSegment(location.pathname); var project = projectSegment(location.pathname);
var active = currentStage(location.pathname); var active = currentStage(location.pathname);
var strip = buildStrip(project, active); var strip = buildStrip(project, active);
header.parentNode.insertBefore(strip, header.nextSibling); // Mount ABOVE the header — the strip is project-level chrome
// (where in the project), the header is tool-level chrome (which
// tool, theme, help). Reading order matches outer-to-inner scope.
header.parentNode.insertBefore(strip, header);
} }
// Expose for tests + opt-out. // Expose for tests + opt-out.

View file

@ -999,7 +999,7 @@ body {
</svg> </svg>
<div class="header-title-group"> <div class="header-title-group">
<span class="app-header__title">ZDDC Browse</span> <span class="app-header__title">ZDDC Browse</span>
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.17-beta · 2026-05-10 · alder-cherry-reef</span></span> <span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.17-beta · 2026-05-10 · dome-fork-sapphire</span></span>
</div> </div>
<button id="addDirectoryBtn" class="btn btn-primary">Add Local Directory</button> <button id="addDirectoryBtn" class="btn btn-primary">Add Local Directory</button>
<button id="refreshHeaderBtn" class="btn btn-secondary hidden" title="Refresh listing" aria-label="Refresh listing"></button> <button id="refreshHeaderBtn" class="btn btn-secondary hidden" title="Refresh listing" aria-label="Refresh listing"></button>
@ -1982,15 +1982,18 @@ https://github.com/nodeca/pako/blob/main/LICENSE
var header = document.querySelector('.app-header'); var header = document.querySelector('.app-header');
if (!header) return; if (!header) return;
// Don't double-mount if a tool's main.js calls us a second time. // Don't double-mount if a tool's main.js calls us a second time.
if (header.nextElementSibling && if (header.previousElementSibling &&
header.nextElementSibling.classList && header.previousElementSibling.classList &&
header.nextElementSibling.classList.contains('zddc-stage-strip')) { header.previousElementSibling.classList.contains('zddc-stage-strip')) {
return; return;
} }
var project = projectSegment(location.pathname); var project = projectSegment(location.pathname);
var active = currentStage(location.pathname); var active = currentStage(location.pathname);
var strip = buildStrip(project, active); var strip = buildStrip(project, active);
header.parentNode.insertBefore(strip, header.nextSibling); // Mount ABOVE the header — the strip is project-level chrome
// (where in the project), the header is tool-level chrome (which
// tool, theme, help). Reading order matches outer-to-inner scope.
header.parentNode.insertBefore(strip, header);
} }
// Expose for tests + opt-out. // Expose for tests + opt-out.

View file

@ -1464,7 +1464,7 @@ body.help-open .app-header {
</svg> </svg>
<div class="header-title-group"> <div class="header-title-group">
<span class="app-header__title">ZDDC Classifier</span> <span class="app-header__title">ZDDC Classifier</span>
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.17-beta · 2026-05-10 · alder-cherry-reef</span></span> <span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.17-beta · 2026-05-10 · dome-fork-sapphire</span></span>
</div> </div>
<button id="addDirectoryBtn" class="btn btn-primary">Add Local Directory</button> <button id="addDirectoryBtn" class="btn btn-primary">Add Local Directory</button>
<button id="refreshHeaderBtn" class="btn btn-secondary hidden" title="Refresh and rescan directory" aria-label="Refresh" style="font-size:1.1rem;"></button> <button id="refreshHeaderBtn" class="btn btn-secondary hidden" title="Refresh and rescan directory" aria-label="Refresh" style="font-size:1.1rem;"></button>
@ -2805,15 +2805,18 @@ https://github.com/nodeca/pako/blob/main/LICENSE
var header = document.querySelector('.app-header'); var header = document.querySelector('.app-header');
if (!header) return; if (!header) return;
// Don't double-mount if a tool's main.js calls us a second time. // Don't double-mount if a tool's main.js calls us a second time.
if (header.nextElementSibling && if (header.previousElementSibling &&
header.nextElementSibling.classList && header.previousElementSibling.classList &&
header.nextElementSibling.classList.contains('zddc-stage-strip')) { header.previousElementSibling.classList.contains('zddc-stage-strip')) {
return; return;
} }
var project = projectSegment(location.pathname); var project = projectSegment(location.pathname);
var active = currentStage(location.pathname); var active = currentStage(location.pathname);
var strip = buildStrip(project, active); var strip = buildStrip(project, active);
header.parentNode.insertBefore(strip, header.nextSibling); // Mount ABOVE the header — the strip is project-level chrome
// (where in the project), the header is tool-level chrome (which
// tool, theme, help). Reading order matches outer-to-inner scope.
header.parentNode.insertBefore(strip, header);
} }
// Expose for tests + opt-out. // Expose for tests + opt-out.

View file

@ -988,7 +988,7 @@ body {
</svg> </svg>
<div class="header-title-group"> <div class="header-title-group">
<span class="app-header__title">ZDDC</span> <span class="app-header__title">ZDDC</span>
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.17-beta · 2026-05-10 · alder-cherry-reef</span></span> <span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.17-beta · 2026-05-10 · dome-fork-sapphire</span></span>
</div> </div>
</div> </div>
<div class="header-right"> <div class="header-right">
@ -1908,15 +1908,18 @@ body {
var header = document.querySelector('.app-header'); var header = document.querySelector('.app-header');
if (!header) return; if (!header) return;
// Don't double-mount if a tool's main.js calls us a second time. // Don't double-mount if a tool's main.js calls us a second time.
if (header.nextElementSibling && if (header.previousElementSibling &&
header.nextElementSibling.classList && header.previousElementSibling.classList &&
header.nextElementSibling.classList.contains('zddc-stage-strip')) { header.previousElementSibling.classList.contains('zddc-stage-strip')) {
return; return;
} }
var project = projectSegment(location.pathname); var project = projectSegment(location.pathname);
var active = currentStage(location.pathname); var active = currentStage(location.pathname);
var strip = buildStrip(project, active); var strip = buildStrip(project, active);
header.parentNode.insertBefore(strip, header.nextSibling); // Mount ABOVE the header — the strip is project-level chrome
// (where in the project), the header is tool-level chrome (which
// tool, theme, help). Reading order matches outer-to-inner scope.
header.parentNode.insertBefore(strip, header);
} }
// Expose for tests + opt-out. // Expose for tests + opt-out.

View file

@ -1903,7 +1903,7 @@ body.help-open .app-header {
</svg> </svg>
<div class="header-title-group"> <div class="header-title-group">
<span class="app-header__title">ZDDC Markdown</span> <span class="app-header__title">ZDDC Markdown</span>
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.17-beta · 2026-05-10 · alder-cherry-reef</span></span> <span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.17-beta · 2026-05-10 · dome-fork-sapphire</span></span>
</div> </div>
<button id="addDirectoryBtn" class="btn btn-primary" title="Add a local directory">Add Local Directory</button> <button id="addDirectoryBtn" class="btn btn-primary" title="Add a local directory">Add Local Directory</button>
<button id="refreshHeaderBtn" class="btn btn-secondary hidden" title="Refresh directory" aria-label="Refresh"></button> <button id="refreshHeaderBtn" class="btn btn-secondary hidden" title="Refresh directory" aria-label="Refresh"></button>
@ -3044,15 +3044,18 @@ body.help-open .app-header {
var header = document.querySelector('.app-header'); var header = document.querySelector('.app-header');
if (!header) return; if (!header) return;
// Don't double-mount if a tool's main.js calls us a second time. // Don't double-mount if a tool's main.js calls us a second time.
if (header.nextElementSibling && if (header.previousElementSibling &&
header.nextElementSibling.classList && header.previousElementSibling.classList &&
header.nextElementSibling.classList.contains('zddc-stage-strip')) { header.previousElementSibling.classList.contains('zddc-stage-strip')) {
return; return;
} }
var project = projectSegment(location.pathname); var project = projectSegment(location.pathname);
var active = currentStage(location.pathname); var active = currentStage(location.pathname);
var strip = buildStrip(project, active); var strip = buildStrip(project, active);
header.parentNode.insertBefore(strip, header.nextSibling); // Mount ABOVE the header — the strip is project-level chrome
// (where in the project), the header is tool-level chrome (which
// tool, theme, help). Reading order matches outer-to-inner scope.
header.parentNode.insertBefore(strip, header);
} }
// Expose for tests + opt-out. // Expose for tests + opt-out.

View file

@ -2263,7 +2263,7 @@ dialog.modal--narrow {
</svg> </svg>
<div class="header-title-group"> <div class="header-title-group">
<span class="app-header__title">ZDDC Transmittal</span> <span class="app-header__title">ZDDC Transmittal</span>
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.17-beta · 2026-05-10 · alder-cherry-reef</span></span> <span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.17-beta · 2026-05-10 · dome-fork-sapphire</span></span>
</div> </div>
<span id="no-js-notice" class="text-gray-400 text-xs italic">JavaScript not available</span> <span id="no-js-notice" class="text-gray-400 text-xs italic">JavaScript not available</span>
<!-- Publish split-button (Transmittal-specific primary action; <!-- Publish split-button (Transmittal-specific primary action;
@ -3824,15 +3824,18 @@ https://github.com/nodeca/pako/blob/main/LICENSE
var header = document.querySelector('.app-header'); var header = document.querySelector('.app-header');
if (!header) return; if (!header) return;
// Don't double-mount if a tool's main.js calls us a second time. // Don't double-mount if a tool's main.js calls us a second time.
if (header.nextElementSibling && if (header.previousElementSibling &&
header.nextElementSibling.classList && header.previousElementSibling.classList &&
header.nextElementSibling.classList.contains('zddc-stage-strip')) { header.previousElementSibling.classList.contains('zddc-stage-strip')) {
return; return;
} }
var project = projectSegment(location.pathname); var project = projectSegment(location.pathname);
var active = currentStage(location.pathname); var active = currentStage(location.pathname);
var strip = buildStrip(project, active); var strip = buildStrip(project, active);
header.parentNode.insertBefore(strip, header.nextSibling); // Mount ABOVE the header — the strip is project-level chrome
// (where in the project), the header is tool-level chrome (which
// tool, theme, help). Reading order matches outer-to-inner scope.
header.parentNode.insertBefore(strip, header);
} }
// Expose for tests + opt-out. // Expose for tests + opt-out.

View file

@ -1,9 +1,9 @@
# Generated by build.sh — do not edit. One <app>=<build label> per line. # Generated by build.sh — do not edit. One <app>=<build label> per line.
archive=v0.0.17-beta · 2026-05-10 · alder-cherry-reef archive=v0.0.17-beta · 2026-05-10 · dome-fork-sapphire
transmittal=v0.0.17-beta · 2026-05-10 · alder-cherry-reef transmittal=v0.0.17-beta · 2026-05-10 · dome-fork-sapphire
classifier=v0.0.17-beta · 2026-05-10 · alder-cherry-reef classifier=v0.0.17-beta · 2026-05-10 · dome-fork-sapphire
mdedit=v0.0.17-beta · 2026-05-10 · alder-cherry-reef mdedit=v0.0.17-beta · 2026-05-10 · dome-fork-sapphire
landing=v0.0.17-beta · 2026-05-10 · alder-cherry-reef landing=v0.0.17-beta · 2026-05-10 · dome-fork-sapphire
form=v0.0.17-beta · 2026-05-10 · alder-cherry-reef form=v0.0.17-beta · 2026-05-10 · dome-fork-sapphire
tables=v0.0.17-beta · 2026-05-10 · alder-cherry-reef tables=v0.0.17-beta · 2026-05-10 · dome-fork-sapphire
browse=v0.0.17-beta · 2026-05-10 · alder-cherry-reef browse=v0.0.17-beta · 2026-05-10 · dome-fork-sapphire

View file

@ -1070,7 +1070,7 @@ body.help-open .app-header {
</svg> </svg>
<div class="header-title-group"> <div class="header-title-group">
<span class="app-header__title" id="table-title">ZDDC Table</span> <span class="app-header__title" id="table-title">ZDDC Table</span>
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.17-beta · 2026-05-10 · alder-cherry-reef</span></span> <span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.17-beta · 2026-05-10 · dome-fork-sapphire</span></span>
</div> </div>
</div> </div>
<div class="header-right"> <div class="header-right">
@ -2244,15 +2244,18 @@ body.help-open .app-header {
var header = document.querySelector('.app-header'); var header = document.querySelector('.app-header');
if (!header) return; if (!header) return;
// Don't double-mount if a tool's main.js calls us a second time. // Don't double-mount if a tool's main.js calls us a second time.
if (header.nextElementSibling && if (header.previousElementSibling &&
header.nextElementSibling.classList && header.previousElementSibling.classList &&
header.nextElementSibling.classList.contains('zddc-stage-strip')) { header.previousElementSibling.classList.contains('zddc-stage-strip')) {
return; return;
} }
var project = projectSegment(location.pathname); var project = projectSegment(location.pathname);
var active = currentStage(location.pathname); var active = currentStage(location.pathname);
var strip = buildStrip(project, active); var strip = buildStrip(project, active);
header.parentNode.insertBefore(strip, header.nextSibling); // Mount ABOVE the header — the strip is project-level chrome
// (where in the project), the header is tool-level chrome (which
// tool, theme, help). Reading order matches outer-to-inner scope.
header.parentNode.insertBefore(strip, header);
} }
// Expose for tests + opt-out. // Expose for tests + opt-out.