]>
Commit | Line | Data |
---|---|---|
df8340b7 | 1 | import { Pipe, PipeTransform } from '@angular/core' |
03db5c3f | 2 | import { I18n } from '@ngx-translate/i18n-polyfill' |
df8340b7 RK |
3 | |
4 | @Pipe({ | |
5 | name: 'myVideoDurationFormatter' | |
6 | }) | |
7 | export class VideoDurationPipe implements PipeTransform { | |
03db5c3f C |
8 | |
9 | constructor (private i18n: I18n) { | |
10 | ||
11 | } | |
12 | ||
df8340b7 | 13 | transform (value: number): string { |
03db5c3f C |
14 | const hours = Math.floor(value / 3600) |
15 | const minutes = Math.floor((value % 3600) / 60) | |
16 | const seconds = value % 60 | |
df8340b7 RK |
17 | |
18 | if (hours > 0) { | |
03db5c3f C |
19 | return this.i18n('{{hours}} h {{minutes}} min {{seconds}} sec', { hours, minutes, seconds }) |
20 | } | |
21 | ||
22 | if (minutes > 0) { | |
23 | return this.i18n('{{minutes}} min {{seconds}} sec', { minutes, seconds }) | |
df8340b7 RK |
24 | } |
25 | ||
03db5c3f | 26 | return this.i18n('{{seconds}} sec', { seconds }) |
df8340b7 RK |
27 | } |
28 | } |