diff options
Diffstat (limited to 'client')
4 files changed, 17 insertions, 4 deletions
diff --git a/client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html b/client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html index 82a965313..9cbec03a1 100644 --- a/client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html +++ b/client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html | |||
@@ -23,7 +23,7 @@ | |||
23 | </a> | 23 | </a> |
24 | 24 | ||
25 | <div class="buttons"> | 25 | <div class="buttons"> |
26 | <my-edit-button *ngIf="pluginType !== PluginType.THEME" [routerLink]="getShowRouterLink(plugin)" label="Settings" i18n-label></my-edit-button> | 26 | <my-edit-button *ngIf="!isTheme(plugin)" [routerLink]="getShowRouterLink(plugin)" label="Settings" i18n-label></my-edit-button> |
27 | 27 | ||
28 | <my-button class="update-button" *ngIf="isUpdateAvailable(plugin)" (click)="update(plugin)" [loading]="isUpdating(plugin)" | 28 | <my-button class="update-button" *ngIf="isUpdateAvailable(plugin)" (click)="update(plugin)" [loading]="isUpdating(plugin)" |
29 | [label]="getUpdateLabel(plugin)" icon="refresh" [attr.disabled]="isUpdating(plugin)" | 29 | [label]="getUpdateLabel(plugin)" icon="refresh" [attr.disabled]="isUpdating(plugin)" |
diff --git a/client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts b/client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts index cbdc379a8..1a95980ae 100644 --- a/client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts +++ b/client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts | |||
@@ -31,8 +31,6 @@ export class PluginListInstalledComponent implements OnInit { | |||
31 | plugins: PeerTubePlugin[] = [] | 31 | plugins: PeerTubePlugin[] = [] |
32 | updating: { [name: string]: boolean } = {} | 32 | updating: { [name: string]: boolean } = {} |
33 | 33 | ||
34 | PluginType = PluginType | ||
35 | |||
36 | onDataSubject = new Subject<any[]>() | 34 | onDataSubject = new Subject<any[]>() |
37 | 35 | ||
38 | constructor ( | 36 | constructor ( |
@@ -104,6 +102,10 @@ export class PluginListInstalledComponent implements OnInit { | |||
104 | return !!this.updating[this.getUpdatingKey(plugin)] | 102 | return !!this.updating[this.getUpdatingKey(plugin)] |
105 | } | 103 | } |
106 | 104 | ||
105 | isTheme (plugin: PeerTubePlugin) { | ||
106 | return plugin.type === PluginType.THEME | ||
107 | } | ||
108 | |||
107 | async uninstall (plugin: PeerTubePlugin) { | 109 | async uninstall (plugin: PeerTubePlugin) { |
108 | const res = await this.confirmService.confirm( | 110 | const res = await this.confirmService.confirm( |
109 | $localize`Do you really want to uninstall ${plugin.name}?`, | 111 | $localize`Do you really want to uninstall ${plugin.name}?`, |
diff --git a/client/src/app/+admin/plugins/plugin-search/plugin-search.component.html b/client/src/app/+admin/plugins/plugin-search/plugin-search.component.html index 8edf03a89..727633399 100644 --- a/client/src/app/+admin/plugins/plugin-search/plugin-search.component.html +++ b/client/src/app/+admin/plugins/plugin-search/plugin-search.component.html | |||
@@ -48,6 +48,8 @@ | |||
48 | <span *ngIf="plugin.installed" class="badge badge-success">Installed</span> | 48 | <span *ngIf="plugin.installed" class="badge badge-success">Installed</span> |
49 | 49 | ||
50 | <div class="buttons"> | 50 | <div class="buttons"> |
51 | <my-edit-button *ngIf="plugin.installed === true && !isThemeSearch()" [routerLink]="getShowRouterLink(plugin)" label="Settings" i18n-label></my-edit-button> | ||
52 | |||
51 | <my-button class="update-button" *ngIf="plugin.installed === false" (click)="install(plugin)" [loading]="isInstalling(plugin)" | 53 | <my-button class="update-button" *ngIf="plugin.installed === false" (click)="install(plugin)" [loading]="isInstalling(plugin)" |
52 | label="Install" icon="cloud-download" [attr.disabled]="isInstalling(plugin)" | 54 | label="Install" icon="cloud-download" [attr.disabled]="isInstalling(plugin)" |
53 | ></my-button> | 55 | ></my-button> |
diff --git a/client/src/app/+admin/plugins/plugin-search/plugin-search.component.ts b/client/src/app/+admin/plugins/plugin-search/plugin-search.component.ts index 4c571dee4..d2c179aba 100644 --- a/client/src/app/+admin/plugins/plugin-search/plugin-search.component.ts +++ b/client/src/app/+admin/plugins/plugin-search/plugin-search.component.ts | |||
@@ -3,7 +3,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators' | |||
3 | import { Component, OnInit } from '@angular/core' | 3 | import { Component, OnInit } from '@angular/core' |
4 | import { ActivatedRoute, Router } from '@angular/router' | 4 | import { ActivatedRoute, Router } from '@angular/router' |
5 | import { PluginApiService } from '@app/+admin/plugins/shared/plugin-api.service' | 5 | import { PluginApiService } from '@app/+admin/plugins/shared/plugin-api.service' |
6 | import { ComponentPagination, ConfirmService, hasMoreItems, Notifier } from '@app/core' | 6 | import { ComponentPagination, ConfirmService, hasMoreItems, Notifier, PluginService } from '@app/core' |
7 | import { PeerTubePluginIndex } from '@shared/models/plugins/peertube-plugin-index.model' | 7 | import { PeerTubePluginIndex } from '@shared/models/plugins/peertube-plugin-index.model' |
8 | import { PluginType } from '@shared/models/plugins/plugin.type' | 8 | import { PluginType } from '@shared/models/plugins/plugin.type' |
9 | 9 | ||
@@ -39,6 +39,7 @@ export class PluginSearchComponent implements OnInit { | |||
39 | private searchSubject = new Subject<string>() | 39 | private searchSubject = new Subject<string>() |
40 | 40 | ||
41 | constructor ( | 41 | constructor ( |
42 | private pluginService: PluginService, | ||
42 | private pluginApiService: PluginApiService, | 43 | private pluginApiService: PluginApiService, |
43 | private notifier: Notifier, | 44 | private notifier: Notifier, |
44 | private confirmService: ConfirmService, | 45 | private confirmService: ConfirmService, |
@@ -119,6 +120,14 @@ export class PluginSearchComponent implements OnInit { | |||
119 | return this.pluginApiService.getPluginOrThemeHref(this.pluginType, name) | 120 | return this.pluginApiService.getPluginOrThemeHref(this.pluginType, name) |
120 | } | 121 | } |
121 | 122 | ||
123 | getShowRouterLink (plugin: PeerTubePluginIndex) { | ||
124 | return [ '/admin', 'plugins', 'show', this.pluginService.nameToNpmName(plugin.name, this.pluginType) ] | ||
125 | } | ||
126 | |||
127 | isThemeSearch () { | ||
128 | return this.pluginType === PluginType.THEME | ||
129 | } | ||
130 | |||
122 | async install (plugin: PeerTubePluginIndex) { | 131 | async install (plugin: PeerTubePluginIndex) { |
123 | if (this.installing[plugin.npmName]) return | 132 | if (this.installing[plugin.npmName]) return |
124 | 133 | ||