diff --git a/deploy/site/index.html b/deploy/site/index.html index 0af8f6a..1e504c2 100644 --- a/deploy/site/index.html +++ b/deploy/site/index.html @@ -154,6 +154,9 @@ padding:9px 15px;font-weight:650;font-size:.9rem} .dl:hover{background:var(--teal-ink)} .dl svg{width:15px;height:15px} + .dl2{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:.82rem;color:var(--mut);text-decoration:none;font-weight:600} + .dl2:hover{color:var(--teal)} + .dl2 svg{width:14px;height:14px} .hint{max-width:760px;margin:18px auto 0;color:var(--mut);font-size:.86rem;text-align:center} /* "install a previous version" picker */ .verpick{max-width:760px; margin:16px auto 0; border:1px solid var(--line); border-radius:12px; background:var(--bg2); text-align:left} @@ -347,17 +350,22 @@

Heltec V4 + TFT

ESP32-S3 with CHSC6x touch.

-
+ + or download the .bin

LilyGo T-Deck / Plus

ESP32-S3 keyboard handheld.

-
+ + or download the .bin

ThinkNode M9

ESP32-S3 QWERTY handheld (LR1110).

+ or download the .bin

New board: beta channel only until the next stable.

RAK WisMesh Tap V2

ESP32-S3 touch node.

+ or download the .bin

New board: beta channel only until the next stable.

Heltec V4-R8 (experimental)

ESP32-S3 · 8 MB PSRAM · SD card.

+ or download the .bin

New board, not yet hardware-tested — beta only. Please flash with care and report back.

Tanmatsu

ESP32-P4 keyboard handheld.

Already have one? No USB flashing needed — install WADAMESH straight from the Tanmatsu app store on the device.

@@ -560,8 +568,22 @@ We use no tracking, analytics, or advertising cookies. Our CDN and security prov document.querySelectorAll('[data-wm-betahint]').forEach(e => e.hidden = ch !== 'beta'); const vs = document.getElementById('verSel'); if (vs && vs.options.length) { vs.selectedIndex = 0; vs.dispatchEvent(new Event('change')); } + wmUpdateDownloads(); wmWhatsNew(); }; + // Per-board "download the .bin" links on the standalone cards: follow the channel + // toggle (beta-only boards stay pinned to latest-beta) and show the exact version + // each feed serves — both channel tags are fetched once so every link is accurate. + const WM_VER = {}; + window.wmUpdateDownloads = function(){ + document.querySelectorAll('[data-dl-board]').forEach(a => { + const feed = a.hasAttribute('data-dl-betaonly') ? 'latest-beta' : WM.feed; + a.href = 'https://firmware.wadamesh.com/' + feed + '/wadamesh-' + a.getAttribute('data-dl-board') + '-merged.bin'; + const v = a.querySelector('[data-dl-ver]'); if (v) v.textContent = WM_VER[feed] ? ' · ' + WM_VER[feed] : ''; + }); + }; + ['latest','latest-beta'].forEach(feed => fetch('https://firmware.wadamesh.com/' + feed + '/version.json', {cache:'no-store'}) + .then(r => r.ok ? r.json() : null).then(v => { if (v && v.tag) { WM_VER[feed] = v.tag; wmUpdateDownloads(); } }).catch(()=>{})); document.querySelectorAll('[data-wm-ch]').forEach(b => b.addEventListener('click', () => wmSetChannel(b.getAttribute('data-wm-ch')))); wmSetChannel('stable');