diff --git a/frontend/components/vault/VaultsTable.stories.js b/frontend/components/vault/VaultsTable.stories.js new file mode 100644 index 000000000..d9add5e42 --- /dev/null +++ b/frontend/components/vault/VaultsTable.stories.js @@ -0,0 +1,45 @@ +import { storiesOf } from '@storybook/vue'; +import faker from 'faker'; +import VaultsTable from './VaultsTable.vue'; +import { generateFakeVaultTransactions } from '~/helpers/generateFakeVault'; + +const fakeVaultTransaction = generateFakeVaultTransactions(); +const randomSelectedVault = faker.random.arrayElement(fakeVaultTransaction); + +const common = { + components: { VaultsTable }, + data: () => ({ + vaultTransactions: fakeVaultTransaction, + selectedVaultId: randomSelectedVault.id, + lastUpdated: new Date(faker.date.recent()), + }), +}; + +storiesOf('Vault/VaultsTable', module) + .add('Plain', () => ({ + ...common, + template: + '', + })) + .add('Fetching With Vaults', () => ({ + ...common, + template: + '', + })) + .add('Fetching without Vaults', () => ({ + ...common, + template: '', + })) + .add('Empty vaults', () => ({ + ...common, + template: '', + })) + .add('Error', () => ({ + ...common, + template: '', + })) + .add('Expert Mode', () => ({ + ...common, + template: + '', + })); diff --git a/frontend/components/vault/VaultsTable.vue b/frontend/components/vault/VaultsTable.vue new file mode 100644 index 000000000..2e89e944a --- /dev/null +++ b/frontend/components/vault/VaultsTable.vue @@ -0,0 +1,277 @@ + + + + + + Unknown + + + + % + + Unknown + + + + + + Unknown + + + + + + + Unknown + + + + + Updating... + + Last updated + Last updated unknown time ago + + + + Liquidate + See details + + + + + + + + + diff --git a/frontend/helpers/generateFakeVault.ts b/frontend/helpers/generateFakeVault.ts index cb286f7e4..35af86831 100644 --- a/frontend/helpers/generateFakeVault.ts +++ b/frontend/helpers/generateFakeVault.ts @@ -4,6 +4,7 @@ import { Vault, VaultAmount, VaultBase, + VaultTransaction, VaultTransactionFees, VaultTransactionLiquidated, VaultTransactionNotLiquidated, @@ -148,8 +149,9 @@ export const generateFakeVaultTransactions = function ( liquidatedVaultsAmount = random(1, 5), notLiquidatedVaultsAmount = random(5, 15) ) { - const vaults = []; - vaults.push(Array(liquidatedVaultsAmount).fill(null).map(generateFakeVaultLiquidatedTransaction)); - vaults.push(Array(notLiquidatedVaultsAmount).fill(null).map(generateFakeVaultNotLiquidatedTransaction)); - return vaults; + const vaults: VaultTransaction[] = [ + ...Array(liquidatedVaultsAmount).fill(null).map(generateFakeVaultLiquidatedTransaction), + ...Array(notLiquidatedVaultsAmount).fill(null).map(generateFakeVaultNotLiquidatedTransaction), + ]; + return faker.helpers.shuffle(vaults); };