From 64f2c89a40fd183a4d8cd811bdfe7fdf3ab22ef9 Mon Sep 17 00:00:00 2001 From: Gmer4Lfe Date: Sat, 30 May 2026 15:52:41 -0400 Subject: [PATCH] Setup mode: HOST1 lands on Partnership with Onboard highlighted MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit scheduler.php: after host1.conf save in setup mode, redirect to ?tab=partnership&vv_onboard=1 instead of Monitor. HOST2+ still redirects to Monitor (they don't manage the partnership). partnership.php: detects vv_onboard=1 URL param after actions render. Adds pulse animation + box-shadow to the Onboard button and scrolls it into view. One-shot — gone when user navigates away. --- Plugin/unraid/pages/partnership.php | 17 +++++++++++++++++ Plugin/unraid/pages/scheduler.php | 11 +++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/Plugin/unraid/pages/partnership.php b/Plugin/unraid/pages/partnership.php index 60b8d80..2a89d46 100644 --- a/Plugin/unraid/pages/partnership.php +++ b/Plugin/unraid/pages/partnership.php @@ -24,6 +24,14 @@ .vv-pt-action-btn.info { background:#1a2a3a; color:#7ab; border:1px solid #2e4a6b; } .vv-pt-action-btn:disabled { opacity:0.4; cursor:default; } .vv-pt-transfer-note { font-size:10px; color:#555; margin-top:6px; font-family:monospace; } +.vv-pt-onboard-highlight { + box-shadow: 0 0 0 2px #4a8, 0 0 12px rgba(100,200,120,.25) !important; + animation: vvOnboardPulse 1.4s ease-in-out 4; +} +@keyframes vvOnboardPulse { + 0%,100% { box-shadow: 0 0 0 2px #4a8, 0 0 8px rgba(100,200,120,.2); } + 50% { box-shadow: 0 0 0 4px #4a8, 0 0 18px rgba(100,200,120,.45); } +}
@@ -249,6 +257,15 @@ function _render(data) { // Actions document.getElementById('vv-pt-actions-body').innerHTML = _renderActions(nodes, cfg); + // Highlight Onboard button when arriving from first-run wizard + if (new URLSearchParams(location.search).get('vv_onboard') === '1') { + const onboardBtn = document.querySelector('#vv-pt-actions-body .vv-pt-action-btn.run'); + if (onboardBtn) { + onboardBtn.classList.add('vv-pt-onboard-highlight'); + setTimeout(() => onboardBtn.scrollIntoView({behavior: 'smooth', block: 'center'}), 200); + } + } + // Timestamp const ts = data.ts ? new Date(data.ts * 1000).toLocaleString([], {month:'numeric',day:'numeric',year:'numeric',hour:'2-digit',minute:'2-digit',second:'2-digit'}) : ''; diff --git a/Plugin/unraid/pages/scheduler.php b/Plugin/unraid/pages/scheduler.php index 5e4fe3a..0ad1b3f 100644 --- a/Plugin/unraid/pages/scheduler.php +++ b/Plugin/unraid/pages/scheduler.php @@ -2627,9 +2627,16 @@ function vvSaveRawConf() { setTimeout(() => vvLoadRawConf(vvLocalHostConf), 400); } else { // Host conf saved → setup complete - btn.textContent = '✓ Setup complete — loading plugin…'; vvSetupConf = ''; - setTimeout(() => { window.location.href = location.pathname + '?tab=monitor'; }, 800); + if (vvLocalHostConf === 'host1.conf') { + // HOST1: drive the partnership next + btn.textContent = '✓ Done — opening Partnership…'; + setTimeout(() => { window.location.href = location.pathname + '?tab=partnership&vv_onboard=1'; }, 800); + } else { + // HOST2+: go to Monitor, HOST1 manages the partnership + btn.textContent = '✓ Setup complete — loading plugin…'; + setTimeout(() => { window.location.href = location.pathname + '?tab=monitor'; }, 800); + } } return; }