diff --git a/renderer/views/player.js b/renderer/views/player.js index 34ea4f62..919899c8 100644 --- a/renderer/views/player.js +++ b/renderer/views/player.js @@ -182,24 +182,31 @@ function renderLoadingSpinner (state) { } function renderCastScreen (state) { - var isChromecast = state.playing.location.startsWith('chromecast') - var isAirplay = state.playing.location.startsWith('airplay') - var isDlna = state.playing.location.startsWith('dlna') + var castIcon, castType + if (state.playing.location.startsWith('chromecast')) { + castIcon = 'cast_connected' + castType = 'Chromecast' + } else if (state.playing.location.startsWith('airplay')) { + castIcon = 'airplay' + castType = 'AirPlay' + } else if (state.playing.location.startsWith('dlna')) { + castIcon = 'tv' + castType = 'DLNA' + } + var isStarting = state.playing.location.endsWith('-pending') - if (!isChromecast && !isAirplay && !isDlna) throw new Error('Unimplemented cast type') + var castStatus = isStarting ? 'Connecting...' : 'Connected' // Show a nice title image, if possible var style = { backgroundImage: cssBackgroundImagePoster(state) } - // Show whether we're connected to Chromecast / Airplay / DLNA - var castStatus = isStarting ? 'Connecting...' : 'Connected' return hx`
- ${isAirplay ? 'airplay' : 'cast'} -
${isAirplay ? 'AirPlay' : (isDlna ? 'DLNA' : 'Chromecast')}
+ ${castIcon} +
${castType}
${castStatus}
@@ -264,11 +271,12 @@ function renderPlayerControls (state) { dlnaHandler = dispatcher('openDevice', 'dlna') } if (state.devices.chromecast || isOnChromecast) { + var castIcon = isOnChromecast ? 'cast_connected' : 'cast' elements.push(hx` - cast + ${castIcon} `) }