UNPKG

spectatr-player-sdk

Version:

A custom video player built with Stencil with Shaka Player integration

46 lines (45 loc) 2.04 kB
export function formatTime(seconds) { const hours = Math.floor(seconds / 3600); const mins = Math.floor((seconds % 3600) / 60); const secs = Math.floor(seconds % 60); if (hours > 0) { return `${hours}:${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`; } else { return `${mins}:${secs.toString().padStart(2, '0')}`; } } export function formatTimeLive(currentTime, duration) { const time = Math.floor(currentTime - duration); if (Math.abs(time) <= 2) return 'Live'; return `${formatTime(Math.abs(currentTime))} / Live`; } export function getSliderBackground(currentTime, duration) { const percentage = (currentTime / duration) * 100 || 0; const primary = getComputedStyle(document.documentElement).getPropertyValue('--vp-accent').trim(); const bg = getComputedStyle(document.documentElement).getPropertyValue('--vp-controls-bg').trim(); return `linear-gradient(to right, ${primary} 0%, ${primary} ${percentage}%, ${bg} ${percentage}%, ${bg} 100%)`; } export function getVolumeSliderBackground(isMuted, volume) { const percentage = isMuted ? 0 : volume * 100 || 0; const primary = getComputedStyle(document.documentElement).getPropertyValue('--vp-accent').trim(); const bg = getComputedStyle(document.documentElement).getPropertyValue('--vp-controls-bg').trim(); return `linear-gradient(to right, ${primary} 0%, ${primary} ${percentage}%, ${bg} ${percentage}%, ${bg} 100%)`; } export function resetControlsTimeout(component) { if (component.controlsTimeout) { clearTimeout(component.controlsTimeout); } component.controlsTimeout = setTimeout(() => { if (component.isPlaying) { component.showControls = false; component.showSettings = false; } }, 3000); } export function formatLocalTime(utcTimeString) { const date = new Date(utcTimeString); return date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }); } //# sourceMappingURL=ui-utils.js.map