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 (
-
+
{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