From 11ac88de40215783835cf6e6259ff0f6cee258dd Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 23 Jan 2017 22:16:48 +0100 Subject: Client: add basic support to report video abuses --- client/src/app/admin/admin-routing.module.ts | 4 ++- client/src/app/admin/admin.module.ts | 4 +++ client/src/app/admin/menu-admin.component.html | 5 ++++ client/src/app/admin/video-abuses/index.ts | 3 +++ .../admin/video-abuses/video-abuse-list/index.ts | 1 + .../video-abuse-list.component.html | 27 +++++++++++++++++++ .../video-abuse-list.component.scss | 7 +++++ .../video-abuse-list/video-abuse-list.component.ts | 31 ++++++++++++++++++++++ .../admin/video-abuses/video-abuses.component.ts | 8 ++++++ .../app/admin/video-abuses/video-abuses.routes.ts | 28 +++++++++++++++++++ 10 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 client/src/app/admin/video-abuses/index.ts create mode 100644 client/src/app/admin/video-abuses/video-abuse-list/index.ts create mode 100644 client/src/app/admin/video-abuses/video-abuse-list/video-abuse-list.component.html create mode 100644 client/src/app/admin/video-abuses/video-abuse-list/video-abuse-list.component.scss create mode 100644 client/src/app/admin/video-abuses/video-abuse-list/video-abuse-list.component.ts create mode 100644 client/src/app/admin/video-abuses/video-abuses.component.ts create mode 100644 client/src/app/admin/video-abuses/video-abuses.routes.ts (limited to 'client/src/app/admin') diff --git a/client/src/app/admin/admin-routing.module.ts b/client/src/app/admin/admin-routing.module.ts index 6bff25033..cabc6df15 100644 --- a/client/src/app/admin/admin-routing.module.ts +++ b/client/src/app/admin/admin-routing.module.ts @@ -5,6 +5,7 @@ import { AdminComponent } from './admin.component'; import { FriendsRoutes } from './friends'; import { RequestsRoutes } from './requests'; import { UsersRoutes } from './users'; +import { VideoAbusesRoutes } from './video-abuses'; const adminRoutes: Routes = [ { @@ -18,7 +19,8 @@ const adminRoutes: Routes = [ }, ...FriendsRoutes, ...RequestsRoutes, - ...UsersRoutes + ...UsersRoutes, + ...VideoAbusesRoutes ] } ]; diff --git a/client/src/app/admin/admin.module.ts b/client/src/app/admin/admin.module.ts index 63d99a3db..d3ada8ce8 100644 --- a/client/src/app/admin/admin.module.ts +++ b/client/src/app/admin/admin.module.ts @@ -5,6 +5,7 @@ import { AdminRoutingModule } from './admin-routing.module'; import { FriendsComponent, FriendAddComponent, FriendListComponent, FriendService } from './friends'; import { RequestsComponent, RequestStatsComponent, RequestService } from './requests'; import { UsersComponent, UserAddComponent, UserListComponent, UserService } from './users'; +import { VideoAbusesComponent, VideoAbuseListComponent } from './video-abuses'; import { MenuAdminComponent } from './menu-admin.component'; import { SharedModule } from '../shared'; @@ -28,6 +29,9 @@ import { SharedModule } from '../shared'; UserAddComponent, UserListComponent, + VideoAbusesComponent, + VideoAbuseListComponent, + MenuAdminComponent ], diff --git a/client/src/app/admin/menu-admin.component.html b/client/src/app/admin/menu-admin.component.html index e250615aa..ad7a7a1b4 100644 --- a/client/src/app/admin/menu-admin.component.html +++ b/client/src/app/admin/menu-admin.component.html @@ -15,6 +15,11 @@ Request stats + +
+ + Video abuses +
diff --git a/client/src/app/admin/video-abuses/index.ts b/client/src/app/admin/video-abuses/index.ts new file mode 100644 index 000000000..7f5e65f91 --- /dev/null +++ b/client/src/app/admin/video-abuses/index.ts @@ -0,0 +1,3 @@ +export * from './video-abuse-list'; +export * from './video-abuses.component'; +export * from './video-abuses.routes'; diff --git a/client/src/app/admin/video-abuses/video-abuse-list/index.ts b/client/src/app/admin/video-abuses/video-abuse-list/index.ts new file mode 100644 index 000000000..3f2ed1714 --- /dev/null +++ b/client/src/app/admin/video-abuses/video-abuse-list/index.ts @@ -0,0 +1 @@ +export * from './video-abuse-list.component'; diff --git a/client/src/app/admin/video-abuses/video-abuse-list/video-abuse-list.component.html b/client/src/app/admin/video-abuses/video-abuse-list/video-abuse-list.component.html new file mode 100644 index 000000000..46043577c --- /dev/null +++ b/client/src/app/admin/video-abuses/video-abuse-list/video-abuse-list.component.html @@ -0,0 +1,27 @@ +

