Browse Source

Introduce portfolio group, remove tools

pull/259/head
Thomas 4 years ago
parent
commit
28c43a0254
  1. 48
      apps/client/src/app/app-routing.module.ts
  2. 35
      apps/client/src/app/components/header/header.component.html
  3. 2
      apps/client/src/app/components/no-transactions-info/no-transactions-info.component.html
  4. 0
      apps/client/src/app/pages/portfolio/analysis/analysis-page-routing.module.ts
  5. 0
      apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
  6. 0
      apps/client/src/app/pages/portfolio/analysis/analysis-page.html
  7. 0
      apps/client/src/app/pages/portfolio/analysis/analysis-page.module.ts
  8. 0
      apps/client/src/app/pages/portfolio/analysis/analysis-page.scss
  9. 6
      apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts
  10. 18
      apps/client/src/app/pages/portfolio/portfolio-page.component.ts
  11. 74
      apps/client/src/app/pages/portfolio/portfolio-page.html
  12. 12
      apps/client/src/app/pages/portfolio/portfolio-page.module.ts
  13. 0
      apps/client/src/app/pages/portfolio/portfolio-page.scss
  14. 0
      apps/client/src/app/pages/portfolio/report/report-page-routing.module.ts
  15. 0
      apps/client/src/app/pages/portfolio/report/report-page.component.ts
  16. 0
      apps/client/src/app/pages/portfolio/report/report-page.html
  17. 0
      apps/client/src/app/pages/portfolio/report/report-page.module.ts
  18. 0
      apps/client/src/app/pages/portfolio/report/report-page.scss
  19. 2
      apps/client/src/app/pages/portfolio/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.component.ts
  20. 0
      apps/client/src/app/pages/portfolio/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.html
  21. 0
      apps/client/src/app/pages/portfolio/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.module.ts
  22. 0
      apps/client/src/app/pages/portfolio/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.scss
  23. 0
      apps/client/src/app/pages/portfolio/transactions/create-or-update-transaction-dialog/interfaces/interfaces.ts
  24. 0
      apps/client/src/app/pages/portfolio/transactions/transactions-page-routing.module.ts
  25. 0
      apps/client/src/app/pages/portfolio/transactions/transactions-page.component.ts
  26. 0
      apps/client/src/app/pages/portfolio/transactions/transactions-page.html
  27. 0
      apps/client/src/app/pages/portfolio/transactions/transactions-page.module.ts
  28. 0
      apps/client/src/app/pages/portfolio/transactions/transactions-page.scss
  29. 21
      apps/client/src/app/pages/tools/tools-page.component.ts
  30. 43
      apps/client/src/app/pages/tools/tools-page.html

48
apps/client/src/app/app-routing.module.ts

