import { useEffect, useState } from 'react';
import { connect } from 'react-redux';
import { useQueryClient } from 'src/contexts/queryClient';
import Code from './code';
import ActionBar from './actionBar';
import useSetActiveAddress from '../../../hooks/useSetActiveAddress';

import styles from './styles.scss';

function Codes({ defaultAccount }) {
  const queryClient = useQueryClient();
  const { addressActive } = useSetActiveAddress(defaultAccount);
  const [codes, setCodes] = useState([]);
  const [updateFnc, setUpdateFunc] = useState(0);

  useEffect(() => {
    const getCodes = async () => {
      try {
        if (queryClient) {
          const resposeCodes = await queryClient.getCodes();
          if (resposeCodes && resposeCodes.length > 0) {
            setCodes(resposeCodes.reverse());
          }
        }
      } catch (error) {
        console.log(`error getCodes`, error);
        setCodes([]);
      }
    };
    getCodes();
  }, [queryClient, updateFnc]);

  console.log(`codes`, codes);

  return (
    <>
      <main className="block-body">
        <div className={styles.containerCodes}>
          {codes.length > 0 &&
            codes.map((item) => {
              return <Code data={item} key={item.id} />;
            })}
        </div>
      </main>
      <ActionBar
        addressActive={addressActive}
        updateFnc={() => setUpdateFunc((item) => item + 1)}
      />
    </>
  );
}

const mapStateToProps = (store) => {
  return {
    defaultAccount: store.pocket.defaultAccount,
  };
};

export default connect(mapStateToProps)(Codes);

Synonyms

cyb/src/components/valueImg/index.jsx
pussy-ts/src/components/searchSnippet/index.jsx
pussy-ts/src/components/numberCurrency/index.jsx
pussy-ts/src/components/battery/index.jsx
pussy-ts/src/containers/market/index.jsx
pussy-ts/src/containers/movie/index.jsx
pussy-ts/src/containers/network/index.jsx
pussy-ts/src/components/ButtonNetwork/index.jsx
pussy-ts/src/components/statusTooltip/index.jsx
pussy-ts/src/containers/wasm/index.jsx
cyb/src/components/vitalik/index.jsx
cyb/src/containers/parameters/index.jsx
cyb/src/components/numberCurrency/index.jsx
pussy-ts/src/containers/testKeplre/index.jsx
cyb/src/containers/movie/index.jsx
pussy-ts/src/containers/parameters/index.jsx
cyb/src/components/searchSnippet/index.jsx
cyb/src/containers/market/index.jsx
pussy-ts/src/containers/Objects/index.jsx
pussy-ts/src/containers/validator/index.jsx
pussy-ts/src/components/vitalik/index.jsx
cyb/src/containers/wasm/index.jsx
pussy-ts/src/containers/oracle/index.jsx
cyb/src/containers/help/index.jsx
pussy-ts/src/containers/trollBox/index.jsx
cyb/src/components/ButtonNetwork/index.jsx
cyb/src/containers/testPage/index.jsx
pussy-ts/src/containers/help/index.jsx
pussy-ts/src/components/particle/index.jsx
pussy-ts/src/containers/blok/index.jsx
cyb/src/components/statusTooltip/index.jsx
cyb/src/components/battery/index.jsx
cyb/src/components/particle/index.jsx
cyb/src/containers/trollBox/index.jsx
cyb/src/containers/oracle/index.jsx
pussy-ts/src/components/valueImg/index.jsx
pussy-ts/src/containers/parameters/tabs/index.jsx
pussy-ts/src/containers/wasm/contract/index.jsx
pussy-ts/src/containers/portal/stateComponent/index.jsx
cyb/src/containers/portal/stateComponent/index.jsx
cyb/src/containers/parameters/tabs/index.jsx
pussy-ts/src/containers/Validators/components/index.jsx
cyb/src/containers/wasm/contract/index.jsx
pussy-ts/src/containers/portal/components/currentGift/index.jsx
cyb/src/containers/wasm/codes/code/index.jsx
pussy-ts/src/containers/temple/components/canvasOne/index.jsx
pussy-ts/src/containers/wasm/contract/renderAbi/index.jsx
cyb/src/containers/portal/components/imgNetwork/index.jsx
pussy-ts/src/containers/portal/components/imgNetwork/index.jsx
cyb/src/containers/portal/components/nextUnfreeze/index.jsx
pussy-ts/src/containers/wasm/codes/code/index.jsx
pussy-ts/src/containers/portal/components/ActionBar/index.jsx
cyb/src/containers/wasm/contract/renderAbi/index.jsx
cyb/src/containers/wasm/codes/codePage/index.jsx
cyb/src/containers/portal/components/progressCard/index.jsx
pussy-ts/src/containers/wasm/codes/codePage/index.jsx
pussy-ts/src/containers/portal/components/progressCard/index.jsx
cyb/src/containers/energy/ui/card/index.jsx
pussy-ts/src/containers/portal/components/Released/index.jsx
pussy-ts/src/containers/portal/components/nextUnfreeze/index.jsx
pussy-ts/src/containers/energy/ui/card/index.jsx
cyb/src/containers/temple/components/canvasOne/index.jsx
cyb/src/containers/portal/components/Released/index.jsx
cyb/src/containers/portal/components/currentGift/index.jsx
pussy-ts/src/containers/sigma/components/cardUi/BtnArrow/index.jsx
pussy-ts/src/containers/sigma/components/cardUi/ChartTotal/index.jsx
cyb/src/containers/sigma/components/cardUi/ChartTotal/index.jsx
pussy-ts/src/containers/sigma/components/cardUi/DetailsBalance/index.jsx
cyb/src/containers/sigma/components/cardUi/BtnArrow/index.jsx
cyb/src/containers/sigma/components/cardUi/DetailsBalance/index.jsx

Neighbours