special display case for logged-out users to display download in watch page

This commit is contained in:
Rigel Kent 2020-08-03 21:06:45 +02:00 committed by Rigel Kent
parent 9a42363291
commit 6863f814b0
2 changed files with 27 additions and 4 deletions

View File

@ -108,10 +108,23 @@
</div>
</div>
<my-video-actions-dropdown
placement="bottom auto" buttonDirection="horizontal" [buttonStyled]="true" [video]="video" [videoCaptions]="videoCaptions"
(videoRemoved)="onVideoRemoved()" (modalOpened)="onModalOpened()"
></my-video-actions-dropdown>
<ng-container *ngIf="!isUserLoggedIn()">
<button
*ngIf="isVideoDownloadable()" class="action-button action-button-save"
(click)="showDownloadModal()" (keydown.enter)="showDownloadModal()"
>
<my-global-icon iconName="download" aria-hidden="true"></my-global-icon>
<span class="icon-text d-none d-sm-inline" i18n>DOWNLOAD</span>
</button>
<my-video-download #videoDownloadModal></my-video-download>
</ng-container>
<ng-container *ngIf="isUserLoggedIn()">
<my-video-actions-dropdown
placement="bottom auto" buttonDirection="horizontal" [buttonStyled]="true" [video]="video" [videoCaptions]="videoCaptions"
(videoRemoved)="onVideoRemoved()" (modalOpened)="onModalOpened()"
></my-video-actions-dropdown>
</ng-container>
</div>
<div class="video-info-likes-dislikes-bar-outer-container">

View File

@ -28,6 +28,7 @@ import { environment } from '../../../environments/environment'
import { VideoShareComponent } from './modal/video-share.component'
import { VideoSupportComponent } from './modal/video-support.component'
import { VideoWatchPlaylistComponent } from './video-watch-playlist.component'
import { VideoDownloadComponent } from '@app/shared/shared-video-miniature'
@Component({
selector: 'my-video-watch',
@ -41,6 +42,7 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
@ViewChild('videoShareModal') videoShareModal: VideoShareComponent
@ViewChild('videoSupportModal') videoSupportModal: VideoSupportComponent
@ViewChild('subscribeButton') subscribeButton: SubscribeButtonComponent
@ViewChild('videoDownloadModal') videoDownloadModal: VideoDownloadComponent
player: any
playerElement: HTMLVideoElement
@ -201,6 +203,14 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
this.completeDescriptionShown = false
}
showDownloadModal () {
this.videoDownloadModal.show(this.video, this.videoCaptions)
}
isVideoDownloadable () {
return this.video && this.video instanceof VideoDetails && this.video.downloadEnabled
}
loadCompleteDescription () {
this.descriptionLoading = true