mirror of https://github.com/ghostfolio/ghostfolio
39 changed files with 2265 additions and 1877 deletions
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
@ -0,0 +1,146 @@ |
|||||
|
import { CommonModule } from '@angular/common'; |
||||
|
import { MatButtonModule } from '@angular/material/button'; |
||||
|
import { MatMenuModule } from '@angular/material/menu'; |
||||
|
import { MatSortModule } from '@angular/material/sort'; |
||||
|
import { MatTableModule } from '@angular/material/table'; |
||||
|
import { RouterModule } from '@angular/router'; |
||||
|
import { IonIcon } from '@ionic/angular/standalone'; |
||||
|
import { moduleMetadata } from '@storybook/angular'; |
||||
|
import type { Meta, StoryObj } from '@storybook/angular'; |
||||
|
import { NotificationService } from 'apps/client/src/app/core/notification/notification.service'; |
||||
|
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; |
||||
|
|
||||
|
import { GfEntityLogoComponent } from '../entity-logo'; |
||||
|
import { GfValueComponent } from '../value'; |
||||
|
import { GfAccountsTableComponent } from './accounts-table.component'; |
||||
|
|
||||
|
const accounts = [ |
||||
|
{ |
||||
|
allocationInPercentage: null, |
||||
|
balance: 278, |
||||
|
balanceInBaseCurrency: 278, |
||||
|
comment: null, |
||||
|
createdAt: new Date('2025-06-01T06:52:49.063Z'), |
||||
|
currency: 'USD', |
||||
|
id: '460d7401-ca43-4ed4-b08e-349f1822e9db', |
||||
|
isExcluded: false, |
||||
|
name: 'Coinbase Account', |
||||
|
platform: { |
||||
|
id: '8dc24b88-bb92-4152-af25-fe6a31643e26', |
||||
|
name: 'Coinbase', |
||||
|
url: 'https://www.coinbase.com' |
||||
|
}, |
||||
|
platformId: '8dc24b88-bb92-4152-af25-fe6a31643e26', |
||||
|
transactionCount: 0, |
||||
|
updatedAt: new Date('2025-06-01T06:52:49.063Z'), |
||||
|
userId: '081aa387-487d-4438-83a4-3060eb2a016e', |
||||
|
value: 278, |
||||
|
valueInBaseCurrency: 278 |
||||
|
}, |
||||
|
{ |
||||
|
allocationInPercentage: null, |
||||
|
balance: 12000, |
||||
|
balanceInBaseCurrency: 12000, |
||||
|
comment: null, |
||||
|
createdAt: new Date('2025-06-01T06:48:53.055Z'), |
||||
|
currency: 'USD', |
||||
|
id: '6d773e31-0583-4c85-a247-e69870b4f1ee', |
||||
|
isExcluded: false, |
||||
|
name: 'Private Banking Account', |
||||
|
platform: { |
||||
|
id: '43e8fcd1-5b79-4100-b678-d2229bd1660d', |
||||
|
name: 'J.P. Morgan', |
||||
|
url: 'https://www.jpmorgan.com' |
||||
|
}, |
||||
|
platformId: '43e8fcd1-5b79-4100-b678-d2229bd1660d', |
||||
|
transactionCount: 0, |
||||
|
updatedAt: new Date('2025-06-01T06:48:53.055Z'), |
||||
|
userId: '081aa387-487d-4438-83a4-3060eb2a016e', |
||||
|
value: 12000, |
||||
|
valueInBaseCurrency: 12000 |
||||
|
}, |
||||
|
{ |
||||
|
allocationInPercentage: null, |
||||
|
balance: 150.2, |
||||
|
balanceInBaseCurrency: 150.2, |
||||
|
comment: null, |
||||
|
createdAt: new Date('2025-05-31T13:00:13.940Z'), |
||||
|
currency: 'USD', |
||||
|
id: '776bd1e9-b2f6-4f7e-933d-18756c2f0625', |
||||
|
isExcluded: false, |
||||
|
name: 'Trading Account', |
||||
|
platform: { |
||||
|
id: '9da3a8a7-4795-43e3-a6db-ccb914189737', |
||||
|
name: 'Interactive Brokers', |
||||
|
url: 'https://interactivebrokers.com' |
||||
|
}, |
||||
|
platformId: '9da3a8a7-4795-43e3-a6db-ccb914189737', |
||||
|
transactionCount: 12, |
||||
|
valueInBaseCurrency: 95693.70321466809, |
||||
|
updatedAt: new Date('2025-06-01T06:53:10.569Z'), |
||||
|
userId: '081aa387-487d-4438-83a4-3060eb2a016e', |
||||
|
value: 95693.70321466809 |
||||
|
} |
||||
|
]; |
||||
|
|
||||
|
export default { |
||||
|
title: 'Accounts Table', |
||||
|
component: GfAccountsTableComponent, |
||||
|
decorators: [ |
||||
|
moduleMetadata({ |
||||
|
imports: [ |
||||
|
CommonModule, |
||||
|
GfEntityLogoComponent, |
||||
|
GfValueComponent, |
||||
|
IonIcon, |
||||
|
MatButtonModule, |
||||
|
MatMenuModule, |
||||
|
MatSortModule, |
||||
|
MatTableModule, |
||||
|
NgxSkeletonLoaderModule, |
||||
|
RouterModule.forChild([]) |
||||
|
], |
||||
|
providers: [NotificationService] |
||||
|
}) |
||||
|
] |
||||
|
} as Meta<GfAccountsTableComponent>; |
||||
|
|
||||
|
type Story = StoryObj<GfAccountsTableComponent>; |
||||
|
|
||||
|
export const Default: Story = { |
||||
|
args: { |
||||
|
accounts, |
||||
|
baseCurrency: 'USD', |
||||
|
deviceType: 'desktop', |
||||
|
locale: 'en-US', |
||||
|
showActions: false, |
||||
|
showAllocationInPercentage: false, |
||||
|
showBalance: true, |
||||
|
showFooter: true, |
||||
|
showTransactions: true, |
||||
|
showValue: true, |
||||
|
showValueInBaseCurrency: true, |
||||
|
totalBalanceInBaseCurrency: 12428.2, |
||||
|
totalValueInBaseCurrency: 107971.70321466809, |
||||
|
transactionCount: 12 |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
export const WithoutFooter: Story = { |
||||
|
args: { |
||||
|
accounts, |
||||
|
baseCurrency: 'USD', |
||||
|
deviceType: 'desktop', |
||||
|
locale: 'en-US', |
||||
|
showActions: false, |
||||
|
showAllocationInPercentage: false, |
||||
|
showBalance: true, |
||||
|
showFooter: false, |
||||
|
showTransactions: true, |
||||
|
showValue: true, |
||||
|
showValueInBaseCurrency: true, |
||||
|
totalBalanceInBaseCurrency: 12428.2, |
||||
|
totalValueInBaseCurrency: 107971.70321466809, |
||||
|
transactionCount: 12 |
||||
|
} |
||||
|
}; |
@ -0,0 +1 @@ |
|||||
|
export * from './accounts-table.component'; |
Loading…
Reference in new issue