import React, { useEffect, useCallback, useMemo, useState, useRef } from 'react' import { Route, useRouteMatch, useLocation } from 'react-router-dom' import { useDispatch } from 'react-redux' import BigNumber from 'bignumber.js' import { useWeb3React } from '@web3-react/core' import { Image, Heading, RowType, Toggle, Text } from '@pancakeswap/uikit' import styled from 'styled-components' import FlexLayout from 'components/Layout/Flex' import Page from 'components/Layout/Page' import { useBoards } from 'state/hooks' import useRefresh from 'hooks/useRefresh' import { fetchBoardUserDataAsync, fetchBoardsPublicDataAsync } from 'state/actions' import { useTranslation } from 'contexts/Localization' import BoardCard from './components/BoardCard/BoardCard' import HeaderItem from './components/HeaderItem' const Header = styled.div` padding: 32px 0px; padding-left: 16px; padding-right: 16px; text-align: center; ${({ theme }) => theme.mediaQueries.sm} { padding-left: 24px; padding-right: 24px; } ` const SecondText = styled(Text)` white-space: break-spaces; ` const FlexLayoutMain = styled(FlexLayout)` margin-top: 20px; ` const Boards: React.FC = () => { const { t } = useTranslation() const boardsList = useBoards() const [query, setQuery] = useState('') const { account } = useWeb3React() const dispatch = useDispatch() const { fastRefresh } = useRefresh() useEffect(() => { dispatch(fetchBoardsPublicDataAsync()) if (account) { dispatch(fetchBoardUserDataAsync(account)) } }, [account, dispatch, fastRefresh]) const renderContent = (): JSX.Element => { return (