]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/menu/menu.component.ts
Merge branch 'release/4.0.0' into develop
[github/Chocobozzz/PeerTube.git] / client / src / app / menu / menu.component.ts
index fa104cc43676b449a4f9cf6d64ccbe6f48aaecb0..bcc88487856d9aff1877b2bbcd9bdeb2e992e095 100644 (file)
@@ -21,6 +21,7 @@ import { LanguageChooserComponent } from '@app/menu/language-chooser.component'
 import { QuickSettingsModalComponent } from '@app/modal/quick-settings-modal.component'
 import { PeertubeModalService } from '@app/shared/shared-main/peertube-modal/peertube-modal.service'
 import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap'
+import { PluginsManager } from '@root-helpers/plugins-manager'
 import { HTMLServerConfig, ServerConfig, UserRight, VideoConstant } from '@shared/models'
 
 const logger = debug('peertube:menu:MenuComponent')
@@ -28,7 +29,7 @@ const logger = debug('peertube:menu:MenuComponent')
 @Component({
   selector: 'my-menu',
   templateUrl: './menu.component.html',
-  styleUrls: ['./menu.component.scss']
+  styleUrls: [ './menu.component.scss' ]
 })
 export class MenuComponent implements OnInit {
   @ViewChild('languageChooserModal', { static: true }) languageChooserModal: LanguageChooserComponent
@@ -94,6 +95,7 @@ export class MenuComponent implements OnInit {
     this.htmlServerConfig = this.serverService.getHTMLConfig()
     this.currentInterfaceLanguage = this.languageChooserModal.getCurrentLanguage()
 
+    this.isLoggedIn = this.authService.isLoggedIn()
     this.updateUserState()
     this.buildMenuSections()
 
@@ -121,10 +123,22 @@ export class MenuComponent implements OnInit {
           .subscribe(() => this.buildUserLanguages())
       })
 
+    this.serverService.getConfig()
+      .subscribe(config => this.serverConfig = config)
+
     this.modalService.openQuickSettingsSubject
       .subscribe(() => this.openQuickSettings())
   }
 
+  getExternalLoginHref () {
+    if (this.serverConfig.client.menu.login.redirectOnSingleExternalAuth !== true) return undefined
+
+    const externalAuths = this.serverConfig.plugin.registeredExternalAuths
+    if (externalAuths.length !== 1) return undefined
+
+    return PluginsManager.getExternalAuthHref(externalAuths[0])
+  }
+
   isRegistrationAllowed () {
     if (!this.serverConfig) return false