-import { Component, Input, Output, EventEmitter } from '@angular/core';
+import { Component, Input, Output, EventEmitter } from '@angular/core'
-import { SortField, Video, VideoService } from '../shared';
-import { User } from '../../shared';
+import { NotificationsService } from 'angular2-notifications'
+
+import { ConfirmService, ConfigService } from '../../core'
+import { SortField, Video, VideoService } from '../shared'
+import { User } from '../../shared'
@Component({
selector: 'my-video-miniature',
})
export class VideoMiniatureComponent {
- @Output() removed = new EventEmitter<any>();
-
- @Input() currentSort: SortField;
- @Input() user: User;
- @Input() video: Video;
-
- hovering = false;
-
- constructor(private videoService: VideoService) {}
-
- displayRemoveIcon() {
- return this.hovering && this.video.isRemovableBy(this.user);
- }
-
- onBlur() {
- this.hovering = false;
- }
+ @Input() currentSort: SortField
+ @Input() user: User
+ @Input() video: Video
+
+ constructor (
+ private notificationsService: NotificationsService,
+ private confirmService: ConfirmService,
+ private configService: ConfigService,
+ private videoService: VideoService
+ ) {}
+
+ getVideoName () {
+ if (this.isVideoNSFWForThisUser()) {
+ return 'NSFW'
+ }
- onHover() {
- this.hovering = true;
+ return this.video.name
}
- removeVideo(id: string) {
- if (confirm('Do you really want to remove this video?')) {
- this.videoService.removeVideo(id).subscribe(
- status => this.removed.emit(true),
- error => alert(error.text)
- );
- }
+ isVideoNSFWForThisUser () {
+ return this.video.isVideoNSFWForUser(this.user)
}
}