import { clamp, timestampToSeconds } from 'app/utils' export const annotationFadeTimings = annotation => { const fadeInDuration = timestampToSeconds(annotation.settings.fade_in_duration || '0') || 0.1 const fadeOutDuration = timestampToSeconds(annotation.settings.fade_out_duration || '0') || 0.1 const duration = timestampToSeconds(annotation.settings.duration || '0') || 0.1 const start_ts = annotation.start_ts const end_ts = start_ts + duration const fade_in_end_ts = start_ts + fadeInDuration const fade_out_start_ts = end_ts - fadeOutDuration return { fadeInDuration, fadeOutDuration, duration, start_ts, end_ts, fade_in_end_ts, fade_out_start_ts, } } export const thumbnailURL = media => { // console.log(media) switch (media.type) { case 'video': return media.settings.video.thumbnail_url case 'image': return media.settings.thumbnail.url case 'gallery': if (media.settings.thumbnail) { return media.settings.thumbnail.url } if (!media.settings.image_order || !media.settings.image_order.length) { return null } const image_id = media.settings.image_order[0] return media.settings.thumbnail_lookup[image_id].url default: return null } } export const sectionProgress = (section, play_ts) => { return (clamp(play_ts, section.start_ts, section.end_ts) - section.start_ts) / section.duration } export const sectionProgressPercentage = (section, play_ts) => { return (Math.round(sectionProgress(section, play_ts) * 2000) / 20) + '%' }