]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/shared/shared-main/date/date-toggle.component.ts
Allow user to search through their watch history (#3576)
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / shared-main / date / date-toggle.component.ts
CommitLineData
e8050208 1import { DatePipe } from '@angular/common'
67ed6552 2import { Component, Input, OnChanges, OnInit } from '@angular/core'
e8050208
JM
3import { FromNowPipe } from '../angular/from-now.pipe'
4
5@Component({
6 selector: 'my-date-toggle',
7 templateUrl: './date-toggle.component.html',
67ed6552 8 styleUrls: [ './date-toggle.component.scss' ]
e8050208 9})
68f6c87a 10export class DateToggleComponent implements OnChanges {
e8050208
JM
11 @Input() date: Date
12 @Input() toggled = false
13
14 dateRelative: string
15 dateAbsolute: string
16
17 constructor (
18 private datePipe: DatePipe,
19 private fromNowPipe: FromNowPipe
20 ) { }
21
e8050208
JM
22 ngOnChanges () {
23 this.updateDates()
24 }
25
26 toggle () {
27 this.toggled = !this.toggled
28 }
29
30 getTitle () {
68f6c87a
C
31 return this.toggled
32 ? this.dateRelative
33 : this.dateAbsolute
e8050208
JM
34 }
35
36 getContent () {
68f6c87a
C
37 return this.toggled
38 ? this.dateAbsolute
39 : this.dateRelative
e8050208
JM
40 }
41
42 private updateDates () {
43 this.dateRelative = this.fromNowPipe.transform(this.date)
68f6c87a 44 this.dateAbsolute = this.date.toLocaleDateString()
e8050208
JM
45 }
46}