diff options
author | Chocobozzz <me@florianbigard.com> | 2020-06-23 14:10:17 +0200 |
---|---|---|
committer | Chocobozzz <chocobozzz@cpy.re> | 2020-06-23 16:00:49 +0200 |
commit | 67ed6552b831df66713bac9e672738796128d33f (patch) | |
tree | 59c97d41e0b49d75a90aa3de987968ab9b1ff447 /client/src/app/shared/shared-main/date | |
parent | 0c4bacbff53bc732f5a2677d62a6ead7752e2405 (diff) | |
download | PeerTube-67ed6552b831df66713bac9e672738796128d33f.tar.gz PeerTube-67ed6552b831df66713bac9e672738796128d33f.tar.zst PeerTube-67ed6552b831df66713bac9e672738796128d33f.zip |
Reorganize client shared modules
Diffstat (limited to 'client/src/app/shared/shared-main/date')
4 files changed, 58 insertions, 0 deletions
diff --git a/client/src/app/shared/shared-main/date/date-toggle.component.html b/client/src/app/shared/shared-main/date/date-toggle.component.html new file mode 100644 index 000000000..ebd4ce442 --- /dev/null +++ b/client/src/app/shared/shared-main/date/date-toggle.component.html | |||
@@ -0,0 +1,6 @@ | |||
1 | <span | ||
2 | class="date-toggle" | ||
3 | [title]="getTitle()" | ||
4 | [innerHtml]="getContent()" | ||
5 | (click)="toggle()" | ||
6 | ></span> | ||
diff --git a/client/src/app/shared/shared-main/date/date-toggle.component.scss b/client/src/app/shared/shared-main/date/date-toggle.component.scss new file mode 100644 index 000000000..86700d1d4 --- /dev/null +++ b/client/src/app/shared/shared-main/date/date-toggle.component.scss | |||
@@ -0,0 +1,5 @@ | |||
1 | .date-toggle { | ||
2 | &:hover { | ||
3 | cursor: default | ||
4 | } | ||
5 | } | ||
diff --git a/client/src/app/shared/shared-main/date/date-toggle.component.ts b/client/src/app/shared/shared-main/date/date-toggle.component.ts new file mode 100644 index 000000000..bedf0ba4e --- /dev/null +++ b/client/src/app/shared/shared-main/date/date-toggle.component.ts | |||
@@ -0,0 +1,46 @@ | |||
1 | import { DatePipe } from '@angular/common' | ||
2 | import { Component, Input, OnChanges, OnInit } from '@angular/core' | ||
3 | import { FromNowPipe } from '../angular/from-now.pipe' | ||
4 | |||
5 | @Component({ | ||
6 | selector: 'my-date-toggle', | ||
7 | templateUrl: './date-toggle.component.html', | ||
8 | styleUrls: [ './date-toggle.component.scss' ] | ||
9 | }) | ||
10 | export class DateToggleComponent implements OnInit, OnChanges { | ||
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 | |||
22 | ngOnInit () { | ||
23 | this.updateDates() | ||
24 | } | ||
25 | |||
26 | ngOnChanges () { | ||
27 | this.updateDates() | ||
28 | } | ||
29 | |||
30 | toggle () { | ||
31 | this.toggled = !this.toggled | ||
32 | } | ||
33 | |||
34 | getTitle () { | ||
35 | return this.toggled ? this.dateRelative : this.dateAbsolute | ||
36 | } | ||
37 | |||
38 | getContent () { | ||
39 | return this.toggled ? this.dateAbsolute : this.dateRelative | ||
40 | } | ||
41 | |||
42 | private updateDates () { | ||
43 | this.dateRelative = this.fromNowPipe.transform(this.date) | ||
44 | this.dateAbsolute = this.datePipe.transform(this.date, 'long') | ||
45 | } | ||
46 | } | ||
diff --git a/client/src/app/shared/shared-main/date/index.ts b/client/src/app/shared/shared-main/date/index.ts new file mode 100644 index 000000000..db00aef52 --- /dev/null +++ b/client/src/app/shared/shared-main/date/index.ts | |||
@@ -0,0 +1 @@ | |||
export * from './date-toggle.component' | |||