From 3154f38219ea6eb55532f38fee43d46821a020ee Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 4 Nov 2016 16:23:18 +0100 Subject: [PATCH] Client: allow to copy magnet uri --- client/.bootstraprc | 4 ++-- client/src/app/app.component.ts | 13 ++++++++----- client/src/app/app.module.ts | 2 ++ .../video-watch/video-watch.component.html | 19 ++++++++++++++++++- .../video-watch/video-watch.component.ts | 14 +++++++++++++- 5 files changed, 43 insertions(+), 9 deletions(-) diff --git a/client/.bootstraprc b/client/.bootstraprc index dd6c2128c..b7468b2fe 100644 --- a/client/.bootstraprc +++ b/client/.bootstraprc @@ -97,10 +97,10 @@ styles: panels: false wells: false responsive-embed: true - close: false + close: true # Components w/ JavaScript - modals: false + modals: true tooltip: false popovers: false carousel: false diff --git a/client/src/app/app.component.ts b/client/src/app/app.component.ts index d6b83c684..01d3f5deb 100644 --- a/client/src/app/app.component.ts +++ b/client/src/app/app.component.ts @@ -1,14 +1,17 @@ -import { Component } from '@angular/core'; +import { Component, ViewContainerRef } from '@angular/core'; import { Router } from '@angular/router'; @Component({ - selector: 'my-app', - templateUrl: './app.component.html', - styleUrls: [ './app.component.scss' ] + selector: 'my-app', + templateUrl: './app.component.html', + styleUrls: [ './app.component.scss' ] }) export class AppComponent { - constructor(private router: Router) {} + constructor( + private router: Router, + viewContainerRef: ViewContainerRef + ) {} isInAdmin() { return this.router.url.indexOf('/admin/') !== -1; diff --git a/client/src/app/app.module.ts b/client/src/app/app.module.ts index 80734f7a2..939af6309 100644 --- a/client/src/app/app.module.ts +++ b/client/src/app/app.module.ts @@ -9,6 +9,7 @@ import { BytesPipe } from 'angular-pipes/src/math/bytes.pipe'; import { DropdownModule } from 'ng2-bootstrap/components/dropdown'; import { ProgressbarModule } from 'ng2-bootstrap/components/progressbar'; import { PaginationModule } from 'ng2-bootstrap/components/pagination'; +import { ModalModule } from 'ng2-bootstrap/components/modal'; import { FileUploadModule } from 'ng2-file-upload/ng2-file-upload'; /* @@ -115,6 +116,7 @@ const APP_PROVIDERS = [ DropdownModule, ProgressbarModule, PaginationModule, + ModalModule, FileUploadModule ], providers: [ // expose our Services and Providers into Angular's dependency injection diff --git a/client/src/app/videos/video-watch/video-watch.component.html b/client/src/app/videos/video-watch/video-watch.component.html index 14947da88..d75ed3538 100644 --- a/client/src/app/videos/video-watch/video-watch.component.html +++ b/client/src/app/videos/video-watch/video-watch.component.html @@ -50,7 +50,7 @@
-
@@ -72,3 +72,20 @@ + diff --git a/client/src/app/videos/video-watch/video-watch.component.ts b/client/src/app/videos/video-watch/video-watch.component.ts index 9a36c17e2..736ca7d5a 100644 --- a/client/src/app/videos/video-watch/video-watch.component.ts +++ b/client/src/app/videos/video-watch/video-watch.component.ts @@ -1,6 +1,8 @@ -import { Component, ElementRef, NgZone, OnDestroy, OnInit } from '@angular/core'; +import { Component, ElementRef, NgZone, OnDestroy, OnInit, ViewChild } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; +import { ModalDirective } from 'ng2-bootstrap/components/modal'; + import { Video, VideoService } from '../shared'; import { WebTorrentService } from './webtorrent.service'; @@ -13,6 +15,8 @@ import { WebTorrentService } from './webtorrent.service'; export class VideoWatchComponent implements OnInit, OnDestroy { private static LOADTIME_TOO_LONG: number = 30000; + @ViewChild('magnetUriModal') magnetUriModal: ModalDirective; + downloadSpeed: number; error: boolean = false; loading: boolean = false; @@ -87,6 +91,14 @@ export class VideoWatchComponent implements OnInit, OnDestroy { }); } + showMagnetUriModal() { + this.magnetUriModal.show(); + } + + hideMagnetUriModal() { + this.magnetUriModal.hide(); + } + private loadTooLong() { this.error = true; console.error('The video load seems to be abnormally long.');