diff --git a/app/assets/javascripts/initializers/initializePodcastPlayback.js b/app/assets/javascripts/initializers/initializePodcastPlayback.js index 965a5a050..227b69a95 100644 --- a/app/assets/javascripts/initializers/initializePodcastPlayback.js +++ b/app/assets/javascripts/initializers/initializePodcastPlayback.js @@ -330,26 +330,30 @@ function initializePodcastPlayback() { pausePodcastBar(); } - function playPause(audio) { + function ahoyMessage(action) { window.activeEpisode = audio.getAttribute('data-episode'); window.activePodcast = audio.getAttribute('data-podcast'); - var currentState = currentAudioState(); var properties = { + action: action, episode: window.activeEpisode, podcast: window.activePodcast, deviceType: deviceType, }; + ahoy.track('Podcast Player Streaming', properties); + } + + function playPause(audio) { + var currentState = currentAudioState(); if (!currentState.playing) { - properties.action = 'play'; + ahoyMessage('play'); changeStatusMessage('initializing...'); startAudioPlayback(audio); } else { - properties.action = 'pause'; + ahoyMessage('pause'); pauseAudioPlayback(audio); changeStatusMessage(null); } - ahoy.track('Podcast Player Streaming', properties); } function muteUnmute(audio) { @@ -478,16 +482,20 @@ function initializePodcastPlayback() { } var currentState = currentAudioState(); - if (message.action === 'tick') { - currentState.currentTime = message.currentTime; - currentState.duration = message.duration; - updateProgress(currentState.currentTime, currentState.duration, 100); - } else if (message.action === 'init') { - getById('time').innerHTML = 'initializing...'; - currentState.currentTime = 0; - } else { - console.log('Unrecognized podcast message: ', message); // eslint-disable-line no-console + switch (message.action) { + case 'init': + getById('time').innerHTML = 'initializing...'; + currentState.currentTime = 0; + break; + case 'tick': + currentState.currentTime = message.currentTime; + currentState.duration = message.duration; + updateProgress(currentState.currentTime, currentState.duration, 100); + break; + default: + console.log('Unrecognized podcast message: ', message); // eslint-disable-line no-console } + saveMediaState(currentState); } diff --git a/app/assets/javascripts/initializers/initializeVideoPlayback.js b/app/assets/javascripts/initializers/initializeVideoPlayback.js index bc3dd039e..d827cdca6 100644 --- a/app/assets/javascripts/initializers/initializeVideoPlayback.js +++ b/app/assets/javascripts/initializers/initializeVideoPlayback.js @@ -136,12 +136,22 @@ function initializeVideoPlayback() { return; } - if (message.action == 'pause') { - getById('pause-butt').classList.remove('active'); - getById('play-butt').classList.add('active'); - videoPlayerEvent(false); - } else if (message.action == 'tick') { - currentTime = message.currentTime; + switch (message.action) { + case 'play': + getById('pause-butt').classList.add('active'); + getById('play-butt').classList.remove('active'); + videoPlayerEvent(true); + break; + case 'pause': + getById('pause-butt').classList.remove('active'); + getById('play-butt').classList.add('active'); + videoPlayerEvent(false); + break; + case 'tick': + currentTime = message.currentTime; + break; + default: + console.log('Unrecognized video message: ', message); // eslint-disable-line no-console } }