From bbe912778407ee3434b68c959a72b834e1787ba9 Mon Sep 17 00:00:00 2001 From: Tyler Hoang Date: Thu, 28 May 2026 18:04:08 -0700 Subject: aero: autoplay music on startup with first-click fallback Co-Authored-By: Claude Sonnet 4.6 --- index.html | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'index.html') diff --git a/index.html b/index.html index 24490b4..940919e 100755 --- a/index.html +++ b/index.html @@ -767,6 +767,31 @@ // swap track live when theme changes while music is playing window.addEventListener('themechange', applyMusicTheme); + // autoplay on load; fall back to first click if browser blocks it + (function() { + const track = MUSIC[Aero.getTheme()] || MUSIC.aero; + bgm.src = track.src; + bgm.load(); + bgm.play().then(() => { + musicOn = true; + mtBtn.textContent = '❚❚'; + mtLabel.textContent = track.label; + mtBtn.style.background = 'radial-gradient(circle at 30% 25%,white,oklch(75% 0.14 55) 60%,oklch(55% 0.15 35))'; + }).catch(() => { + document.addEventListener('click', () => { + const t = MUSIC[Aero.getTheme()] || MUSIC.aero; + bgm.src = t.src; + bgm.load(); + bgm.play().then(() => { + musicOn = true; + mtBtn.textContent = '❚❚'; + mtLabel.textContent = t.label; + mtBtn.style.background = 'radial-gradient(circle at 30% 25%,white,oklch(75% 0.14 55) 60%,oklch(55% 0.15 35))'; + }); + }, { once: true }); + }); + })(); + // counter document.getElementById('cc').innerHTML = Aero.counterHTML(0, 'visitors'); Aero.fetchVisitorCount() -- cgit v1.3-2-g0d8e