diff --git a/src/app/pages/apps/components/installed-apps/app-row/app-row.component.ts b/src/app/pages/apps/components/installed-apps/app-row/app-row.component.ts index 58d590e6a2c..49e62242182 100644 --- a/src/app/pages/apps/components/installed-apps/app-row/app-row.component.ts +++ b/src/app/pages/apps/components/installed-apps/app-row/app-row.component.ts @@ -30,7 +30,6 @@ export class AppRowComponent { protected readonly imagePlaceholder = appImagePlaceholder; protected readonly requiredRoles = [Role.AppsWrite]; - readonly hasUpdates = computed(() => this.app().upgrade_available); readonly isAppStopped = computed(() => { return this.app().state === CatalogAppState.Stopped || this.app().state === CatalogAppState.Crashed; }); diff --git a/src/app/pages/apps/components/installed-apps/installed-apps.component.ts b/src/app/pages/apps/components/installed-apps/installed-apps.component.ts index a1e79a5ffcf..9336b130981 100644 --- a/src/app/pages/apps/components/installed-apps/installed-apps.component.ts +++ b/src/app/pages/apps/components/installed-apps/installed-apps.component.ts @@ -19,14 +19,12 @@ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy'; import { Store } from '@ngrx/store'; import { TranslateService } from '@ngx-translate/core'; import { - combineLatest, filter, + combineLatest, filter, finalize, Observable, } from 'rxjs'; import { CatalogAppState } from 'app/enums/catalog-app-state.enum'; import { EmptyType } from 'app/enums/empty-type.enum'; -import { JobState } from 'app/enums/job-state.enum'; import { Role } from 'app/enums/role.enum'; -import { tapOnce } from 'app/helpers/operators/tap-once.operator'; import { WINDOW } from 'app/helpers/window.helper'; import { helptextApps } from 'app/helptext/apps/apps'; import { App, AppStartQueryParams, AppStats } from 'app/interfaces/app.interface'; @@ -326,19 +324,19 @@ export class InstalledAppsComponent implements OnInit, AfterViewInit { } stop(name: string): void { + this.loader.open(this.translate.instant('Stopping "{app}"', { app: name })); this.appService.stopApplication(name) .pipe( - tapOnce(() => this.loader.open(this.translate.instant('Stopping "{app}"', { app: name }))), + finalize(() => this.loader.close()), this.errorHandler.catchError(), untilDestroyed(this), ) - .subscribe((job: Job) => { - if (job.state !== JobState.Running) { - this.loader.close(); - } - this.appJobs.set(name, job); - this.sortChanged(this.sortingInfo); - this.cdr.markForCheck(); + .subscribe({ + next: (job: Job) => { + this.appJobs.set(name, job); + this.sortChanged(this.sortingInfo); + this.cdr.markForCheck(); + }, }); } diff --git a/src/assets/i18n/es-ar.json b/src/assets/i18n/es-ar.json index 9b2582817c1..64f811a598d 100644 --- a/src/assets/i18n/es-ar.json +++ b/src/assets/i18n/es-ar.json @@ -2384,7 +2384,6 @@ "Theme": "", "There are no alerts.": "", "There are no records to show.": "", - "There are no tasks.": "", "There are {sessions} active iSCSI connections.": "", "These IP Addresses were removed: {uniqueIPs}. The listed services will be changed to listen on 0.0.0.0: {affectedServices}": "", "These disks do not support S.M.A.R.T. tests:": "", @@ -5100,4 +5099,4 @@ "zstd-5 (slow)": "zstd-5 (lento)", "zstd-7 (very slow)": "zstd-7 (muy lento)", "zstd-fast (default level, 1)": "zstd-fast (nivel rpedeterminado, 1)" -} +} \ No newline at end of file diff --git a/src/assets/i18n/ga.json b/src/assets/i18n/ga.json index 5f7abffb245..6895df57e9b 100644 --- a/src/assets/i18n/ga.json +++ b/src/assets/i18n/ga.json @@ -65,6 +65,7 @@ "Refresh Catalog": "", "Remove iX Volumes": "", "Restoring backup": "", + "Running Jobs": "", "SAVE": "", "Select the level of severity. Alert notifications send for all warnings matching and above the selected level. For example, a warning level set to Critical triggers notifications for Critical, Alert, and Emergency level warnings.": "", "Specifies level of authentication and cryptographic protection. SYS or none should be used if no KDC is available. If a KDC is available, e.g. Active Directory, KRB5 is recommended. If desired KRB5I (integrity protection) and/or KRB5P (privacy protection) may be included with KRB5.": "", @@ -5098,4 +5099,4 @@ "{used} of {total} ({used_pct})": "{used} de {total} ({used_pct})", "{version} is available!": "Tá {version} ar fáil!", "{view} on {enclosure}": "{view} ar {enclosure}" -} +} \ No newline at end of file