]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/shared/shared-abuse-list/abuse-details.component.ts
Refactor video miniature
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / shared-abuse-list / abuse-details.component.ts
CommitLineData
25a42e29 1import { Component, Input } from '@angular/core'
94148c90 2import { durationToString } from '@app/helpers'
c418d483 3import { Account } from '@app/shared/shared-main'
d95d1559 4import { AbusePredefinedReasonsString } from '@shared/models'
94148c90 5import { ProcessedAbuse } from './processed-abuse.model'
801d9571
RK
6
7@Component({
d95d1559
C
8 selector: 'my-abuse-details',
9 templateUrl: './abuse-details.component.html',
94148c90 10 styleUrls: [ '../shared-moderation/moderation.scss', './abuse-details.component.scss' ]
801d9571 11})
d95d1559
C
12export class AbuseDetailsComponent {
13 @Input() abuse: ProcessedAbuse
94148c90
C
14 @Input() isAdminView: boolean
15 @Input() baseRoute: string
801d9571 16
d95d1559 17 private predefinedReasonsTranslations: { [key in AbusePredefinedReasonsString]: string }
1ebddadd 18
66357162 19 constructor () {
1ebddadd 20 this.predefinedReasonsTranslations = {
66357162
C
21 violentOrRepulsive: $localize`Violent or Repulsive`,
22 hatefulOrAbusive: $localize`Hateful or Abusive`,
23 spamOrMisleading: $localize`Spam or Misleading`,
24 privacy: $localize`Privacy`,
25 rights: $localize`Copyright`,
26 serverRules: $localize`Server rules`,
27 thumbnails: $localize`Thumbnails`,
28 captions: $localize`Captions`
1ebddadd
RK
29 }
30 }
31
32 get startAt () {
8ca56654 33 return durationToString(this.abuse.video.startAt)
1ebddadd
RK
34 }
35
36 get endAt () {
8ca56654 37 return durationToString(this.abuse.video.endAt)
1ebddadd
RK
38 }
39
40 getPredefinedReasons () {
d95d1559 41 if (!this.abuse.predefinedReasons) return []
8ca56654 42
d95d1559 43 return this.abuse.predefinedReasons.map(r => ({
1ebddadd
RK
44 id: r,
45 label: this.predefinedReasonsTranslations[r]
46 }))
47 }
48
25a42e29 49 switchToDefaultAvatar ($event: Event) {
c418d483 50 ($event.target as HTMLImageElement).src = Account.GET_DEFAULT_AVATAR_URL()
801d9571
RK
51 }
52}