1
0
mirror of https://github.com/oceanprotocol/market.git synced 2024-12-02 05:57:29 +01:00

added AccountTeaser and AccountList stories

This commit is contained in:
Enzo Vezzaro 2022-05-30 08:20:43 -04:00
parent d53ea3f187
commit dde191630d
7 changed files with 83 additions and 11 deletions

View File

@ -0,0 +1,11 @@
.empty {
color: var(--color-secondary);
font-size: var(--font-size-small);
font-style: italic;
}
.loaderWrap {
display: flex;
justify-content: center;
align-items: center;
}

View File

@ -0,0 +1,37 @@
import React from 'react'
import { ComponentStory, ComponentMeta } from '@storybook/react'
import AccountList, { AccountListProps } from '@shared/AccountList'
import * as config from '../../../../app.config'
export default {
title: 'Component/@shared/AccountList',
component: AccountList
} as ComponentMeta<typeof AccountList>
const Template: ComponentStory<typeof AccountList> = (
args: AccountListProps
) => <AccountList {...args} />
interface Props {
args: AccountListProps
}
export const Default: Props = Template.bind({})
Default.args = {
accounts: [
{
address: '0x00000000000000000000000000000000000000000',
nrSales: 25
},
{
address: '0x00000000000000000000000000000000000000000',
nrSales: 11
},
{
address: '0x00000000000000000000000000000000000000000',
nrSales: 5
}
],
isLoading: false,
chainIds: config.chainIds
}

View File

@ -1,9 +1,8 @@
import React, { ReactElement } from 'react' import React, { ReactElement } from 'react'
import styles from './AssetList.module.css' import styles from './index.module.css'
import classNames from 'classnames/bind' import classNames from 'classnames/bind'
import Loader from '../atoms/Loader' import Loader from '../atoms/Loader'
import { useUserPreferences } from '@context/UserPreferences' import AccountTeaser from '@shared/AccountTeaser'
import AccountTeaser from '@shared/AccountTeaser/AccountTeaser'
const cx = classNames.bind(styles) const cx = classNames.bind(styles)
@ -15,19 +14,19 @@ function LoaderArea() {
) )
} }
declare type AccountListProps = { export interface AccountListProps {
accounts: AccountTeaserVM[] accounts: AccountTeaserVM[]
isLoading: boolean isLoading: boolean
className?: string className?: string
chainIds: number[]
} }
export default function AccountList({ export default function AccountList({
accounts, accounts,
isLoading, isLoading,
className className,
chainIds
}: AccountListProps): ReactElement { }: AccountListProps): ReactElement {
const { chainIds } = useUserPreferences()
const styleClasses = cx({ const styleClasses = cx({
assetList: true, assetList: true,
[className]: className [className]: className

View File

@ -0,0 +1,25 @@
import React from 'react'
import { ComponentStory, ComponentMeta } from '@storybook/react'
import AccountTeaser, { AccountTeaserProps } from '@shared/AccountTeaser'
export default {
title: 'Component/@shared/AccountTeaser',
component: AccountTeaser
} as ComponentMeta<typeof AccountTeaser>
const Template: ComponentStory<typeof AccountTeaser> = (
args: AccountTeaserProps
) => <AccountTeaser {...args} />
interface Props {
args: AccountTeaserProps
}
export const Default: Props = Template.bind({})
Default.args = {
accountTeaserVM: {
address: '0x00000000000000000000000000000000000000000',
nrSales: 25
},
place: 1
}

View File

@ -1,13 +1,13 @@
import React, { ReactElement, useEffect, useState } from 'react' import React, { ReactElement, useEffect, useState } from 'react'
import Dotdotdot from 'react-dotdotdot' import Dotdotdot from 'react-dotdotdot'
import Link from 'next/link' import Link from 'next/link'
import styles from './AccountTeaser.module.css' import styles from './index.module.css'
import Blockies from '../atoms/Blockies' import Blockies from '../atoms/Blockies'
import { useCancelToken } from '@hooks/useCancelToken' import { useCancelToken } from '@hooks/useCancelToken'
import get3BoxProfile from '@utils/profile' import get3BoxProfile from '@utils/profile'
import { accountTruncate } from '@utils/web3' import { accountTruncate } from '@utils/web3'
declare type AccountTeaserProps = { export interface AccountTeaserProps {
accountTeaserVM: AccountTeaserVM accountTeaserVM: AccountTeaserVM
place?: number place?: number
} }

View File

@ -1,5 +1,5 @@
import { useUserPreferences } from '@context/UserPreferences' import { useUserPreferences } from '@context/UserPreferences'
import AccountList from '@shared/AccountList/AccountList' import AccountList from '@shared/AccountList'
import { getTopAssetsPublishers } from '@utils/subgraph' import { getTopAssetsPublishers } from '@utils/subgraph'
import React, { ReactElement, useEffect, useState } from 'react' import React, { ReactElement, useEffect, useState } from 'react'
import styles from './Home.module.css' import styles from './Home.module.css'
@ -38,7 +38,7 @@ export default function PublishersWithMostSales({
return ( return (
<section className={styles.section}> <section className={styles.section}>
<h3>{title}</h3> <h3>{title}</h3>
<AccountList accounts={result} isLoading={loading} /> <AccountList accounts={result} isLoading={loading} chainIds={chainIds} />
{action && action} {action && action}
</section> </section>
) )