const sounds = {}; sounds['victory'] = new Audio('/sounds/victory.ogg'); sounds['defeat'] = new Audio('/sounds/defeat.ogg'); sounds['draw'] = new Audio('/sounds/draw.ogg'); sounds['move'] = new Audio('/sounds/move.ogg'); Object.values(sounds).forEach((sound) => { sound.volume = 0.12; }); document.addEventListener('htmx:wsAfterMessage', function (e) { let msg; try { msg = JSON.parse(e.detail.message); } catch (_) { return; } if (msg.type !== 'sound') { return; } sounds[msg.sound].play(); });