summaryrefslogtreecommitdiff
path: root/animism-align/frontend/app/views/annotation/annotation.util.js
blob: 680de5e92738b2857364e9b1facf8554834280d2 (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
26
import { timestampToSeconds } from 'app/utils'

export const thumbnailURL = data => {
  switch (data.type) {
    case 'video': return data.settings.video.thumbnail_url
    case 'image': return data.settings.thumbnail.url
    default:      return null
  }
}

export const annotationFadeTimings = annotation => {
  const fadeInDurationInSeconds = timestampToSeconds(annotation.settings.fade_in_duration || '0')
  const fadeOutDurationInSeconds = timestampToSeconds(annotation.settings.fade_out_duration || '0')
  const durationInSeconds = timestampToSeconds(annotation.settings.duration || '0')

  const start_ts = annotation.start_ts
  const end_ts = start_ts + durationInSeconds
  const fade_in_end_ts = start_ts + fadeInDurationInSeconds
  const fade_out_start_ts = end_ts - fadeOutDurationInSeconds

  return {
    fadeInDurationInSeconds, fadeOutDurationInSeconds, durationInSeconds,
    start_ts, end_ts, fade_in_end_ts, fade_out_start_ts,
  }
}