From 2a892fb139829bb65f4c0acde9456d5547c5d6d4 Mon Sep 17 00:00:00 2001 From: jliddev Date: Tue, 24 Aug 2021 12:48:44 -0500 Subject: [PATCH 01/14] Login feels decent --- wowup-electron/app/ipc-events.ts | 1 - .../components/footer/footer.component.html | 12 +-- .../app/components/footer/footer.component.ts | 8 ++ .../horizontal-tabs.component.html | 11 +++ .../horizontal-tabs.component.ts | 13 +++- .../src/app/models/wowup-api/api-responses.ts | 5 ++ .../account-page/account-page.component.html | 75 ++++++++++++++----- .../account-page/account-page.component.scss | 34 +++++++++ .../account-page/account-page.component.ts | 20 +++-- .../src/app/services/addons/addon.service.ts | 1 - .../app/services/network/network.service.ts | 12 ++- .../app/services/session/session.service.ts | 37 ++++++++- .../services/wowup-api/wowup-api.service.ts | 11 +++ .../src/app/services/wowup/wowup.service.ts | 3 +- .../src/environments/environment.dev.ts | 1 + .../src/environments/environment.prod.ts | 6 +- .../src/environments/environment.ts | 4 +- .../src/environments/environment.web.ts | 4 +- 18 files changed, 213 insertions(+), 45 deletions(-) diff --git a/wowup-electron/app/ipc-events.ts b/wowup-electron/app/ipc-events.ts index a7d0efa7..6e750bac 100644 --- a/wowup-electron/app/ipc-events.ts +++ b/wowup-electron/app/ipc-events.ts @@ -19,7 +19,6 @@ import * as pLimit from "p-limit"; import * as path from "path"; import { Transform } from "stream"; import * as yauzl from "yauzl"; -import { nanoid } from "nanoid"; import * as fs from "fs"; import { diff --git a/wowup-electron/src/app/components/footer/footer.component.html b/wowup-electron/src/app/components/footer/footer.component.html index e79c8ada..7f9d405e 100644 --- a/wowup-electron/src/app/components/footer/footer.component.html +++ b/wowup-electron/src/app/components/footer/footer.component.html @@ -7,13 +7,13 @@ matTooltip="{{ 'PAGES.MY_ADDONS.PAGE_CONTEXT_FOOTER.JOIN_DISCORD' | translate }}"> -
-
Login
-
-
- +

{{ sessionService.statusText$ | async }}

{{ sessionService.pageContextText$ | async }}

diff --git a/wowup-electron/src/app/components/footer/footer.component.ts b/wowup-electron/src/app/components/footer/footer.component.ts index 662837fc..7b597509 100644 --- a/wowup-electron/src/app/components/footer/footer.component.ts +++ b/wowup-electron/src/app/components/footer/footer.component.ts @@ -9,6 +9,7 @@ import { ConfirmDialogComponent } from "../confirm-dialog/confirm-dialog.compone import { combineLatest, from, Observable, of } from "rxjs"; import { catchError, map, switchMap } from "rxjs/operators"; import { AppUpdateState } from "../../../common/wowup/models"; +import { TAB_INDEX_ABOUT } from "../../../common/constants"; @Component({ selector: "app-footer", @@ -26,6 +27,9 @@ export class FooterComponent implements OnInit { public appUpdateState = AppUpdateState; public appUpdateState$: Observable = this.electronService.appUpdate$.pipe(map((evt) => evt.state)); + public accountDisplayName$: Observable = this.sessionService.wowUpAccount$.pipe( + map((account) => account?.displayName ?? "") + ); public appUpdateProgress$: Observable = combineLatest([ of(0), @@ -57,6 +61,10 @@ export class FooterComponent implements OnInit { this.wowUpService.checkForAppUpdate(); } + public onClickAccount(): void { + this.sessionService.selectedHomeTab = TAB_INDEX_ABOUT; + } + private portableUpdate() { const dialogRef = this._dialog.open(ConfirmDialogComponent, { data: { diff --git a/wowup-electron/src/app/components/horizontal-tabs/horizontal-tabs.component.html b/wowup-electron/src/app/components/horizontal-tabs/horizontal-tabs.component.html index 2fa1aaaa..d7c4abdc 100644 --- a/wowup-electron/src/app/components/horizontal-tabs/horizontal-tabs.component.html +++ b/wowup-electron/src/app/components/horizontal-tabs/horizontal-tabs.component.html @@ -28,6 +28,17 @@ matTooltip="{{ 'PAGES.MY_ADDONS.PAGE_CONTEXT_FOOTER.JOIN_DISCORD' | translate }}"> --> +
+ + + + +
{{ 'PAGES.HOME.ACCOUNT_TAB_TITLE' | translate }}
+
{{accountDisplayName$ | async}}
+
+
diff --git a/wowup-electron/src/app/components/horizontal-tabs/horizontal-tabs.component.ts b/wowup-electron/src/app/components/horizontal-tabs/horizontal-tabs.component.ts index abdaac30..e971f098 100644 --- a/wowup-electron/src/app/components/horizontal-tabs/horizontal-tabs.component.ts +++ b/wowup-electron/src/app/components/horizontal-tabs/horizontal-tabs.component.ts @@ -30,6 +30,13 @@ interface Tab { styleUrls: ["./horizontal-tabs.component.scss"], }) export class HorizontalTabsComponent implements OnInit { + public TAB_INDEX_ACCOUNT = TAB_INDEX_ABOUT; + + public isAccountSelected$ = this.sessionService.selectedHomeTab$.pipe(map((result) => result === TAB_INDEX_ABOUT)); + public accountDisplayName$: Observable = this.sessionService.wowUpAccount$.pipe( + map((account) => account?.displayName ?? "") + ); + private myAddonsTab: Tab = { titleKey: "PAGES.HOME.MY_ADDONS_TAB_TITLE", tooltipKey: "PAGES.HOME.MY_ADDONS_TAB_TITLE", @@ -92,7 +99,7 @@ export class HorizontalTabsComponent implements OnInit { public tabsTop: Tab[] = [this.myAddonsTab, this.getAddonsTab, this.newsTab]; - public tabsBottom: Tab[] = [this.aboutTab, this.settingsTab]; + public tabsBottom: Tab[] = [this.settingsTab]; public constructor( public electronService: ElectronService, @@ -101,4 +108,8 @@ export class HorizontalTabsComponent implements OnInit { ) {} public ngOnInit(): void {} + + public onClickTab(tabIndex: number): void { + this.sessionService.selectedHomeTab = tabIndex; + } } diff --git a/wowup-electron/src/app/models/wowup-api/api-responses.ts b/wowup-electron/src/app/models/wowup-api/api-responses.ts index 612436c4..30d67093 100644 --- a/wowup-electron/src/app/models/wowup-api/api-responses.ts +++ b/wowup-electron/src/app/models/wowup-api/api-responses.ts @@ -28,3 +28,8 @@ export interface WowUpSearchAddonsResponse { addons: WowUpAddonRepresentation[]; count: number; } + +export interface WowUpGetAccountResponse { + displayName: string; + patreonTier: string; +} diff --git a/wowup-electron/src/app/pages/account-page/account-page.component.html b/wowup-electron/src/app/pages/account-page/account-page.component.html index eec7920d..e73a51ae 100644 --- a/wowup-electron/src/app/pages/account-page/account-page.component.html +++ b/wowup-electron/src/app/pages/account-page/account-page.component.html @@ -3,33 +3,70 @@ windows: electronService.isWin, linux: electronService.isLinux }"> -
+ +