Browse Source

fix(client): resolve type errors

pull/6626/head
KenTandrian 1 week ago
parent
commit
2ac27480f1
  1. 53
      apps/client/src/app/app.component.ts

53
apps/client/src/app/app.component.ts

@ -22,6 +22,7 @@ import { Title } from '@angular/platform-browser';
import {
ActivatedRoute,
NavigationEnd,
Params,
PRIMARY_OUTLET,
Router,
RouterLink,
@ -36,10 +37,15 @@ import { filter } from 'rxjs/operators';
import { GfFooterComponent } from './components/footer/footer.component';
import { GfHeaderComponent } from './components/header/header.component';
import { GfHoldingDetailDialogComponent } from './components/holding-detail-dialog/holding-detail-dialog.component';
import { HoldingDetailDialogParams } from './components/holding-detail-dialog/interfaces/interfaces';
import { ImpersonationStorageService } from './services/impersonation-storage.service';
import { UserService } from './services/user/user.service';
export interface GfAppQueryParams extends Params {
dataSource?: DataSource;
holdingDetailDialog?: string;
symbol?: string;
}
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
imports: [GfFooterComponent, GfHeaderComponent, RouterLink, RouterOutlet],
@ -48,10 +54,6 @@ import { UserService } from './services/user/user.service';
templateUrl: './app.component.html'
})
export class GfAppComponent implements OnInit {
@HostBinding('class.has-info-message') get getHasMessage() {
return this.hasInfoMessage;
}
public canCreateAccount: boolean;
public currentRoute: string;
public currentSubRoute: string;
@ -66,7 +68,7 @@ export class GfAppComponent implements OnInit {
public pageTitle: string;
public routerLinkRegister = publicRoutes.register.routerLink;
public showFooter = false;
public user: User;
public user: User | undefined;
public constructor(
private changeDetectorRef: ChangeDetectorRef,
@ -87,15 +89,12 @@ export class GfAppComponent implements OnInit {
this.route.queryParams
.pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((params) => {
if (
params['dataSource'] &&
params['holdingDetailDialog'] &&
params['symbol']
) {
.subscribe((params: GfAppQueryParams) => {
const { dataSource, holdingDetailDialog, symbol } = params;
if (dataSource && holdingDetailDialog && symbol) {
this.openHoldingDetailDialog({
dataSource: params['dataSource'],
symbol: params['symbol']
dataSource,
symbol
});
}
});
@ -103,6 +102,10 @@ export class GfAppComponent implements OnInit {
addIcons({ openOutline });
}
@HostBinding('class.has-info-message') get getHasMessage() {
return this.hasInfoMessage;
}
public ngOnInit() {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
this.info = this.dataService.fetchInfo();
@ -128,7 +131,7 @@ export class GfAppComponent implements OnInit {
!this.currentSubRoute) ||
(this.currentRoute === internalRoutes.home.path &&
this.currentSubRoute ===
internalRoutes.home.subRoutes.holdings.path) ||
internalRoutes.home.subRoutes?.holdings.path) ||
(this.currentRoute === internalRoutes.portfolio.path &&
!this.currentSubRoute)) &&
this.user?.settings?.viewMode !== 'ZEN'
@ -223,11 +226,16 @@ export class GfAppComponent implements OnInit {
}
public onClickSystemMessage() {
if (this.user.systemMessage.routerLink) {
this.router.navigate(this.user.systemMessage.routerLink);
const systemMessage = this.user?.systemMessage;
if (!systemMessage) {
return;
}
if (systemMessage.routerLink) {
void this.router.navigate(systemMessage.routerLink);
} else {
this.notificationService.alert({
title: this.user.systemMessage.message
title: systemMessage.message
});
}
}
@ -269,10 +277,7 @@ export class GfAppComponent implements OnInit {
.subscribe((user) => {
this.user = user;
const dialogRef = this.dialog.open<
GfHoldingDetailDialogComponent,
HoldingDetailDialogParams
>(GfHoldingDetailDialogComponent, {
const dialogRef = this.dialog.open(GfHoldingDetailDialogComponent, {
autoFocus: false,
data: {
dataSource,
@ -313,7 +318,7 @@ export class GfAppComponent implements OnInit {
.afterClosed()
.pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.router.navigate([], {
void this.router.navigate([], {
queryParams: {
dataSource: null,
holdingDetailDialog: null,
@ -339,6 +344,6 @@ export class GfAppComponent implements OnInit {
this.document
.querySelector('meta[name="theme-color"]')
.setAttribute('content', themeColor);
?.setAttribute('content', themeColor);
}
}

Loading…
Cancel
Save