aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts
diff options
context:
space:
mode:
authorRigel Kent <sendmemail@rigelk.eu>2020-07-02 16:30:33 +0200
committerChocobozzz <chocobozzz@cpy.re>2020-08-06 15:08:58 +0200
commit71ab65d02f359000f9ca6a00f163d66d56a33955 (patch)
tree0fb0460b05b90f151a8a24f1dc3a82c6c5697546 /client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts
parenta3b5e78af3696f807e54bc4b11e559bbd9b6ba1e (diff)
downloadPeerTube-71ab65d02f359000f9ca6a00f163d66d56a33955.tar.gz
PeerTube-71ab65d02f359000f9ca6a00f163d66d56a33955.tar.zst
PeerTube-71ab65d02f359000f9ca6a00f163d66d56a33955.zip
decouple video abuse details from embed, add embed to block list details
Diffstat (limited to 'client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts')
-rw-r--r--client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts23
1 files changed, 20 insertions, 3 deletions
diff --git a/client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts b/client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts
index dfdf65c19..e94c293ca 100644
--- a/client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts
+++ b/client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts
@@ -7,14 +7,17 @@ import { DropdownAction, Video, VideoService } from '@app/shared/shared-main'
7import { VideoBlockService } from '@app/shared/shared-moderation' 7import { VideoBlockService } from '@app/shared/shared-moderation'
8import { I18n } from '@ngx-translate/i18n-polyfill' 8import { I18n } from '@ngx-translate/i18n-polyfill'
9import { VideoBlacklist, VideoBlacklistType } from '@shared/models' 9import { VideoBlacklist, VideoBlacklistType } from '@shared/models'
10import { buildVideoEmbed, buildVideoLink } from 'src/assets/player/utils'
11import { environment } from 'src/environments/environment'
12import { DomSanitizer } from '@angular/platform-browser'
10 13
11@Component({ 14@Component({
12 selector: 'my-video-block-list', 15 selector: 'my-video-block-list',
13 templateUrl: './video-block-list.component.html', 16 templateUrl: './video-block-list.component.html',
14 styleUrls: [ '../../../shared/shared-moderation/moderation.scss', './video-block-list.component.scss' ] 17 styleUrls: [ '../../../shared/shared-moderation/moderation.scss', '../../../shared/shared-abuse-list/abuse-list-table.component.scss', './video-block-list.component.scss' ]
15}) 18})
16export class VideoBlockListComponent extends RestTable implements OnInit, AfterViewInit { 19export class VideoBlockListComponent extends RestTable implements OnInit, AfterViewInit {
17 blocklist: (VideoBlacklist & { reasonHtml?: string })[] = [] 20 blocklist: (VideoBlacklist & { reasonHtml?: string, embedHtml?: string })[] = []
18 totalRecords = 0 21 totalRecords = 0
19 sort: SortMeta = { field: 'createdAt', order: -1 } 22 sort: SortMeta = { field: 'createdAt', order: -1 }
20 pagination: RestPagination = { count: this.rowsPerPage, start: 0 } 23 pagination: RestPagination = { count: this.rowsPerPage, start: 0 }
@@ -28,6 +31,7 @@ export class VideoBlockListComponent extends RestTable implements OnInit, AfterV
28 private confirmService: ConfirmService, 31 private confirmService: ConfirmService,
29 private videoBlocklistService: VideoBlockService, 32 private videoBlocklistService: VideoBlockService,
30 private markdownRenderer: MarkdownService, 33 private markdownRenderer: MarkdownService,
34 private sanitizer: DomSanitizer,
31 private videoService: VideoService, 35 private videoService: VideoService,
32 private route: ActivatedRoute, 36 private route: ActivatedRoute,
33 private router: Router, 37 private router: Router,
@@ -171,6 +175,16 @@ export class VideoBlockListComponent extends RestTable implements OnInit, AfterV
171 ) 175 )
172 } 176 }
173 177
178 getVideoEmbed (entry: VideoBlacklist) {
179 return buildVideoEmbed(
180 buildVideoLink({
181 baseUrl: `${environment.embedUrl}/videos/embed/${entry.video.uuid}`,
182 title: false,
183 warningTitle: false
184 })
185 )
186 }
187
174 protected loadData () { 188 protected loadData () {
175 this.videoBlocklistService.listBlocks({ 189 this.videoBlocklistService.listBlocks({
176 pagination: this.pagination, 190 pagination: this.pagination,
@@ -184,7 +198,10 @@ export class VideoBlockListComponent extends RestTable implements OnInit, AfterV
184 this.blocklist = resultList.data 198 this.blocklist = resultList.data
185 199
186 for (const element of this.blocklist) { 200 for (const element of this.blocklist) {
187 Object.assign(element, { reasonHtml: await this.toHtml(element.reason) }) 201 Object.assign(element, {
202 reasonHtml: await this.toHtml(element.reason),
203 embedHtml: this.sanitizer.bypassSecurityTrustHtml(this.getVideoEmbed(element))
204 })
188 } 205 }
189 }, 206 },
190 207