diff --git a/packages/nextjs/app/page.tsx b/packages/nextjs/app/page.tsx index 96a9436..347c77c 100644 --- a/packages/nextjs/app/page.tsx +++ b/packages/nextjs/app/page.tsx @@ -1,6 +1,7 @@ "use client"; import Link from "next/link"; +import CheckedInCounter from "../components/CheckedInCounter"; import type { NextPage } from "next"; import { BugAntIcon, MagnifyingGlassIcon } from "@heroicons/react/24/outline"; @@ -15,8 +16,7 @@ const Home: NextPage = () => {

Get started by taking a look at your batch GitHub repository.

- Checked in builders count: - To Be Implemented +

diff --git a/packages/nextjs/components/CheckedInCounter.tsx b/packages/nextjs/components/CheckedInCounter.tsx new file mode 100644 index 0000000..dac0fe1 --- /dev/null +++ b/packages/nextjs/components/CheckedInCounter.tsx @@ -0,0 +1,34 @@ +import { useEffect, useState } from "react"; +import { useScaffoldReadContract } from "~~/hooks/scaffold-eth"; + +const CheckInCount = () => { + const [feedback, setFeedback] = useState(""); + const [result, setResult] = useState(); + + const { + data: checkedIn, + isLoading: checkInLoading, + error: checkInError, + } = useScaffoldReadContract({ + contractName: "BatchRegistry", + functionName: "checkedInCounter", + }); + + useEffect(() => { + if (checkInError) { + setFeedback("Something went wrong"); + console.error(checkInError); + } else { + setResult(checkInLoading ? "..." : String(Number(checkedIn))); + } + }, [checkInError, checkInLoading, checkedIn]); + + return ( + <> + Checked in builders count: {result} + {feedback &&

{feedback}

} + + ); +}; + +export default CheckInCount;