1- import React from "react" ;
1+ import React , { useMemo } from "react" ;
22import styled from "styled-components" ;
33import { useNavigate , useParams } from "react-router-dom" ;
44import { useAccount } from "wagmi" ;
55import { OrderDirection } from "src/graphql/graphql" ;
66import { DisputeDetailsFragment , useMyCasesQuery } from "queries/useCasesQuery" ;
77import { useUserQuery } from "queries/useUser" ;
88import { decodeURIFilter , useRootPath } from "utils/uri" ;
9+ import { isUndefined } from "utils/index" ;
910import CasesDisplay from "components/CasesDisplay" ;
1011import ConnectWallet from "components/ConnectWallet" ;
1112import JurorInfo from "./JurorInfo" ;
@@ -54,6 +55,10 @@ const Dashboard: React.FC = () => {
5455 ) ;
5556 const { data : userData } = useUserQuery ( address , decodedFilter ) ;
5657 const totalCases = userData ?. user ?. disputes . length ;
58+ const totalPages = useMemo (
59+ ( ) => ( ! isUndefined ( totalCases ) ? Math . ceil ( totalCases / casesPerPage ) : 1 ) ,
60+ [ totalCases , casesPerPage ]
61+ ) ;
5762
5863 return (
5964 < Container >
@@ -63,10 +68,10 @@ const Dashboard: React.FC = () => {
6368 < Courts />
6469 < StyledCasesDisplay
6570 title = "My Cases"
66- disputes = { disputesData ?. user ?. disputes as DisputeDetailsFragment [ ] }
71+ disputes = { userData ?. user !== null ? ( disputesData ?. user ?. disputes as DisputeDetailsFragment [ ] ) : [ ] }
6772 numberDisputes = { totalCases }
6873 numberClosedDisputes = { 0 }
69- totalPages = { 10 }
74+ totalPages = { totalPages }
7075 currentPage = { pageNumber }
7176 setCurrentPage = { ( newPage : number ) => navigate ( `${ location } /${ newPage } /${ order } /${ filter } ` ) }
7277 { ...{ casesPerPage } }
0 commit comments