Video abuses list

+ + + + + + + + + + + + + + + + + + + + + + + +
IDReasonReporter pod hostReporter usernameVideoCreated at
{{ videoAbuse.id }}{{ videoAbuse.reason }}{{ videoAbuse.reporterPodHost }}{{ videoAbuse.reporterUsername }} + {{ videoAbuse.videoId }} + {{ videoAbuse.createdAt | date: 'medium' }}
diff --git a/client/src/app/admin/video-abuses/video-abuse-list/video-abuse-list.component.scss b/client/src/app/admin/video-abuses/video-abuse-list/video-abuse-list.component.scss new file mode 100644 index 000000000..a094f74b8 --- /dev/null +++ b/client/src/app/admin/video-abuses/video-abuse-list/video-abuse-list.component.scss @@ -0,0 +1,7 @@ +.cell-id { + width: 40px; +} + +.cell-reason { + width: 200px; +} diff --git a/client/src/app/admin/video-abuses/video-abuse-list/video-abuse-list.component.ts b/client/src/app/admin/video-abuses/video-abuse-list/video-abuse-list.component.ts new file mode 100644 index 000000000..de58bba3d --- /dev/null +++ b/client/src/app/admin/video-abuses/video-abuse-list/video-abuse-list.component.ts @@ -0,0 +1,31 @@ +import { setInterval } from 'timers' +import { Component, OnInit } from '@angular/core'; + +import { VideoAbuseService, VideoAbuse} from '../../../shared'; + +@Component({ + selector: 'my-video-abuse-list', + templateUrl: './video-abuse-list.component.html', + styleUrls: [ './video-abuse-list.component.scss' ] +}) +export class VideoAbuseListComponent implements OnInit { + videoAbuses: VideoAbuse[]; + + constructor(private videoAbuseService: VideoAbuseService) { } + + ngOnInit() { + this.getVideoAbuses(); + } + + buildVideoLink(videoAbuse: VideoAbuse) { + return `/videos/${videoAbuse.videoId}`; + } + + private getVideoAbuses() { + this.videoAbuseService.getVideoAbuses().subscribe( + res => this.videoAbuses = res.videoAbuses, + + err => alert(err.text) + ); + } +} diff --git a/client/src/app/admin/video-abuses/video-abuses.component.ts b/client/src/app/admin/video-abuses/video-abuses.component.ts new file mode 100644 index 000000000..001f27e87 --- /dev/null +++ b/client/src/app/admin/video-abuses/video-abuses.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + template: '' +}) + +export class VideoAbusesComponent { +} diff --git a/client/src/app/admin/video-abuses/video-abuses.routes.ts b/client/src/app/admin/video-abuses/video-abuses.routes.ts new file mode 100644 index 000000000..26a761887 --- /dev/null +++ b/client/src/app/admin/video-abuses/video-abuses.routes.ts @@ -0,0 +1,28 @@ +import { Routes } from '@angular/router'; + +import { VideoAbusesComponent } from './video-abuses.component'; +import { VideoAbuseListComponent } from './video-abuse-list'; + +export const VideoAbusesRoutes: Routes = [ + { + path: 'video-abuses', + component: VideoAbusesComponent + , + children: [ + { + path: '', + redirectTo: 'list', + pathMatch: 'full' + }, + { + path: 'list', + component: VideoAbuseListComponent, + data: { + meta: { + titleSuffix: ' - Video abuses list' + } + } + } + ] + } +]; -- cgit v1.2.3