Browse Source

Extend markets

pull/5076/head
Thomas Kaul 2 months ago
parent
commit
c496851ecb
  1. 1
      apps/api/src/app/user/user.service.ts
  2. 1
      apps/client/src/app/components/markets/markets.component.ts
  3. 4
      apps/client/src/app/pages/home/home-page-routing.module.ts
  4. 25
      apps/client/src/app/pages/home/home-page.component.ts
  5. 1
      libs/common/src/lib/permissions.ts
  6. 5
      libs/common/src/lib/routes/routes.ts

1
apps/api/src/app/user/user.service.ts

@ -419,6 +419,7 @@ export class UserService {
if (!hasRole(user, Role.DEMO)) {
currentPermissions.push(permissions.createApiKey);
currentPermissions.push(permissions.enableDataProviderGhostfolio);
currentPermissions.push(permissions.readMarketDataOfMarkets);
currentPermissions.push(permissions.reportDataGlitch);
}

1
apps/client/src/app/components/markets/markets.component.ts

@ -125,7 +125,6 @@ export class MarketsComponent implements OnDestroy, OnInit {
];
}
// TODO
public onChangeFearAndGreedIndexMode(
aFearAndGreedIndexMode: FearAndGreedIndexMode
) {

4
apps/client/src/app/pages/home/home-page-routing.module.ts

@ -36,9 +36,9 @@ const routes: Routes = [
title: internalRoutes.home.subRoutes.markets.title
},
{
path: internalRoutes.home.subRoutes.markets.path + '-new', // TODO
path: internalRoutes.home.subRoutes.marketsPremium.path,
component: MarketsComponent,
title: internalRoutes.home.subRoutes.markets.title
title: internalRoutes.home.subRoutes.marketsPremium.title
},
{
path: internalRoutes.home.subRoutes.watchlist.path,

25
apps/client/src/app/pages/home/home-page.component.ts

@ -1,6 +1,7 @@
import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service';
import { UserService } from '@ghostfolio/client/services/user/user.service';
import { TabConfiguration, User } from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { internalRoutes } from '@ghostfolio/common/routes/routes';
import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
@ -33,6 +34,8 @@ export class HomePageComponent implements OnDestroy, OnInit {
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
this.tabs = [
{
iconName: 'analytics-outline',
@ -56,18 +59,22 @@ export class HomePageComponent implements OnDestroy, OnInit {
},
{
iconName: 'newspaper-outline',
label: internalRoutes.home.subRoutes.markets.title,
routerLink: internalRoutes.home.subRoutes.markets.routerLink
},
{
iconName: 'newspaper-outline',
label: internalRoutes.home.subRoutes.markets.title + ' (new)',
routerLink: ['/home', 'markets-new'] // TODO
label: hasPermission(
this.user?.permissions,
permissions.readMarketDataOfMarkets
)
? internalRoutes.home.subRoutes.marketsPremium.title
: internalRoutes.home.subRoutes.markets.title,
routerLink: hasPermission(
this.user?.permissions,
permissions.readMarketDataOfMarkets
)
? internalRoutes.home.subRoutes.marketsPremium.routerLink
: internalRoutes.home.subRoutes.markets.routerLink
}
];
this.user = state.user;
this.changeDetectorRef.markForCheck();
}
});

1
libs/common/src/lib/permissions.ts

@ -88,7 +88,6 @@ export function getPermissions(aRole: Role): string[] {
permissions.deleteUser,
permissions.readAiPrompt,
permissions.readMarketData,
permissions.readMarketDataOfMarkets,
permissions.readMarketDataOfOwnAssetProfile,
permissions.readPlatforms,
permissions.readTags,

5
libs/common/src/lib/routes/routes.ts

@ -94,6 +94,11 @@ export const internalRoutes: Record<string, InternalRoute> = {
routerLink: ['/home', 'markets'],
title: $localize`Markets`
},
marketsPremium: {
path: 'markets-premium',
routerLink: ['/home', 'markets-premium'],
title: $localize`Markets`
},
summary: {
path: 'summary',
routerLink: ['/home', 'summary'],

Loading…
Cancel
Save