diff --git a/src/components/v2v3/V2V3Project/ProjectDashboard/components/Cart/components/SummaryPayButton.tsx b/src/components/v2v3/V2V3Project/ProjectDashboard/components/Cart/components/SummaryPayButton.tsx index b4d565b33f..1fb95bbdda 100644 --- a/src/components/v2v3/V2V3Project/ProjectDashboard/components/Cart/components/SummaryPayButton.tsx +++ b/src/components/v2v3/V2V3Project/ProjectDashboard/components/Cart/components/SummaryPayButton.tsx @@ -1,18 +1,44 @@ -import { Trans } from '@lingui/macro' -import { Button } from 'antd' +import { useMemo } from 'react' +import { Button, Tooltip } from 'antd' +import { t, Trans } from '@lingui/macro' + import { useCartSummary } from '../hooks/useCartSummary' +import { useProjectIsOFACListed } from '../../../hooks/useProjectIsOFACListed' export const SummaryPayButton = ({ className }: { className?: string }) => { const { payProject, walletConnected } = useCartSummary() + const { isAddressListedInOFAC, isLoading: isOFACChecking } = + useProjectIsOFACListed() + + const isLoading = useMemo(() => { + return Boolean(walletConnected && isOFACChecking) + }, [walletConnected, isOFACChecking]) + + const isDisabled = useMemo(() => { + return Boolean(walletConnected && isAddressListedInOFAC) + }, [isAddressListedInOFAC, walletConnected]) + return ( - + + + ) } diff --git a/src/components/v2v3/V2V3Project/ProjectDashboard/components/PayProjectModal/components/MessageSection.tsx b/src/components/v2v3/V2V3Project/ProjectDashboard/components/PayProjectModal/components/MessageSection.tsx index 7867b5f820..bce4adac8b 100644 --- a/src/components/v2v3/V2V3Project/ProjectDashboard/components/PayProjectModal/components/MessageSection.tsx +++ b/src/components/v2v3/V2V3Project/ProjectDashboard/components/PayProjectModal/components/MessageSection.tsx @@ -37,7 +37,9 @@ export const MessageSection = () => {
Notice from {projectName}
-

{projectPayDisclosure}

+

+ {projectPayDisclosure} +

)} diff --git a/src/contexts/v2v3/V2V3ProjectOFACProvider.tsx b/src/contexts/v2v3/V2V3ProjectOFACProvider.tsx index 734479416e..bb87ded37b 100644 --- a/src/contexts/v2v3/V2V3ProjectOFACProvider.tsx +++ b/src/contexts/v2v3/V2V3ProjectOFACProvider.tsx @@ -7,10 +7,12 @@ import { useQuery } from 'react-query' const OFAC_API = 'https://api.wewantjusticedao.org/donation/validate' interface ProjectOFACContextType { + isLoading?: boolean isAddressListedInOFAC?: boolean } export const ProjectOFACContext = createContext({ + isLoading: false, isAddressListedInOFAC: undefined, }) @@ -22,7 +24,7 @@ export default function V2V3ProjectOFACProvider({ const { userAddress, isConnected } = useWallet() const { projectMetadata } = useProjectMetadata() - const { data: isAddressListedInOFAC } = useQuery( + const { data: isAddressListedInOFAC, isLoading } = useQuery( ['isAddressListedInOFAC', userAddress], async () => { if (!(projectMetadata?.projectRequiredOFACCheck && isConnected)) { @@ -47,7 +49,7 @@ export default function V2V3ProjectOFACProvider({ ) return ( - + {children} )