1 import { Component, Input, OnInit } from '@angular/core'
2 import { durationToString } from '@app/helpers'
3 import { AbusePredefinedReasonsString } from '@shared/models'
4 import { ProcessedAbuse } from './processed-abuse.model'
7 selector: 'my-abuse-details',
8 templateUrl: './abuse-details.component.html',
9 styleUrls: [ '../shared-moderation/moderation.scss', './abuse-details.component.scss' ]
11 export class AbuseDetailsComponent implements OnInit {
12 @Input() abuse: ProcessedAbuse
13 @Input() isAdminView: boolean
15 predefinedReasons: { id: string, label: string }[]
16 private predefinedReasonsTranslations: { [key in AbusePredefinedReasonsString]: string }
19 this.predefinedReasonsTranslations = {
20 violentOrRepulsive: $localize`Violent or Repulsive`,
21 hatefulOrAbusive: $localize`Hateful or Abusive`,
22 spamOrMisleading: $localize`Spam or Misleading`,
23 privacy: $localize`Privacy`,
24 rights: $localize`Copyright`,
25 serverRules: $localize`Server rules`,
26 thumbnails: $localize`Thumbnails`,
27 captions: $localize`Captions`
32 if (!this.abuse.predefinedReasons) return
34 this.predefinedReasons = this.abuse.predefinedReasons.map(r => ({
36 label: this.predefinedReasonsTranslations[r]
41 return durationToString(this.abuse.video.startAt)
45 return durationToString(this.abuse.video.endAt)