summaryrefslogtreecommitdiff
path: root/animism-align/frontend/app/views/annotation/annotation.util.js
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2020-07-27 15:44:29 +0200
committerJules Laplace <julescarbon@gmail.com>2020-07-27 15:44:29 +0200
commit2aad507650fa3263ef81be759ab0531b43e5b7cc (patch)
treeb8299f962ef0e3342cb8978f5e0a4f57a8ee1b30 /animism-align/frontend/app/views/annotation/annotation.util.js
parenteee3193ecf604eaed30505128b2a1f7bb875d44a (diff)
annotation form for curtain events. refactor utilities
Diffstat (limited to 'animism-align/frontend/app/views/annotation/annotation.util.js')
-rw-r--r--animism-align/frontend/app/views/annotation/annotation.util.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/animism-align/frontend/app/views/annotation/annotation.util.js b/animism-align/frontend/app/views/annotation/annotation.util.js
new file mode 100644
index 0000000..82edd9a
--- /dev/null
+++ b/animism-align/frontend/app/views/annotation/annotation.util.js
@@ -0,0 +1,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 curtainTimings = 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,
+ }
+}
+