X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fheader%2Fheader.component.ts;h=cce76b0d1272c82eb72ae8349b9835d1ea4c693b;hb=01283e2066314aaa167a2b0b55952b2ae26e650a;hp=5805356691ec261bf1f423ad97cf36140cb14239;hpb=333952bc6478358ef6979b35d8dc215283b4717e;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/header/header.component.ts b/client/src/app/header/header.component.ts index 580535669..cce76b0d1 100644 --- a/client/src/app/header/header.component.ts +++ b/client/src/app/header/header.component.ts @@ -1,10 +1,4 @@ -import { filter, first, map, tap } from 'rxjs/operators' -import { Component, OnInit } from '@angular/core' -import { ActivatedRoute, NavigationEnd, Params, Router } from '@angular/router' -import { getParameterByName } from '../shared/misc/utils' -import { AuthService, ServerService, Notifier } from '@app/core' -import { of } from 'rxjs' -import { ServerConfig } from '@shared/models' +import { Component } from '@angular/core' @Component({ selector: 'my-header', @@ -12,78 +6,4 @@ import { ServerConfig } from '@shared/models' styleUrls: [ './header.component.scss' ] }) -export class HeaderComponent implements OnInit { - searchValue = '' - - private serverConfig: ServerConfig - - constructor ( - private router: Router, - private route: ActivatedRoute, - private auth: AuthService, - private serverService: ServerService, - private authService: AuthService, - private notifier: Notifier - ) {} - - ngOnInit () { - this.router.events - .pipe( - filter(e => e instanceof NavigationEnd), - map(() => getParameterByName('search', window.location.href)) - ) - .subscribe(searchQuery => this.searchValue = searchQuery || '') - - this.serverConfig = this.serverService.getTmpConfig() - this.serverService.getConfig().subscribe( - config => this.serverConfig = config, - - err => this.notifier.error(err.message) - ) - } - - get routerLink () { - if (this.isUserLoggedIn()) { - return [ '/videos/upload' ] - } else if (this.isRegistrationAllowed()) { - return [ '/signup' ] - } else { - return [ '/login', { fromUpload: true } ] - } - } - - doSearch () { - const queryParams: Params = {} - - if (window.location.pathname === '/search' && this.route.snapshot.queryParams) { - Object.assign(queryParams, this.route.snapshot.queryParams) - } - - Object.assign(queryParams, { search: this.searchValue }) - - const o = this.auth.isLoggedIn() - ? this.loadUserLanguagesIfNeeded(queryParams) - : of(true) - - o.subscribe(() => this.router.navigate([ '/search' ], { queryParams })) - } - - isUserLoggedIn () { - return this.authService.isLoggedIn() - } - - isRegistrationAllowed () { - return this.serverConfig.signup.allowed && - this.serverConfig.signup.allowedForCurrentIP - } - - private loadUserLanguagesIfNeeded (queryParams: any) { - if (queryParams && queryParams.languageOneOf) return of(queryParams) - - return this.auth.userInformationLoaded - .pipe( - first(), - tap(() => Object.assign(queryParams, { languageOneOf: this.auth.getUser().videoLanguages })) - ) - } -} +export class HeaderComponent {}