1
0
Fork 0
peertube/client/src/app/shared/shared-main/date/date-toggle.component.ts

43 lines
909 B
TypeScript

import { Component, Input, OnChanges } from '@angular/core'
import { FromNowPipe } from '../angular/from-now.pipe'
@Component({
selector: 'my-date-toggle',
templateUrl: './date-toggle.component.html',
styleUrls: [ './date-toggle.component.scss' ]
})
export class DateToggleComponent implements OnChanges {
@Input() date: Date
@Input() toggled = false
dateRelative: string
dateAbsolute: string
constructor (private fromNowPipe: FromNowPipe) { }
ngOnChanges () {
this.updateDates()
}
toggle () {
this.toggled = !this.toggled
}
getTitle () {
return this.toggled
? this.dateRelative
: this.dateAbsolute
}
getContent () {
return this.toggled
? this.dateAbsolute
: this.dateRelative
}
private updateDates () {
this.dateRelative = this.fromNowPipe.transform(this.date)
this.dateAbsolute = this.date.toLocaleDateString()
}
}