Skip to content

Commit 901b07c

Browse files
authored
Merge branch 'BuidlGuidl:main' into my-builder-page
2 parents 7b0b3f0 + f057cf5 commit 901b07c

File tree

5 files changed

+245
-5
lines changed

5 files changed

+245
-5
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@
99
## Introduction
1010

1111
Let’s get you up to speed on what this program is all about and what you can look forward to.
12-
At the heart of it all is this GitHub repository, where you’ll collaborate with your batch members by working on issues and submitting pull requests. To graduate successfully you will need to complete [Issue #1](/../../issues/9), [Issue #2](/../../issues/8) and show engagment in solving other issues. If you run into any issues or have any questions, reach out to us in the Telegram group.
12+
At the heart of it all is this GitHub repository, where you’ll collaborate with your batch members by working on issues and submitting pull requests. To graduate successfully you will need to complete [Issue a)](/../../issues/9), [Issue b)](/../../issues/8) and show engagment in solving other issues. If you run into any issues or have any questions, reach out to us in the Telegram group.
1313

1414
Here’s a quick rundown of what you’ll be doing:
1515

1616
1. **Introduce Yourself:** Start by introducing yourself to the batch and mentors in GitHub discussion.
17-
2. **Complete [Issue #1](/../../issues/9):** 'Check in' to our smart contract by writing one of your own.
18-
3. **Move to [Issue #2](/../../issues/8):** Create a personal page and submit it to the batch repository via a pull request (PR).
17+
2. **Complete [Issue a)](/../../issues/9):** 'Check in' to our smart contract by writing one of your own.
18+
3. **Move to [Issue b)](/../../issues/8):** Create a personal page and submit it to the batch repository via a pull request (PR).
1919
4. **Choose Open Issues:** After completing the initial tasks, explore and pick other open issues to work on—either individually or by collaborating with other batch members.
20-
5. **Graduate Successfully:** To graduate and mint the Graduation NFT (#9), you must complete [Issue #1](/../../issues/9), [Issue #2](/../../issues/8) and gives your best effort in solving other issues.
20+
5. **Graduate Successfully:** To graduate and mint the Graduation NFT (#9), you must complete [Issue a)](/../../issues/9), [Issue b)](/../../issues/8) and gives your best effort in solving other issues.
2121

2222
We aim to empower you with the skills of dApp development and collaborating with other developers. Remember, we’ll be with you every step of the way. Let’s build something amazing together!
2323

@@ -27,7 +27,7 @@ First, since our contract is deployed on the Arbitrum chain, we’ve ensured you
2727

2828
Then you will head to the open Introductions discussion in your batch's GitHub repo and make a post introducing yourself. Also feel free to introduce yourself in the batch Telegram channel as well if you want.
2929

30-
Next head to the Issues tab of your batch's Github repo. Once you complete Issue #1, move on to Issue #2. Everyone will complete the first two issues on their own, then can start taking on the other issues. Work and collaborate with your batch members in both Github and Telegram for a real-world experience. If you're working on an issue, looking to collaborate on an issue, or want feedback on an issue or pull request, shout out to your batch!
30+
Next head to the Issues tab of your batch's Github repo. Once you complete Issue a), move on to Issue b). Everyone will complete the first two issues on their own, then can start taking on the other issues. Work and collaborate with your batch members in both Github and Telegram for a real-world experience. If you're working on an issue, looking to collaborate on an issue, or want feedback on an issue or pull request, shout out to your batch!
3131

3232
> 😲 Github can seem daunting! Take a look at our detailed guide on the "Fork and Pull" Github process [here](https://gist.github.com/ZakGriffith/69d1eb8baebddd7d370b87a65a7e3ec0).
3333
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
export const GitHubIcon = () => (
2+
<svg
3+
xmlns="http://www.w3.org/2000/svg"
4+
width="24"
5+
height="24"
6+
viewBox="0 0 24 24"
7+
fill="none"
8+
stroke="currentColor"
9+
strokeWidth="2"
10+
strokeLinecap="round"
11+
strokeLinejoin="round"
12+
>
13+
<path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22" />
14+
</svg>
15+
);
16+
17+
export const TwitterIcon = () => (
18+
<svg
19+
xmlns="http://www.w3.org/2000/svg"
20+
width="24"
21+
height="24"
22+
viewBox="0 0 24 24"
23+
fill="none"
24+
stroke="currentColor"
25+
strokeWidth="2"
26+
strokeLinecap="round"
27+
strokeLinejoin="round"
28+
>
29+
<path d="M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z" />
30+
</svg>
31+
);
32+
33+
export const LinkedInIcon = () => (
34+
<svg
35+
xmlns="http://www.w3.org/2000/svg"
36+
width="24"
37+
height="24"
38+
viewBox="0 0 24 24"
39+
fill="none"
40+
stroke="currentColor"
41+
strokeWidth="2"
42+
strokeLinecap="round"
43+
strokeLinejoin="round"
44+
>
45+
<path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" />
46+
<rect x="2" y="9" width="4" height="12" />
47+
<circle cx="4" cy="4" r="2" />
48+
</svg>
49+
);
Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
import Image from "next/image";
2+
import { GitHubIcon, LinkedInIcon, TwitterIcon } from "./icons";
3+
import type { NextPage } from "next";
4+
import { Address } from "~~/components/scaffold-eth";
5+
6+
// Define skills in arrays for easier management
7+
const blockchainSkills = ["Solidity", "Foundry", "Hardhat", "Ethers"];
8+
const frontendSkills = ["React", "TypeScript", "NextJS", "TailwindCSS"];
9+
10+
// Define social links mapping
11+
const socialLinks = [
12+
{
13+
href: "https://github.com/dmystical-coder",
14+
label: "GitHub Profile",
15+
icon: <GitHubIcon />,
16+
},
17+
{
18+
href: "https://twitter.com/dmystical_coder",
19+
label: "Twitter Profile",
20+
icon: <TwitterIcon />,
21+
},
22+
{
23+
href: "https://linkedin.com/in/abdulsalam-baruwa",
24+
label: "LinkedIn Profile",
25+
icon: <LinkedInIcon />,
26+
},
27+
];
28+
29+
// Ethereum address
30+
const myAddress = "0x119d9A1ef0D16361284a9661727b363B04B5B0c8";
31+
32+
const DmysticalCoderProfile: NextPage = () => {
33+
return (
34+
<>
35+
{/* Main background - pure white in light mode, dark gray in dark mode */}
36+
<div className="min-h-screen bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100 font-mono pt-4 pb-8 transition-colors duration-300">
37+
<div className="max-w-5xl mx-auto px-4">
38+
{/* Profile Card - White with subtle shadow in light mode, dark in dark mode */}
39+
<div className="rounded-lg overflow-hidden shadow-md dark:shadow-lg bg-white dark:bg-gray-800 mb-8 border border-gray-200 dark:border-gray-700 transition-all duration-300">
40+
{/* Title bar - Vibrant blue in light mode, darker blue in dark mode */}
41+
<div className="bg-blue-500 dark:bg-blue-800 text-white p-4 uppercase font-bold transition-colors duration-300">
42+
<h1 className="text-2xl font-bold tracking-wider">BLOCKCHAIN DEVELOPER</h1>
43+
</div>
44+
45+
<div className="grid grid-cols-1 md:grid-cols-3 gap-6 p-6">
46+
{/* Profile image in the first column */}
47+
<div className="flex justify-center flex-col items-center">
48+
<div className="relative mb-4">
49+
<div className="relative aspect-square w-48 rounded-lg overflow-hidden shadow-md border-2 border-blue-300 dark:border-blue-600">
50+
<Image
51+
src="https://avatars.githubusercontent.com/u/63591055?v=4"
52+
alt="Profile image"
53+
className="object-cover"
54+
fill
55+
sizes="(max-width: 768px) 100vw, 192px"
56+
/>
57+
</div>
58+
</div>
59+
60+
{/* Experience button moved beneath the profile image */}
61+
<div className="relative mt-2">
62+
<div className="relative rounded-full px-8 py-3 inline-block bg-white dark:bg-gray-800 shadow-md border-2 border-indigo-300 dark:border-indigo-600">
63+
<div className="text-md text-center text-gray-700 dark:text-gray-300">Experience</div>
64+
<div className="text-xl font-bold text-indigo-600 dark:text-indigo-400 text-center">+1 YEARS</div>
65+
</div>
66+
</div>
67+
</div>
68+
69+
{/* Bio content in the second and third columns */}
70+
<div className="col-span-2">
71+
<h2 className="text-4xl font-bold mb-4 uppercase text-blue-600 dark:text-blue-400">Dmystical-Coder</h2>
72+
73+
<div className="mb-6">
74+
<p className="mb-4 text-lg text-gray-800 dark:text-gray-200">
75+
Hey folks, I&apos;m a passionate blockchain developer who loves to learn, grow and create awesome
76+
dApps. Yes I do create!! :)
77+
</p>
78+
79+
<p className="mb-4 text-gray-700 dark:text-gray-300">
80+
A passionate blockchain developer with a deep fascination for decentralized technologies. I
81+
specialize in creating intuitive dApps that bridge the gap between complex blockchain architecture
82+
and seamless user experience.
83+
</p>
84+
</div>
85+
86+
<div className="flex flex-wrap gap-4">
87+
<div className="address-container rounded-lg p-4 bg-blue-50 dark:bg-gray-700 mb-6 text-sm break-all shadow-sm border border-blue-200 dark:border-blue-700">
88+
<div className="font-bold uppercase mb-1 text-blue-700 dark:text-blue-300">ETH Address:</div>
89+
<Address address={myAddress} format="long" />
90+
</div>
91+
</div>
92+
</div>
93+
</div>
94+
</div>
95+
96+
{/* Skills grid - White background in light mode */}
97+
<div className="rounded-lg overflow-hidden shadow-md dark:shadow-lg bg-white dark:bg-gray-800 mb-8 border border-gray-200 dark:border-gray-700">
98+
<div className="bg-blue-500 dark:bg-blue-800 text-white p-4">
99+
<h2 className="text-xl font-bold uppercase tracking-wider">SKILLS</h2>
100+
</div>
101+
102+
<div className="grid grid-cols-1 md:grid-cols-2 divide-y md:divide-y-0 md:divide-x divide-gray-200 dark:divide-gray-700">
103+
{/* Left column - Blockchain Skills */}
104+
<div className="p-6">
105+
<h3 className="text-lg font-bold mb-4 uppercase text-blue-600 dark:text-blue-400">Blockchain</h3>
106+
107+
<ul className="space-y-3">
108+
{blockchainSkills.map(skill => (
109+
<li
110+
key={skill}
111+
className="rounded-md p-3 bg-white dark:bg-gray-700 shadow-sm border border-blue-200 dark:border-blue-600"
112+
>
113+
<span className="font-bold text-blue-600 dark:text-blue-300">{skill}</span>
114+
</li>
115+
))}
116+
</ul>
117+
</div>
118+
119+
{/* Right column - Frontend Skills */}
120+
<div className="p-6">
121+
<h3 className="text-lg font-bold mb-4 uppercase text-blue-600 dark:text-blue-400">Frontend</h3>
122+
123+
<ul className="space-y-3">
124+
{frontendSkills.map(skill => (
125+
<li
126+
key={skill}
127+
className="rounded-md p-3 bg-white dark:bg-gray-700 shadow-sm border border-blue-200 dark:border-blue-600"
128+
>
129+
<span className="font-bold text-blue-600 dark:text-blue-300">{skill}</span>
130+
</li>
131+
))}
132+
</ul>
133+
</div>
134+
</div>
135+
</div>
136+
137+
{/* Footer with social links */}
138+
<div className="rounded-lg overflow-hidden shadow-md dark:shadow-lg bg-white dark:bg-gray-800 mb-8 border border-gray-200 dark:border-gray-700">
139+
<div className="p-4 border-b border-gray-200 dark:border-gray-700 uppercase font-bold text-blue-600 dark:text-blue-400">
140+
SOCIAL LINKS:
141+
</div>
142+
<div className="grid grid-cols-1 md:grid-cols-2 divide-y md:divide-y-0 md:divide-x divide-gray-200 dark:divide-gray-700">
143+
<div className="p-4 flex justify-center md:justify-start gap-4">
144+
{socialLinks.map(({ href, label, icon }) => (
145+
<a
146+
key={href}
147+
href={href}
148+
target="_blank"
149+
rel="noopener noreferrer"
150+
className="p-3 rounded-full bg-white hover:bg-blue-500 text-gray-700 hover:text-white focus:ring-2 focus:ring-blue-400 dark:bg-gray-700 dark:text-gray-200 dark:hover:bg-blue-600 shadow-sm hover:shadow-md border border-gray-200 dark:border-gray-600"
151+
aria-label={label}
152+
>
153+
{icon}
154+
</a>
155+
))}
156+
</div>
157+
<div className="p-4 flex flex-col md:flex-row items-center justify-end gap-4">
158+
<div className="flex items-center gap-2">
159+
<span className="uppercase font-bold text-gray-800 dark:text-gray-300">Nigeria</span>
160+
<span className="text-xl font-bold text-gray-400 dark:text-gray-500">|</span>
161+
</div>
162+
<div className="flex items-center">
163+
<span className="uppercase font-bold text-2xl">🇳🇬</span>
164+
</div>
165+
</div>
166+
</div>
167+
</div>
168+
169+
{/* Footer message */}
170+
<div className="text-center my-8">
171+
<p className="inline-block px-6 py-3 bg-white dark:bg-gray-800 font-bold text-blue-600 dark:text-blue-300 rounded-full shadow-sm border border-blue-200 dark:border-blue-700">
172+
Built with Scaffold-ETH 2 • Batch 16 • 2025
173+
</p>
174+
</div>
175+
</div>
176+
</div>
177+
</>
178+
);
179+
};
180+
181+
export default DmysticalCoderProfile;

packages/nextjs/next.config.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ const nextConfig: NextConfig = {
1212
eslint: {
1313
ignoreDuringBuilds: process.env.NEXT_PUBLIC_IGNORE_BUILD_ERROR === "true",
1414
},
15+
images: {
16+
remotePatterns: [
17+
{
18+
protocol: "https",
19+
hostname: "avatars.githubusercontent.com",
20+
},
21+
],
22+
},
1523
webpack: config => {
1624
config.resolve.fallback = { fs: false, net: false, tls: false };
1725
config.externals.push("pino-pretty", "lokijs", "encoding");

packages/nextjs/styles/globals.css

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
@import "tailwindcss";
22

3+
@custom-variant dark (&:where([data-theme=dark], [data-theme=dark] *));
4+
35
@theme {
46
--shadow-center: 0 0 12px -2px rgb(0 0 0 / 0.05);
57
--animate-pulse-fast: pulse 1s cubic-bezier(0.4, 0, 0.6, 1) infinite;

0 commit comments

Comments
 (0)