blob: 14674c5f09c7e486f598c7ea2d1a655a0e1d43cf (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
import { Component, Input } from '@angular/core'
import { durationToString } from '@app/helpers'
import { AbusePredefinedReasonsString } from '@shared/models'
import { ProcessedAbuse } from './processed-abuse.model'
@Component({
selector: 'my-abuse-details',
templateUrl: './abuse-details.component.html',
styleUrls: [ '../shared-moderation/moderation.scss', './abuse-details.component.scss' ]
})
export class AbuseDetailsComponent {
@Input() abuse: ProcessedAbuse
@Input() isAdminView: boolean
private predefinedReasonsTranslations: { [key in AbusePredefinedReasonsString]: string }
constructor () {
this.predefinedReasonsTranslations = {
violentOrRepulsive: $localize`Violent or Repulsive`,
hatefulOrAbusive: $localize`Hateful or Abusive`,
spamOrMisleading: $localize`Spam or Misleading`,
privacy: $localize`Privacy`,
rights: $localize`Copyright`,
serverRules: $localize`Server rules`,
thumbnails: $localize`Thumbnails`,
captions: $localize`Captions`
}
}
get startAt () {
return durationToString(this.abuse.video.startAt)
}
get endAt () {
return durationToString(this.abuse.video.endAt)
}
getPredefinedReasons () {
if (!this.abuse.predefinedReasons) return []
return this.abuse.predefinedReasons.map(r => ({
id: r,
label: this.predefinedReasonsTranslations[r]
}))
}
}
|