import React, { useEffect, useMemo, useState } from 'react'; import Sidebar from '../../partials/Sidebar'; import Header from '../../partials/Header'; import DropdownTransaction from '../../components/DropdownTransaction'; import TransactionsTable from '../../partials/finance/TransactionsTable'; import PaginationClassic from '../../components/PaginationClassic'; import { observer } from 'mobx-react-lite'; import TransactionPanel from '../../partials/finance/TransactionPanel'; import { Filters } from '../../components/Filters'; const filters = { 'View All': 'all', Voted: 'Unvote', Pending: 'Pending', }; const Delegates = observer(() => { const [sidebarOpen, setSidebarOpen] = useState(false); const [currentDelegate, setCurrentDelegate] = useState(null); const [currentFilter, setCurrentFilter] = useState('View All'); const [lockedFor, setLockedFor] = useState('Voiting'); const delegates = useMemo(() => { if (filters[currentFilter] === 'all') return store.delegates; return store.delegates.filter((e) => e.status === filters[currentFilter]); }, [store.delegates, currentFilter]); const lockedLabel = ( lockedFor === 'Voiting' ? Object.values(store.accountSentVotes) : Object.values(store.accountLockedVotesCanReturn) .flat() .map((e) => e.amount) ) .reduce((sum, e) => sum + e, 0n) .toString(); useEffect(() => { store.fetchDelegates(0); }, []); return (
{/* Sidebar */} {/* Content area */}
{/* Site header */}
{/* Content */}
{/* Page header */}
{/* Left: Title */}

{lockedLabel} /idn

Locked for
{/* Filters */} {/* Table */} (lockedFor === 'Voiting' || store.accountLockedVotesCanReturnSum[delegate.address]) && setCurrentDelegate(delegate) } /> {/*/!* Pagination *!/*/} {/*
*/} {/* setFetchOffset((prev) => prev + 10)}*/} {/* onPrevPage={() => setFetchOffset((prev) => prev - 10)}*/} {/* />*/} {/*
*/} setCurrentDelegate(null)} delegate={currentDelegate || {}} unlocking={lockedFor !== 'Voiting'} postTransaction={(address, amount) => { if (lockedFor === 'Voiting') store.pushVoteTransaction(address, amount); else store.pushUnlockTransaction(address); }} />
); }); export default Delegates;