Accounts.tsx 756 B
Newer Older
Andrei Eres's avatar
Andrei Eres committed
import { useStore } from 'nanostores/react'
import React from 'react'
Andrei Eres's avatar
Andrei Eres committed
import styled from 'styled-components'
Andrei Eres's avatar
Andrei Eres committed
import Header from '../components/Header'
Andrei Eres's avatar
Andrei Eres committed
import { hierarchy as hierarchyStore } from '../stores/accounts'
import { BaseProps } from '../types'
Andrei Eres's avatar
Andrei Eres committed
import AccountsTree from './AccountsTree'
Andrei Eres's avatar
Andrei Eres committed
import NoAccounts from './NoAccounts'
Andrei Eres's avatar
Andrei Eres committed

Andrei Eres's avatar
Andrei Eres committed
const Accounts: React.FC<BaseProps> = ({ className }) => {
  const hierarchy = useStore(hierarchyStore)
Andrei Eres's avatar
Andrei Eres committed

Andrei Eres's avatar
Andrei Eres committed
  if (hierarchy.length === 0) return <NoAccounts />
Andrei Eres's avatar
Andrei Eres committed

  return (
    <>
Andrei Eres's avatar
Andrei Eres committed
      <Header />
Andrei Eres's avatar
Andrei Eres committed
      <div className={className}>
        {hierarchy.map((json, i) => (
          <AccountsTree {...json} key={`${i}:${json.address}`} />
        ))}
      </div>
    </>
  )
}

export default styled(Accounts)`
Andrei Eres's avatar
Andrei Eres committed
  height: 100%;
Andrei Eres's avatar
Andrei Eres committed
`