Skip to content

Commit 6055f30

Browse files
authored
Merge pull request #41 from Gbangbolaoluwagbemiga/feat/crypticdev-personal-page
add membership and check-in stats
2 parents 3d0da19 + 4d65963 commit 6055f30

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

packages/nextjs/components/scaffold-eth/RainbowKitCustomConnectButton/AddressInfoDropdown.tsx

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ import {
1313
EyeIcon,
1414
QrCodeIcon,
1515
} from "@heroicons/react/24/outline";
16+
import { ClockIcon } from "@heroicons/react/24/outline";
1617
import { BlockieAvatar } from "~~/components/scaffold-eth";
17-
import { useCopyToClipboard, useOutsideClick } from "~~/hooks/scaffold-eth";
18+
import { useCopyToClipboard, useOutsideClick, useScaffoldReadContract } from "~~/hooks/scaffold-eth";
1819
import { getTargetNetworks } from "~~/utils/scaffold-eth";
1920
import { 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

Comments
 (0)