Client: switch to @nglibs/meta
authorChocobozzz <florian.bigard@gmail.com>
Fri, 10 Mar 2017 09:33:36 +0000 (10:33 +0100)
committerChocobozzz <florian.bigard@gmail.com>
Fri, 10 Mar 2017 09:33:36 +0000 (10:33 +0100)
client/package.json
client/src/app/app.component.ts
client/src/app/app.module.ts
client/src/app/videos/video-watch/video-watch.component.ts
client/src/index.html

index 41189231f802a9f47930062eeafd0cfa3f1bf7f9..f882e157fca10a9c01e9cc1329ef987641b9eb36 100644 (file)
@@ -29,6 +29,7 @@
     "@angular/router": "~3.4.1",
     "@angularclass/hmr": "^1.2.0",
     "@angularclass/hmr-loader": "^3.0.2",
+    "@nglibs/meta": "^0.2.0-rc.3",
     "@types/core-js": "^0.9.28",
     "@types/node": "^6.0.38",
     "@types/source-map": "^0.1.26",
@@ -56,7 +57,6 @@
     "ng-router-loader": "^1.0.2",
     "ng2-bootstrap": "1.1.16-10",
     "ng2-file-upload": "^1.1.4-2",
-    "ng2-meta": "https://github.com/chocobozzz/ng2-meta#build",
     "ng2-smart-table": "0.5.2-1",
     "ngc-webpack": "1.1.0",
     "node-sass": "^4.1.1",
index 47d2bfdd2e32bc11480b2350230d13e8bceaf927..8b4b4118b302ec35444322629e219261a9b79ca7 100644 (file)
@@ -1,8 +1,6 @@
 import { Component, OnInit, ViewContainerRef } from '@angular/core';
 import { Router } from '@angular/router';
 
-import { MetaService } from 'ng2-meta';
-
 import { AuthService } from './core';
 import { UserService } from './shared';
 
@@ -27,7 +25,6 @@ export class AppComponent implements OnInit {
 
   constructor(
     private router: Router,
-    private metaService: MetaService,
     private authService: AuthService,
     private userService: UserService,
     viewContainerRef: ViewContainerRef
index 482a9b5b7d85c223767d8f64f1dbbdbcd9460b6c..02da38b38c93b28093ea21297c5e538e2dbb407a 100644 (file)
@@ -2,7 +2,7 @@ import { ApplicationRef, NgModule } from '@angular/core';
 import { BrowserModule } from '@angular/platform-browser';
 import { removeNgStyles, createNewHosts } from '@angularclass/hmr';
 
-import { MetaModule, MetaConfig } from 'ng2-meta';
+import { MetaModule, MetaLoader, MetaStaticLoader, PageTitlePositioning } from '@nglibs/meta';
 import 'bootstrap-loader';
 
 import { ENV_PROVIDERS } from './environment';
@@ -16,14 +16,17 @@ import { LoginModule } from './login';
 import { SharedModule } from './shared';
 import { VideosModule } from './videos';
 
-const metaConfig: MetaConfig = {
-  //Append a title suffix such as a site name to all titles
-  //Defaults to false
-  useTitleSuffix: true,
-  defaults: {
-    title: 'PeerTube'
-  }
-};
+export function metaFactory(): MetaLoader {
+  return new MetaStaticLoader({
+    pageTitlePositioning: PageTitlePositioning.PrependPageTitle,
+    pageTitleSeparator: ' - ',
+    applicationName: 'PeerTube',
+    defaults: {
+      title: 'PeerTube',
+      description: 'PeerTube, a decentralized video streaming platform using P2P (BitTorrent) directly in the web browser'
+    }
+  });
+}
 
 // Application wide providers
 const APP_PROVIDERS = [
@@ -43,7 +46,10 @@ const APP_PROVIDERS = [
 
     AppRoutingModule,
 
-    MetaModule.forRoot(metaConfig),
+    MetaModule.forRoot({
+      provide: MetaLoader,
+      useFactory: (metaFactory)
+    }),
 
     AccountModule,
     CoreModule,
index ed6b301024d3c00b18143a906952ea1ffa06b8a5..5678f6df82dcca01d604cc8a3c7c3251dc7fa4d8 100644 (file)
@@ -3,7 +3,7 @@ import { ActivatedRoute } from '@angular/router';
 import { Subscription } from 'rxjs/Subscription';
 
 import * as videojs from 'video.js';
-import { MetaService } from 'ng2-meta';
+import { MetaService } from '@nglibs/meta';
 import { NotificationsService } from 'angular2-notifications';
 
 import { AuthService } from '../../core';
@@ -228,6 +228,8 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
   }
 
   private setOpenGraphTags() {
+    this.metaService.setTitle(this.video.name);
+
     this.metaService.setTag('og:type', 'video');
 
     this.metaService.setTag('og:title', this.video.name);
index aa7a6035d7f8aa28b51614bb81b54b9d5a80b285..07658bbb7481407e643428fcb4041d4043d8a8e0 100644 (file)
@@ -5,6 +5,7 @@
 
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="description" content="PeerTube, a decentralized video streaming platform using P2P (BitTorrent) directly in the web browser" />
 
     <!-- The following comment is used by the server to prerender OpenGraph tags -->
     <!-- opengraph tags -->