summaryrefslogtreecommitdiff
path: root/animism-align/frontend/app/utils/annotation.utils.js
blob: 4dd74789ef2e317724b4ca72538f68fce970f6a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { timestampToSeconds } from 'app/utils'

export const annotationFadeTimings = annotation => {
  const fadeInDuration = timestampToSeconds(annotation.settings.fade_in_duration || '0')
  const fadeOutDuration = timestampToSeconds(annotation.settings.fade_out_duration || '0')
  const duration = timestampToSeconds(annotation.settings.duration || '0')

  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 => {
  switch (media.type) {
    case 'video': return media.settings.video.thumbnail_url
    case 'image': return media.settings.thumbnail.url
    default:      return null
  }
}