Accounts.tsx 933 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 AddAccount from './AddAccount'
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

  if (hierarchy.length === 0) return <AddAccount />

  return (
    <>
Andrei Eres's avatar
Andrei Eres committed
      <Header showAdd text={'Accounts'} />
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)`
  height: calc(100vh - 2px);
  overflow-y: scroll;
  margin-top: -25px;
  padding-top: 25px;
  scrollbar-width: none;

  &::-webkit-scrollbar {
    display: none;
  }
`