aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/shared/misc/utils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/app/shared/misc/utils.ts')
-rw-r--r--client/src/app/shared/misc/utils.ts13
1 files changed, 13 insertions, 0 deletions
diff --git a/client/src/app/shared/misc/utils.ts b/client/src/app/shared/misc/utils.ts
index 018271efe..c8b7ebc67 100644
--- a/client/src/app/shared/misc/utils.ts
+++ b/client/src/app/shared/misc/utils.ts
@@ -51,6 +51,18 @@ function dateToHuman (date: string) {
51 return datePipe.transform(date, 'medium') 51 return datePipe.transform(date, 'medium')
52} 52}
53 53
54function durationToString (duration: number) {
55 const hours = Math.floor(duration / 3600)
56 const minutes = Math.floor((duration % 3600) / 60)
57 const seconds = duration % 60
58
59 const minutesPadding = minutes >= 10 ? '' : '0'
60 const secondsPadding = seconds >= 10 ? '' : '0'
61 const displayedHours = hours > 0 ? hours.toString() + ':' : ''
62
63 return displayedHours + minutesPadding + minutes.toString() + ':' + secondsPadding + seconds.toString()
64}
65
54function immutableAssign <A, B> (target: A, source: B) { 66function immutableAssign <A, B> (target: A, source: B) {
55 return Object.assign({}, target, source) 67 return Object.assign({}, target, source)
56} 68}
@@ -114,6 +126,7 @@ function sortBy (obj: any[], key1: string, key2?: string) {
114 126
115export { 127export {
116 sortBy, 128 sortBy,
129 durationToString,
117 objectToUrlEncoded, 130 objectToUrlEncoded,
118 getParameterByName, 131 getParameterByName,
119 populateAsyncUserVideoChannels, 132 populateAsyncUserVideoChannels,