]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Add loader gif when loading the video
authorChocobozzz <florian.bigard@gmail.com>
Fri, 29 Apr 2016 12:18:14 +0000 (14:18 +0200)
committerChocobozzz <florian.bigard@gmail.com>
Fri, 29 Apr 2016 12:18:14 +0000 (14:18 +0200)
client/angular/videos/components/watch/videos-watch.component.html
client/angular/videos/components/watch/videos-watch.component.scss
client/angular/videos/components/watch/videos-watch.component.ts
package.json

index 1ec0b1e1954e7b7a4b650a5bae6afcedbcc41bf9..f2a50eccd2c3f306b1df2419a71df3ced6501d37 100644 (file)
@@ -1,5 +1,11 @@
+<!-- Loader -->
+<div id="video-loading" class="col-md-12 text-center" *ngIf="loading">
+  <div class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></div>
+</div>
+
 <div class="embed-responsive embed-responsive-19by9">
 </div>
+
 <div id="torrent-info">
   <div>Download: {{ downloadSpeed | bytes }}/s</div>
   <div>Upload: {{ uploadSpeed | bytes }}/s</div>
index 27f34b33d3118c6484f9b6d6b120eaf85a02cdf9..b6c2fc05036c57b7caa577fb1a0b08c2ff9a1aea 100644 (file)
@@ -1,3 +1,30 @@
 .embed-responsive {
   height: 100%;
 }
+
+#video-loading {
+  margin-top: 150px;
+}
+
+// Thanks https://gist.github.com/alexandrevicenzi/680147013e902a4eaa5d
+.glyphicon-refresh-animate {
+    -animation: spin .7s infinite linear;
+    -ms-animation: spin .7s infinite linear;
+    -webkit-animation: spinw .7s infinite linear;
+    -moz-animation: spinm .7s infinite linear;
+}
+
+@keyframes spin {
+    from { transform: scale(1) rotate(0deg);}
+    to { transform: scale(1) rotate(360deg);}
+}
+
+@-webkit-keyframes spinw {
+    from { -webkit-transform: rotate(0deg);}
+    to { -webkit-transform: rotate(360deg);}
+}
+
+@-moz-keyframes spinm {
+    from { -moz-transform: rotate(0deg);}
+    to { -moz-transform: rotate(360deg);}
+}
index d2203727e462e59d5394ae85f717b708d20c947c..52c31fe325fc90a568fae02bb62aa063430d58af 100644 (file)
@@ -20,6 +20,7 @@ export class VideosWatchComponent implements OnInit, CanDeactivate {
   downloadSpeed: number;
   uploadSpeed: number;
   numPeers: number;
+  loading: boolean = false;
 
   private _interval: number;
   private client: any;
@@ -42,9 +43,11 @@ export class VideosWatchComponent implements OnInit, CanDeactivate {
   }
 
   loadVideo(video: Video) {
+    this.loading = true;
     this.video = video;
     console.log('Adding ' + this.video.magnetUri + '.');
     this.client.add(this.video.magnetUri, (torrent) => {
+      this.loading = false;
       console.log('Added ' + this.video.magnetUri + '.');
       torrent.files[0].appendTo(this._elementRef.nativeElement.querySelector('.embed-responsive'), (err) => {
         if (err) {
index 42acf1b904a33c08f227ea77b9ecc8b79516b269..a9d053f6e39bcc44a46ad4dcbbada6509f65a20a 100644 (file)
@@ -20,7 +20,7 @@
     "build": "concurrently \"npm run client:sass\" \"npm run client:tsc\"",
     "client:clean": "concurrently \"npm run client:tsc:clean\" \"npm run client:sass:clean\"",
     "client:sass:index": "npm run client:sass:index:clean && cd client && node-sass --include-path node_modules/bootstrap-sass/assets/stylesheets/ stylesheets/application.scss stylesheets/index.css",
-    "client:sass:index:watch": "cd client && node-sass -w --include-path node_modules/bootstrap-sass/assets/stylesheets/ stylesheets/application.scss stylesheets/index.css",
+    "client:sass:index:watch": "cd client && node-sass -w --include-path node_modules/bootstrap-sass/assets/stylesheets/ stylesheets/application.scss stylesheets/index.css client/angular/**/ client/angular/**/**",
     "client:sass:index:clean": "cd client && rm -f stylesheets/index.css",
     "client:sass:angular": "cd client && node-sass angular/ --output angular/",
     "client:sass:angular:watch": "cd client && node-sass -w angular/ --output angular/",