From 9fafd0bf430110c4551f59bf0440fbbd027421c9 Mon Sep 17 00:00:00 2001 From: martbost Date: Sun, 20 Sep 2026 05:27:10 -0500 Subject: [PATCH] Training: feature 'polhunter' entries appear at the launch moment; launch card links the feeder video Co-Authored-By: Claude Fable 5.1 --- public/assets/my.js | 3 ++- public/my.html | 2 +- server.js | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/public/assets/my.js b/public/assets/my.js index 783e284..c7b977f 100644 --- a/public/assets/my.js +++ b/public/assets/my.js @@ -1415,7 +1415,8 @@ const card = $('phLaunch'); if (!card || phShown) return; phShown = true; card.hidden = false; card.innerHTML = '

\u{1F3AF} New today: PolHunter

Launch-day surprise
' + '

Missions across our sites. Visit the site, find your personal code on the page, type it in, and a random drip of POL lands in the wallet on this account, on chain, with a link to prove it. Three missions a day, a leaderboard with weekly POL prizes, and badge cards you can share. Your PolHunter share link puts sign-ups on your InstantAdPay line.

' - + 'Open my PolHunter board Watch the 30-second teaser'; + + 'Open my PolHunter board The teaser'; + const tb = $('phTrain'); if (tb) tb.addEventListener('click', () => { const m = document.querySelector('.bo-menu [data-pane="training"]'); if (m) m.click(); }); } catch (e) {} } launchReveal(); setInterval(launchReveal, 30000); diff --git a/public/my.html b/public/my.html index ad7b9f6..959f0d5 100644 --- a/public/my.html +++ b/public/my.html @@ -1040,7 +1040,7 @@ - + diff --git a/server.js b/server.js index de5a3d9..d1ead39 100644 --- a/server.js +++ b/server.js @@ -2256,7 +2256,8 @@ const server = http.createServer(async (req, res) => { let items = []; try { const j = JSON.parse(fs.readFileSync(path.join(DATA_DIR, 'training.json'), 'utf8')); if (Array.isArray(j)) items = j; } catch (e) {} // a card with feature:'pipeline' waits for the switch, so the video can be ready before the tab opens (Marty, 2026-09-15) - const scT = siteConfig(); items = items.filter(it => !it.feature || (it.feature === 'pipeline' && pipeline.visible(scT.pipelineMode, s.email, ADMIN_EMAIL))); + const scT = siteConfig(); const launched = scT.launchAt && Date.now() >= new Date(scT.launchAt).getTime(); // feature:'polhunter' waits for the launch moment (Marty, 2026-09-20) + items = items.filter(it => !it.feature || (it.feature === 'pipeline' && pipeline.visible(scT.pipelineMode, s.email, ADMIN_EMAIL)) || (it.feature === 'polhunter' && launched)); if (!items.length) items = [{ title: 'Getting started with InstantAdPay', desc: 'How the platform works, how every payout splits on-chain to real wallets, and how to build your line.', docUrl: 'https://instantadpay.com/' }];