diff --git a/packages/nextjs/app/builders/0x26BfbD8ED2B302ec2c2B6f063C4caF7abcB062e0/page.tsx b/packages/nextjs/app/builders/0x26BfbD8ED2B302ec2c2B6f063C4caF7abcB062e0/page.tsx new file mode 100644 index 0000000..067f9d1 --- /dev/null +++ b/packages/nextjs/app/builders/0x26BfbD8ED2B302ec2c2B6f063C4caF7abcB062e0/page.tsx @@ -0,0 +1,70 @@ +import Image from "next/image"; +import type { NextPage } from "next"; +import { FaDiscord, FaGithub, FaTelegram } from "react-icons/fa"; +import { Address } from "~~/components/scaffold-eth"; + +const PeterProfile: NextPage = () => { + const socials = [ + { + name: "Telegram", + icon: , + address: "https://telegram.me/pbkompasz", + }, + { + name: "Discord", + icon: , + address: "https://discordapp.com/users/kbence9208", + }, + { + name: "GitHub", + icon: , + address: "https://github.com/pbkompasz", + }, + ]; + + return ( +
+
+ {"Profile"} +
+

Peter Kompasz

+
+

Fullstack Developer

+

+ Hello! I'm Peter. +
+ My journey into web3 began with studying computer science at + university, followed by a stint in web development. +
+ Currently, I'm transitioning into web3 and{" "} + smart contract development, which I'm really{" "} + passionate about +

+
+
+ {socials.map((social, id) => ( + + {social.icon} + + ))} +
+
+
+
+
+ ); +}; + +export default PeterProfile; diff --git a/packages/nextjs/app/builders/0x62CeF3Ca8b52a9C69a17236CA2c56Cdb7a383E8e/page.tsx b/packages/nextjs/app/builders/0x549dd44DEA0127254dA32b0C4e79ae3D2CB8b94d/page.tsx similarity index 100% rename from packages/nextjs/app/builders/0x62CeF3Ca8b52a9C69a17236CA2c56Cdb7a383E8e/page.tsx rename to packages/nextjs/app/builders/0x549dd44DEA0127254dA32b0C4e79ae3D2CB8b94d/page.tsx diff --git a/packages/nextjs/app/builders/0xe9Ad7D1C2069E0Fa9b5852Adc77C9196651BB8b8/components/Socials.tsx b/packages/nextjs/app/builders/0xe9Ad7D1C2069E0Fa9b5852Adc77C9196651BB8b8/components/Socials.tsx new file mode 100644 index 0000000..5ee6cb7 --- /dev/null +++ b/packages/nextjs/app/builders/0xe9Ad7D1C2069E0Fa9b5852Adc77C9196651BB8b8/components/Socials.tsx @@ -0,0 +1,21 @@ +import Link from "next/link"; +import { FaGithub, FaXTwitter } from "react-icons/fa6"; + +const Socials: React.FC = () => { + const socialPlatforms = [ + { name: "github", url: "https://github.com/krvvs", icon: }, + { name: "twitter", url: "https://x.com/xkrvsx", icon: }, + ]; + + return ( +
+ {socialPlatforms.map(social => ( + + {social.icon} + + ))} +
+ ); +}; + +export default Socials; diff --git a/packages/nextjs/app/builders/0xe9Ad7D1C2069E0Fa9b5852Adc77C9196651BB8b8/page.tsx b/packages/nextjs/app/builders/0xe9Ad7D1C2069E0Fa9b5852Adc77C9196651BB8b8/page.tsx new file mode 100644 index 0000000..c9643b3 --- /dev/null +++ b/packages/nextjs/app/builders/0xe9Ad7D1C2069E0Fa9b5852Adc77C9196651BB8b8/page.tsx @@ -0,0 +1,54 @@ +"use client"; + +import Socials from "./components/Socials"; +import type { NextPage } from "next"; +import { useEnsAvatar, useEnsName } from "wagmi"; +import { Address } from "~~/components/scaffold-eth"; + +const builderAddress = "0xe9Ad7D1C2069E0Fa9b5852Adc77C9196651BB8b8"; +const shortBuilderAddress = builderAddress.slice(0, 6); + +const KrvvsProfile: NextPage = () => { + const { data: fetchedEns } = useEnsName({ + address: builderAddress, + chainId: 1, + }); + + const { data: fetchedEnsAvatar } = useEnsAvatar({ + name: fetchedEns ? fetchedEns : "", + chainId: 1, + }); + + return ( +
+
+
+
+ {/* eslint-disable-next-line @next/next/no-img-element */} + Builder's Avatar +
+
+
+
{fetchedEns || shortBuilderAddress}
+ +
+ +
+

Hello World!

+

+ I am a builder who enjoys learning and creating value, with a strong interest in bringing blockchain + technologies to life. +

+
+
+
+
+
+
+ ); +}; + +export default KrvvsProfile; diff --git a/packages/nextjs/app/page.tsx b/packages/nextjs/app/page.tsx index e3276c1..2ba44ec 100644 --- a/packages/nextjs/app/page.tsx +++ b/packages/nextjs/app/page.tsx @@ -3,8 +3,18 @@ import Link from "next/link"; import type { NextPage } from "next"; import { BugAntIcon, MagnifyingGlassIcon } from "@heroicons/react/24/outline"; +import { useScaffoldReadContract } from "~~/hooks/scaffold-eth"; const Home: NextPage = () => { + const { + data: checkedInCounter, + error, + isLoading: contractLoading, + } = useScaffoldReadContract({ + contractName: "BatchRegistry", + functionName: "checkedInCounter", + }); + return ( <>
@@ -14,14 +24,23 @@ const Home: NextPage = () => { Batch 10

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

-

- - Checked-in builders{" "} - - page - - -

+ + {error ? ( +
+

Error fetching contract data: {error.message}

+
+ ) : ( +
+ Checked in builders count: + {contractLoading ? ( + +
+
+ ) : ( + {checkedInCounter !== undefined ? Number(checkedInCounter) : "0"} + )} +
+ )}
diff --git a/packages/nextjs/components/Header.tsx b/packages/nextjs/components/Header.tsx index f24a1de..aead9dc 100644 --- a/packages/nextjs/components/Header.tsx +++ b/packages/nextjs/components/Header.tsx @@ -90,11 +90,11 @@ export const Header = () => {
- SE2 logo + Batch10 logo
- Scaffold-ETH - Ethereum dev stack + BATCH #10 + NextGen Builders
    diff --git a/packages/nextjs/next.config.js b/packages/nextjs/next.config.js index d765869..52b5b18 100644 --- a/packages/nextjs/next.config.js +++ b/packages/nextjs/next.config.js @@ -14,6 +14,16 @@ const nextConfig = { config.externals.push("pino-pretty", "lokijs", "encoding"); return config; }, + images: { + remotePatterns: [ + { + protocol: "https", + hostname: "avatars.githubusercontent.com", + port: "", + pathname: "/u/**", + }, + ], + }, }; module.exports = nextConfig; diff --git a/packages/nextjs/public/0x26BfbD8ED2B302ec2c2B6f063C4caF7abcB062e0-avatar.jpg b/packages/nextjs/public/0x26BfbD8ED2B302ec2c2B6f063C4caF7abcB062e0-avatar.jpg new file mode 100644 index 0000000..fb03ad9 Binary files /dev/null and b/packages/nextjs/public/0x26BfbD8ED2B302ec2c2B6f063C4caF7abcB062e0-avatar.jpg differ diff --git a/packages/nextjs/public/logo.png b/packages/nextjs/public/logo.png new file mode 100644 index 0000000..bce6357 Binary files /dev/null and b/packages/nextjs/public/logo.png differ