From 43a3d281fe562d5fe24feb53451b58630be3a288 Mon Sep 17 00:00:00 2001 From: aschaap <8865084+aschaap@users.noreply.github.com> Date: Tue, 6 Apr 2021 02:57:30 -0400 Subject: [PATCH] Minimal PeertubeModalService to open settings from "can be redefined..." (#3923) * Minimal PeertubeModalService to open settings from "can be redefined..." * Linter changes * Removed unused parameter, made Subject type reflect this, and formatting --- client/src/app/menu/menu.component.ts | 5 +++++ .../instance-features-table.component.html | 2 +- .../instance-features-table.component.ts | 10 +++++++++- .../src/app/shared/shared-main/peertube-modal/index.ts | 1 + .../peertube-modal/peertube-modal.service.ts | 7 +++++++ 5 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 client/src/app/shared/shared-main/peertube-modal/index.ts create mode 100644 client/src/app/shared/shared-main/peertube-modal/peertube-modal.service.ts diff --git a/client/src/app/menu/menu.component.ts b/client/src/app/menu/menu.component.ts index ed20d9c01..9b6b7cda5 100644 --- a/client/src/app/menu/menu.component.ts +++ b/client/src/app/menu/menu.component.ts @@ -10,6 +10,7 @@ import { LanguageChooserComponent } from '@app/menu/language-chooser.component' import { QuickSettingsModalComponent } from '@app/modal/quick-settings-modal.component' import { ServerConfig, UserRight, VideoConstant } from '@shared/models' import { NgbDropdown, NgbDropdownConfig } from '@ng-bootstrap/ng-bootstrap' +import { PeertubeModalService } from '@app/shared/shared-main/peertube-modal/peertube-modal.service' const logger = debug('peertube:menu:MenuComponent') @@ -54,6 +55,7 @@ export class MenuComponent implements OnInit { private hotkeysService: HotkeysService, private screenService: ScreenService, private menuService: MenuService, + private modalService: PeertubeModalService, private dropdownConfig: NgbDropdownConfig, private router: Router ) { @@ -130,6 +132,9 @@ export class MenuComponent implements OnInit { this.authService.userInformationLoaded .subscribe(() => this.buildUserLanguages()) }) + + this.modalService.openQuickSettingsSubject + .subscribe(() => this.openQuickSettings()) } isRegistrationAllowed () { diff --git a/client/src/app/shared/shared-instance/instance-features-table.component.html b/client/src/app/shared/shared-instance/instance-features-table.component.html index ce2557147..d505b6739 100644 --- a/client/src/app/shared/shared-instance/instance-features-table.component.html +++ b/client/src/app/shared/shared-instance/instance-features-table.component.html @@ -11,7 +11,7 @@
Default NSFW/sensitive videos policy
-
can be redefined by the users
+
can be redefined by the users
{{ buildNSFWLabel() }} diff --git a/client/src/app/shared/shared-instance/instance-features-table.component.ts b/client/src/app/shared/shared-instance/instance-features-table.component.ts index 0166157f9..c3b3dfdfd 100644 --- a/client/src/app/shared/shared-instance/instance-features-table.component.ts +++ b/client/src/app/shared/shared-instance/instance-features-table.component.ts @@ -1,6 +1,7 @@ import { Component, OnInit } from '@angular/core' import { ServerService } from '@app/core' import { ServerConfig } from '@shared/models' +import { PeertubeModalService } from '../shared-main/peertube-modal/peertube-modal.service' @Component({ selector: 'my-instance-features-table', @@ -11,7 +12,10 @@ export class InstanceFeaturesTableComponent implements OnInit { quotaHelpIndication = '' serverConfig: ServerConfig - constructor (private serverService: ServerService) { } + constructor ( + private serverService: ServerService, + private modalService: PeertubeModalService + ) { } get initialUserVideoQuota () { return this.serverConfig.user.videoQuota @@ -56,6 +60,10 @@ export class InstanceFeaturesTableComponent implements OnInit { return this.serverService.getServerVersionAndCommit() } + openQuickSettingsHighlight () { + this.modalService.openQuickSettingsSubject.next() + } + private getApproximateTime (seconds: number) { const hours = Math.floor(seconds / 3600) let pluralSuffix = '' diff --git a/client/src/app/shared/shared-main/peertube-modal/index.ts b/client/src/app/shared/shared-main/peertube-modal/index.ts new file mode 100644 index 000000000..d631522e4 --- /dev/null +++ b/client/src/app/shared/shared-main/peertube-modal/index.ts @@ -0,0 +1 @@ +export * from './peertube-modal.service' diff --git a/client/src/app/shared/shared-main/peertube-modal/peertube-modal.service.ts b/client/src/app/shared/shared-main/peertube-modal/peertube-modal.service.ts new file mode 100644 index 000000000..79da08a5c --- /dev/null +++ b/client/src/app/shared/shared-main/peertube-modal/peertube-modal.service.ts @@ -0,0 +1,7 @@ +import { Injectable } from '@angular/core' +import { Subject } from 'rxjs' + +@Injectable({ providedIn: 'root' }) +export class PeertubeModalService { + openQuickSettingsSubject = new Subject() +} -- 2.41.0