@@ -13,8 +13,9 @@ import {
1313 EyeIcon ,
1414 QrCodeIcon ,
1515} from "@heroicons/react/24/outline" ;
16+ import { ClockIcon } from "@heroicons/react/24/outline" ;
1617import { BlockieAvatar } from "~~/components/scaffold-eth" ;
17- import { useCopyToClipboard , useOutsideClick } from "~~/hooks/scaffold-eth" ;
18+ import { useCopyToClipboard , useOutsideClick , useScaffoldReadContract } from "~~/hooks/scaffold-eth" ;
1819import { getTargetNetworks } from "~~/utils/scaffold-eth" ;
1920import { isENS } from "~~/utils/scaffold-eth/common" ;
2021
@@ -44,6 +45,19 @@ export const AddressInfoDropdown = ({
4445 const [ selectingNetwork , setSelectingNetwork ] = useState ( false ) ;
4546 const dropdownRef = useRef < HTMLDetailsElement > ( null ) ;
4647
48+ const { data : isMember } = useScaffoldReadContract ( {
49+ contractName : "BatchRegistry" ,
50+ functionName : "allowList" ,
51+ args : [ address ] ,
52+ } ) ;
53+ const { data : checkInContractAddress } = useScaffoldReadContract ( {
54+ contractName : "BatchRegistry" ,
55+ functionName : "yourContractAddress" ,
56+ args : [ address ] ,
57+ } ) ;
58+ const isCheckedIn =
59+ ! ! checkInContractAddress && checkInContractAddress !== "0x0000000000000000000000000000000000000000" ;
60+
4761 const closeDropdown = ( ) => {
4862 setSelectingNetwork ( false ) ;
4963 dropdownRef . current ?. removeAttribute ( "open" ) ;
@@ -59,6 +73,21 @@ export const AddressInfoDropdown = ({
5973 < span className = "ml-2 mr-1" >
6074 { isENS ( displayName ) ? displayName : checkSumAddress ?. slice ( 0 , 6 ) + "..." + checkSumAddress ?. slice ( - 4 ) }
6175 </ span >
76+ < span className = "ml-1 flex items-center gap-1" >
77+ { ! isMember && < span className = "badge badge-ghost badge-xs" > Not in batch</ span > }
78+ { isMember && isCheckedIn ? (
79+ < span className = "badge badge-info badge-xs gap-1" >
80+ < CheckCircleIcon className = "h-3 w-3" />
81+ Checked-in
82+ </ span >
83+ ) : null }
84+ { isMember && ! isCheckedIn ? (
85+ < span className = "badge badge-warning badge-xs gap-1" >
86+ < ClockIcon className = "h-3 w-3" />
87+ Not checked-in
88+ </ span >
89+ ) : null }
90+ </ span >
6291 < ChevronDownIcon className = "h-6 w-4 ml-2 sm:ml-0" />
6392 </ summary >
6493 < ul className = "dropdown-content menu z-2 p-2 mt-2 shadow-center shadow-accent bg-base-200 rounded-box gap-1" >
0 commit comments