mirror of https://github.com/ghostfolio/ghostfolio
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
143 lines
4.4 KiB
143 lines
4.4 KiB
<mat-tab-group
|
|
animationDuration="0ms"
|
|
class="position-absolute"
|
|
headerPosition="below"
|
|
mat-align-tabs="center"
|
|
[disablePagination]="true"
|
|
(selectedTabChange)="onTabChanged($event)"
|
|
>
|
|
<mat-tab>
|
|
<ng-template mat-tab-label>
|
|
<ion-icon name="analytics-outline" size="large"></ion-icon>
|
|
</ng-template>
|
|
<div
|
|
class="
|
|
align-items-center
|
|
container
|
|
d-flex
|
|
flex-column
|
|
h-100
|
|
justify-content-center
|
|
overview
|
|
position-relative
|
|
"
|
|
>
|
|
<div class="row w-100">
|
|
<a
|
|
*ngIf="historicalDataItems?.length !== 0"
|
|
class="chart-container col"
|
|
[routerLink]="[]"
|
|
[queryParams]="{performanceChartDialog: true}"
|
|
>
|
|
<gf-line-chart
|
|
class="mr-3"
|
|
symbol="Performance"
|
|
[historicalDataItems]="historicalDataItems"
|
|
[showGradient]="true"
|
|
[showLoader]="false"
|
|
[showXAxis]="false"
|
|
[showYAxis]="false"
|
|
></gf-line-chart>
|
|
</a>
|
|
<div
|
|
*ngIf="historicalDataItems?.length === 0"
|
|
class="
|
|
align-items-center
|
|
chart-container
|
|
d-flex
|
|
justify-content-center
|
|
w-100
|
|
"
|
|
>
|
|
<div class="d-flex justify-content-center">
|
|
<gf-no-transactions-info-indicator></gf-no-transactions-info-indicator>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="overview-container row mt-1">
|
|
<div class="col">
|
|
<gf-portfolio-performance
|
|
class="pb-4"
|
|
[baseCurrency]="user?.settings?.baseCurrency"
|
|
[isLoading]="isLoadingPerformance"
|
|
[locale]="user?.settings?.locale"
|
|
[performance]="performance"
|
|
[showDetails]="!hasImpersonationId && !user.settings.isRestrictedView"
|
|
></gf-portfolio-performance>
|
|
<div class="text-center">
|
|
<gf-toggle
|
|
[defaultValue]="dateRange"
|
|
[isLoading]="isLoadingPerformance"
|
|
[options]="dateRangeOptions"
|
|
(change)="onChangeDateRange($event.value)"
|
|
></gf-toggle>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</mat-tab>
|
|
<mat-tab>
|
|
<ng-template mat-tab-label>
|
|
<ion-icon name="wallet-outline" size="large"></ion-icon>
|
|
</ng-template>
|
|
<div class="container justify-content-center pb-3 px-3 positions">
|
|
<h3 class="d-flex justify-content-center mb-3" i18n>Holdings</h3>
|
|
<div class="row">
|
|
<div class="align-items-center col-xs-12 col-md-8 offset-md-2">
|
|
<div class="pb-2 text-center">
|
|
<gf-toggle
|
|
[defaultValue]="dateRange"
|
|
[isLoading]="isLoadingPerformance"
|
|
[options]="dateRangeOptions"
|
|
(change)="onChangeDateRange($event.value)"
|
|
></gf-toggle>
|
|
</div>
|
|
<mat-card class="p-0">
|
|
<mat-card-content>
|
|
<gf-positions
|
|
[baseCurrency]="user?.settings?.baseCurrency"
|
|
[deviceType]="deviceType"
|
|
[locale]="user?.settings?.locale"
|
|
[positions]="positions"
|
|
[range]="dateRange"
|
|
></gf-positions>
|
|
</mat-card-content>
|
|
</mat-card>
|
|
<div *ngIf="hasPermissionToCreateOrder" class="text-center">
|
|
<a
|
|
class="mt-3"
|
|
i18n
|
|
mat-button
|
|
[routerLink]="['/portfolio', 'transactions']"
|
|
>Manage Transactions...</a
|
|
>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</mat-tab>
|
|
<mat-tab>
|
|
<ng-template mat-tab-label>
|
|
<ion-icon name="reader-outline" size="large"></ion-icon>
|
|
</ng-template>
|
|
<div class="container pb-3 px-3 positions">
|
|
<div class="row">
|
|
<div class="col-xs-12 col-md-8 offset-md-2">
|
|
<mat-card class="h-100">
|
|
<mat-card-header>
|
|
<mat-card-title i18n>Summary</mat-card-title>
|
|
</mat-card-header>
|
|
<mat-card-content>
|
|
<gf-portfolio-summary
|
|
[baseCurrency]="user?.settings?.baseCurrency"
|
|
[isLoading]="isLoadingSummary"
|
|
[locale]="user?.settings?.locale"
|
|
[summary]="summary"
|
|
></gf-portfolio-summary>
|
|
</mat-card-content>
|
|
</mat-card>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</mat-tab>
|
|
</mat-tab-group>
|
|
|