]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/shared/video/video.model.ts
Handle resizes on videos list
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / video / video.model.ts
index 8e46ce44bc9a7507935d0482bed1a1d63eefe07a..7b68933a1c88a51ae4f2d84122c9a28d8366bbe9 100644 (file)
@@ -2,18 +2,16 @@ import { Account } from '@app/shared/account/account.model'
 import { User } from '../'
 import { Video as VideoServerModel } from '../../../../../shared'
 import { Avatar } from '../../../../../shared/models/avatars/avatar.model'
+import { VideoConstant } from '../../../../../shared/models/videos/video.model'
 import { getAbsoluteAPIUrl } from '../misc/utils'
 
 export class Video implements VideoServerModel {
   by: string
   createdAt: Date
   updatedAt: Date
-  categoryLabel: string
-  category: number
-  licenceLabel: string
-  licence: number
-  languageLabel: string
-  language: number
+  category: VideoConstant<number>
+  licence: VideoConstant<number>
+  language: VideoConstant<number>
   description: string
   duration: number
   durationLabel: string
@@ -42,23 +40,24 @@ export class Video implements VideoServerModel {
   }
 
   private static createDurationString (duration: number) {
-    const minutes = Math.floor(duration / 60)
+    const hours = Math.floor(duration / 3600)
+    const minutes = Math.floor(duration % 3600 / 60)
     const seconds = duration % 60
+
     const minutesPadding = minutes >= 10 ? '' : '0'
     const secondsPadding = seconds >= 10 ? '' : '0'
+    const displayedHours = hours > 0 ? hours.toString() + ':' : ''
 
-    return minutesPadding + minutes.toString() + ':' + secondsPadding + seconds.toString()
+    return displayedHours + minutesPadding +
+        minutes.toString() + ':' + secondsPadding + seconds.toString()
   }
 
   constructor (hash: VideoServerModel) {
     const absoluteAPIUrl = getAbsoluteAPIUrl()
 
     this.createdAt = new Date(hash.createdAt.toString())
-    this.categoryLabel = hash.categoryLabel
     this.category = hash.category
-    this.licenceLabel = hash.licenceLabel
     this.licence = hash.licence
-    this.languageLabel = hash.languageLabel
     this.language = hash.language
     this.description = hash.description
     this.duration = hash.duration