</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">
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',
@ViewChild('videoShareModal') videoShareModal: VideoShareComponent
@ViewChild('videoSupportModal') videoSupportModal: VideoSupportComponent
@ViewChild('subscribeButton') subscribeButton: SubscribeButtonComponent
+ @ViewChild('videoDownloadModal') videoDownloadModal: VideoDownloadComponent
player: any
playerElement: HTMLVideoElement
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