@ -53,57 +53,59 @@ const routes: Routes = [
import('./pages/home/home-page.module').then((m) => m.HomePageModule)
},
{
path: 'pricing',
path: 'portfolio',
loadChildren: () =>
import('./pages/pricing/pricing-page.module').then(
(m) => m.PricingPageModule
import('./pages/portfolio/portfolio-page.module').then(
(m) => m.PortfolioPageModule
)
},
{
path: 'register',
path: 'portfolio/analysis',
loadChildren: () =>
import('./pages/register/register-page.module').then(
(m) => m.RegisterPageModule
import('./pages/portfolio/analysis/analysis-page.module').then(
(m) => m.AnalysisPageModule
)
},
{
path: 'resources',
path: 'portfolio/report',
loadChildren: () =>
import('./pages/resources/resources-page.module').then(
(m) => m.ResourcesPageModule
import('./pages/portfolio/report/report-page.module').then(
(m) => m.ReportPageModule
)
},
{
path: 'start',
path: 'portfolio/transactions',
loadChildren: () =>
import('./pages/landing/landing-page.module').then(
(m) => m.LandingPageModule
import('./pages/portfolio/transactions/transactions-page.module').then(
(m) => m.TransactionsPageModule
)
},
{
path: 'tools',
path: 'pricing',
loadChildren: () =>
import('./pages/tools/tools-page.module').then((m) => m.ToolsPageModule)
import('./pages/pricing/pricing-page.module').then(
(m) => m.PricingPageModule
)
},
{
path: 'tools/analysis',
path: 'register',
loadChildren: () =>
import('./pages/tools/analysis/analysis-page.module').then(
(m) => m.AnalysisPageModule
import('./pages/register/register-page.module').then(
(m) => m.RegisterPageModule
)
},
{
path: 'tools/report',
path: 'resources',
loadChildren: () =>
import('./pages/tools/report/report-page.module').then(
(m) => m.ReportPageModule
import('./pages/resources/resources-page.module').then(
(m) => m.ResourcesPageModule
)
},
{
path: 'transactions',
path: 'start',
loadChildren: () =>
import('./pages/transactions/transactions-page.module').then(
(m) => m.TransactionsPageModule
import('./pages/landing/landing-page.module').then(
(m) => m.LandingPageModule
)
},
{

35
apps/client/src/app/components/header/header.component.html

@ -22,27 +22,22 @@
i18n
mat-flat-button
[ngClass]="{
'font-weight-bold':
currentRoute === 'analysis' ||
currentRoute === 'report' ||
currentRoute === 'tools',
'text-decoration-underline':
currentRoute === 'analysis' ||
currentRoute === 'report' ||
currentRoute === 'tools'
'font-weight-bold': currentRoute === 'portfolio',
'text-decoration-underline': currentRoute === 'portfolio'
}"
[routerLink]="['/tools']"
>Tools</a
[routerLink]="['/portfolio']"
>Portfolio</a
>
<a
*ngIf="user?.settings?.viewMode !== 'DEFAULT'"
class="d-none d-sm-block mx-1"
i18n
mat-flat-button
[ngClass]="{
'font-weight-bold': currentRoute === 'transactions',
'text-decoration-underline': currentRoute === 'transactions'
'font-weight-bold': currentRoute === 'portfolio',
'text-decoration-underline': currentRoute === 'portfolio'
}"
[routerLink]="['/transactions']"
[routerLink]="['/portfolio', 'transactions']"
>Transactions</a
>
<a
@ -166,22 +161,20 @@
i18n
mat-menu-item
[ngClass]="{
'font-weight-bold':
currentRoute === 'analysis' ||
currentRoute === 'report' ||
currentRoute === 'tools'
'font-weight-bold': currentRoute === 'portfolio'
}"
[routerLink]="['/tools']"
>Tools</a
[routerLink]="['/portfolio']"
>Portfolio</a
>
<a
*ngIf="user?.settings?.viewMode !== 'DEFAULT'"
class="d-block d-sm-none"
i18n
mat-menu-item
[ngClass]="{
'font-weight-bold': currentRoute === 'transactions'
'font-weight-bold': currentRoute === 'portfolio'
}"
[routerLink]="['/transactions']"
[routerLink]="['/portfolio', 'transactions']"
>Transactions</a
>
<a

2
apps/client/src/app/components/no-transactions-info/no-transactions-info.component.html

@ -5,7 +5,7 @@
<a
class="align-items-center justify-content-center"
color="primary"
[routerLink]="['/transactions']"
[routerLink]="['/portfolio', 'transactions']"
mat-button
>
<span i18n>Time to add your first transaction.</span>

0
apps/client/src/app/pages/tools/analysis/analysis-page-routing.module.ts → apps/client/src/app/pages/portfolio/analysis/analysis-page-routing.module.ts

0
apps/client/src/app/pages/tools/analysis/analysis-page.component.ts → apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts

0
apps/client/src/app/pages/tools/analysis/analysis-page.html → apps/client/src/app/pages/portfolio/analysis/analysis-page.html

0
apps/client/src/app/pages/tools/analysis/analysis-page.module.ts → apps/client/src/app/pages/portfolio/analysis/analysis-page.module.ts

0
apps/client/src/app/pages/tools/analysis/analysis-page.scss → apps/client/src/app/pages/portfolio/analysis/analysis-page.scss

6
apps/client/src/app/pages/tools/tools-page-routing.module.ts → apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts

@ -2,14 +2,14 @@ import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { AuthGuard } from '@ghostfolio/client/core/auth.guard';
import { ToolsPageComponent } from './tools-page.component';
import { PortfolioPageComponent } from './portfolio-page.component';
const routes: Routes = [
{ path: '', component: ToolsPageComponent, canActivate: [AuthGuard] }
{ path: '', component: PortfolioPageComponent, canActivate: [AuthGuard] }
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class ToolsPageRoutingModule {}
export class PortfolioPageRoutingModule {}

18
apps/client/src/app/pages/portfolio/portfolio-page.component.ts

@ -0,0 +1,18 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'gf-portfolio-page',
templateUrl: './portfolio-page.html',
styleUrls: ['./portfolio-page.scss']
})
export class PortfolioPageComponent implements OnInit {
/**
* @constructor
*/
public constructor() {}
/**
* Initializes the controller
*/
public ngOnInit() {}
}

74
apps/client/src/app/pages/portfolio/portfolio-page.html

@ -0,0 +1,74 @@
<div class="container">
<h3 class="d-flex justify-content-center mb-3" i18n>Portfolio</h3>
<div class="row">
<div class="col-xs-12 col-md-6">
<mat-card class="mb-3">
<h4 i18n>Transactions</h4>
<p class="mb-0">Manage your transactions.</p>
<p class="text-right">
<a
color="primary"
i18n
mat-button
[routerLink]="['/portfolio', 'transactions']"
>
Open Transactions →
</a>
</p>
</mat-card>
</div>
<div class="col-xs-12 col-md-6">
<mat-card class="mb-3">
<h4 i18n>Allocations</h4>
<p class="mb-0">Check the allocations of your portfolio.</p>
<p class="text-right">
<a
color="primary"
i18n
mat-button
[routerLink]="['/portfolio', 'allocations']"
>
Open Allocations →
</a>
</p>
</mat-card>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6">
<mat-card class="mb-3">
<h4 i18n>Analysis</h4>
<p class="mb-0">Ghostfolio Analysis visualizes your portfolio.</p>
<p class="text-right">
<a
color="primary"
i18n
mat-button
[routerLink]="['/portfolio', 'analysis']"
>
Open Analysis →
</a>
</p>
</mat-card>
</div>
<div class="col-xs-12 col-md-6">
<mat-card class="mb-3">
<h4 i18n>X-ray</h4>
<p class="mb-0">
Ghostfolio X-ray uses static analysis to identify potential issues and
risks in your portfolio.
</p>
<p class="text-right">
<a
color="primary"
i18n
mat-button
[routerLink]="['/portfolio', 'report']"
>
Open X-ray →
</a>
</p>
</mat-card>
</div>
</div>
</div>

12
apps/client/src/app/pages/tools/tools-page.module.ts → apps/client/src/app/pages/portfolio/portfolio-page.module.ts

@ -4,20 +4,20 @@ import { MatButtonModule } from '@angular/material/button';
import { MatCardModule } from '@angular/material/card';
import { RouterModule } from '@angular/router';
import { ToolsPageRoutingModule } from './tools-page-routing.module';
import { ToolsPageComponent } from './tools-page.component';
import { PortfolioPageRoutingModule } from './portfolio-page-routing.module';
import { PortfolioPageComponent } from './portfolio-page.component';
@NgModule({
declarations: [ToolsPageComponent],
declarations: [PortfolioPageComponent],
exports: [],
imports: [
CommonModule,
MatButtonModule,
MatCardModule,
RouterModule,
ToolsPageRoutingModule
PortfolioPageRoutingModule,
RouterModule
],
providers: [],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class ToolsPageModule {}
export class PortfolioPageModule {}

0
apps/client/src/app/pages/tools/report/report-page.scss → apps/client/src/app/pages/portfolio/portfolio-page.scss

0
apps/client/src/app/pages/tools/report/report-page-routing.module.ts → apps/client/src/app/pages/portfolio/report/report-page-routing.module.ts

0
apps/client/src/app/pages/tools/report/report-page.component.ts → apps/client/src/app/pages/portfolio/report/report-page.component.ts

0
apps/client/src/app/pages/tools/report/report-page.html → apps/client/src/app/pages/portfolio/report/report-page.html

0
apps/client/src/app/pages/tools/report/report-page.module.ts → apps/client/src/app/pages/portfolio/report/report-page.module.ts

0
apps/client/src/app/pages/tools/tools-page.scss → apps/client/src/app/pages/portfolio/report/report-page.scss

2
apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.component.ts → apps/client/src/app/pages/portfolio/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.component.ts

@ -19,7 +19,7 @@ import {
takeUntil
} from 'rxjs/operators';
import { DataService } from '../../../services/data.service';
import { DataService } from '@ghostfolio/client/services/data.service';
import { CreateOrUpdateTransactionDialogParams } from './interfaces/interfaces';
@Component({

0
apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.html → apps/client/src/app/pages/portfolio/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.html

0
apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.module.ts → apps/client/src/app/pages/portfolio/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.module.ts

0
apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.scss → apps/client/src/app/pages/portfolio/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.scss

0
apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/interfaces/interfaces.ts → apps/client/src/app/pages/portfolio/transactions/create-or-update-transaction-dialog/interfaces/interfaces.ts

0
apps/client/src/app/pages/transactions/transactions-page-routing.module.ts → apps/client/src/app/pages/portfolio/transactions/transactions-page-routing.module.ts

0
apps/client/src/app/pages/transactions/transactions-page.component.ts → apps/client/src/app/pages/portfolio/transactions/transactions-page.component.ts

0
apps/client/src/app/pages/transactions/transactions-page.html → apps/client/src/app/pages/portfolio/transactions/transactions-page.html

0
apps/client/src/app/pages/transactions/transactions-page.module.ts → apps/client/src/app/pages/portfolio/transactions/transactions-page.module.ts

0
apps/client/src/app/pages/transactions/transactions-page.scss → apps/client/src/app/pages/portfolio/transactions/transactions-page.scss

21
apps/client/src/app/pages/tools/tools-page.component.ts

@ -1,21 +0,0 @@
import { Component, OnInit } from '@angular/core';
import { Subject } from 'rxjs';
@Component({
selector: 'gf-tools-page',
templateUrl: './tools-page.html',
styleUrls: ['./tools-page.scss']
})
export class ToolsPageComponent implements OnInit {
private unsubscribeSubject = new Subject<void>();
/**
* @constructor
*/
public constructor() {}
/**
* Initializes the controller
*/
public ngOnInit() {}
}

43
apps/client/src/app/pages/tools/tools-page.html

@ -1,43 +0,0 @@
<div class="container">
<h3 class="d-flex justify-content-center mb-3" i18n>Tools</h3>
<div class="row">
<div class="col-xs-12 col-md-6">
<mat-card class="mb-3">
<h4 i18n>Analysis</h4>
<p class="mb-0">
Ghostfolio Analysis shows your positions and visualizes your
portfolio.
</p>
<p class="text-right">
<a
color="primary"
i18n
mat-button
[routerLink]="['/tools', 'analysis']"
>
Open Analysis →
</a>
</p>
</mat-card>
</div>
<div class="col-xs-12 col-md-6">
<mat-card class="mb-3">
<h4 i18n>X-ray</h4>
<p class="mb-0">
Ghostfolio X-ray uses static analysis to identify potential issues and
risks in your portfolio.
</p>
<p class="text-right">
<a
color="primary"
i18n
mat-button
[routerLink]="['/tools', 'report']"
>
Open X-ray →
</a>
</p>
</mat-card>
</div>
</div>
</div>
Loading…
Cancel
Save