From 9fe14efc17b0954c1e318f44fff1711b41a90bf8 Mon Sep 17 00:00:00 2001 From: Vedant Joshi Date: Sun, 24 Nov 2024 01:22:54 +0530 Subject: [PATCH 1/2] 2. Personal Page --- .../page.tsx | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 packages/nextjs/app/builders/0xc4Ad6218B68514161fFeC5dA54E1D30462C27CCD/page.tsx diff --git a/packages/nextjs/app/builders/0xc4Ad6218B68514161fFeC5dA54E1D30462C27CCD/page.tsx b/packages/nextjs/app/builders/0xc4Ad6218B68514161fFeC5dA54E1D30462C27CCD/page.tsx new file mode 100644 index 0000000..36c737b --- /dev/null +++ b/packages/nextjs/app/builders/0xc4Ad6218B68514161fFeC5dA54E1D30462C27CCD/page.tsx @@ -0,0 +1,118 @@ +import { IconType } from "react-icons"; +import { FaEnvelope, FaGithub, FaLinkedin, FaTwitter } from "react-icons/fa"; + +const ProfilePage = () => { + interface StyledIconProps extends React.HTMLAttributes { + icon: IconType; + size?: number; + color?: string; + } + + interface SocialLink { + href: string; + icon: IconType; + lightHoverColor: string; + darkHoverColor: string; + isEmail?: boolean; + } + + const socialLinks: SocialLink[] = [ + { + href: "https://github.com/Vedant-05", + icon: FaGithub, + lightHoverColor: "hover:text-gray-900", + darkHoverColor: "dark:hover:text-gray-200", + }, + { + href: "https://x.com/DecodingDegen", + icon: FaTwitter, + lightHoverColor: "hover:text-blue-400", + darkHoverColor: "dark:hover:text-blue-300", + }, + { + href: "https://www.linkedin.com/in/vedant-joshi-962a23191", + icon: FaLinkedin, + lightHoverColor: "hover:text-blue-600", + darkHoverColor: "dark:hover:text-blue-400", + }, + { + href: "mailto:itsmevedantjoshi@gmail.com", + icon: FaEnvelope, + lightHoverColor: "hover:text-red-500", + darkHoverColor: "dark:hover:text-red-400", + isEmail: true, + }, + ]; + + const StyledIcon: React.FC = ({ icon: Icon, className, size, color, ...props }) => { + return ( + + + + ); + }; + + return ( +
+
+ {/* Hero Section */} +
+
+ Profile +
+ +

Hi, I'm Vedant!

+
+

+ Finding my way back to Web3. Rooted in competitive programming (C++), growing in blockchain (Solidity). + Learning, building, and sharing the journey 🛠️ +

+
+ + {/* Main Content */} +
+ {/* About Section */} +
+

About Me

+

+ A Full Stack Engineer with a deep fascination for DeFi and blockchain technology. Having contributed to + notable DeFi protocols like Instadapp and Router Protocol, I've gained hands-on experience in + building decentralized solutions. While my journey includes significant web2 development, my passion lies + in web3 security and community engagement. Currently focused on bridging traditional finance with DeFi + innovations, while pursuing my path toward becoming a smart contract auditor and developer advocate. I + believe in making blockchain technology more accessible and secure for everyone. +

+
+ + {/* Connect Section */} +
+

Let's Connect

+
+ {socialLinks.map(({ href, icon: Icon, lightHoverColor, darkHoverColor }, index) => ( + + + + ))} +
+
+
+
+
+ ); +}; + +export default ProfilePage; From e41d5074657e85a740e3ac854ceb94385501be0d Mon Sep 17 00:00:00 2001 From: Vedant Joshi Date: Sun, 24 Nov 2024 09:26:37 +0530 Subject: [PATCH 2/2] Adviced Reviews Implemented --- .../page.tsx | 152 ++++++++++-------- 1 file changed, 82 insertions(+), 70 deletions(-) diff --git a/packages/nextjs/app/builders/0xc4Ad6218B68514161fFeC5dA54E1D30462C27CCD/page.tsx b/packages/nextjs/app/builders/0xc4Ad6218B68514161fFeC5dA54E1D30462C27CCD/page.tsx index 36c737b..2bc49a9 100644 --- a/packages/nextjs/app/builders/0xc4Ad6218B68514161fFeC5dA54E1D30462C27CCD/page.tsx +++ b/packages/nextjs/app/builders/0xc4Ad6218B68514161fFeC5dA54E1D30462C27CCD/page.tsx @@ -1,59 +1,61 @@ +import { type NextPage } from "next"; import { IconType } from "react-icons"; import { FaEnvelope, FaGithub, FaLinkedin, FaTwitter } from "react-icons/fa"; -const ProfilePage = () => { - interface StyledIconProps extends React.HTMLAttributes { - icon: IconType; - size?: number; - color?: string; - } +// Interfaces moved outside the component +interface StyledIconProps extends React.HTMLAttributes { + icon: IconType; + size?: number; + color?: string; +} - interface SocialLink { - href: string; - icon: IconType; - lightHoverColor: string; - darkHoverColor: string; - isEmail?: boolean; - } +interface SocialLink { + href: string; + icon: IconType; + lightHoverColor: string; + darkHoverColor: string; + isEmail?: boolean; +} - const socialLinks: SocialLink[] = [ - { - href: "https://github.com/Vedant-05", - icon: FaGithub, - lightHoverColor: "hover:text-gray-900", - darkHoverColor: "dark:hover:text-gray-200", - }, - { - href: "https://x.com/DecodingDegen", - icon: FaTwitter, - lightHoverColor: "hover:text-blue-400", - darkHoverColor: "dark:hover:text-blue-300", - }, - { - href: "https://www.linkedin.com/in/vedant-joshi-962a23191", - icon: FaLinkedin, - lightHoverColor: "hover:text-blue-600", - darkHoverColor: "dark:hover:text-blue-400", - }, - { - href: "mailto:itsmevedantjoshi@gmail.com", - icon: FaEnvelope, - lightHoverColor: "hover:text-red-500", - darkHoverColor: "dark:hover:text-red-400", - isEmail: true, - }, - ]; +// Reusable styled icon component +const StyledIcon: React.FC = ({ icon: Icon, className, size, color, ...props }) => ( + + + +); - const StyledIcon: React.FC = ({ icon: Icon, className, size, color, ...props }) => { - return ( - - - - ); - }; +// Social links data +const socialLinks: SocialLink[] = [ + { + href: "https://github.com/Vedant-05", + icon: FaGithub, + lightHoverColor: "hover:text-gray-900", + darkHoverColor: "dark:hover:text-gray-200", + }, + { + href: "https://x.com/DecodingDegen", + icon: FaTwitter, + lightHoverColor: "hover:text-blue-400", + darkHoverColor: "dark:hover:text-blue-300", + }, + { + href: "https://www.linkedin.com/in/vedant-joshi-962a23191", + icon: FaLinkedin, + lightHoverColor: "hover:text-blue-600", + darkHoverColor: "dark:hover:text-blue-400", + }, + { + href: "mailto:itsmevedantjoshi@gmail.com", + icon: FaEnvelope, + lightHoverColor: "hover:text-red-500", + darkHoverColor: "dark:hover:text-red-400", + isEmail: true, + }, +]; +const DeveloperProfilePage: NextPage = () => { return ( -
+
{/* Hero Section */}
@@ -61,13 +63,15 @@ const ProfilePage = () => { Profile
-

Hi, I'm Vedant!

+

+ Hi, I'm Vedant! +

-

+

Finding my way back to Web3. Rooted in competitive programming (C++), growing in blockchain (Solidity). Learning, building, and sharing the journey 🛠️

@@ -76,21 +80,33 @@ const ProfilePage = () => { {/* Main Content */}
{/* About Section */} -
-

About Me

-

- A Full Stack Engineer with a deep fascination for DeFi and blockchain technology. Having contributed to - notable DeFi protocols like Instadapp and Router Protocol, I've gained hands-on experience in - building decentralized solutions. While my journey includes significant web2 development, my passion lies - in web3 security and community engagement. Currently focused on bridging traditional finance with DeFi - innovations, while pursuing my path toward becoming a smart contract auditor and developer advocate. I - believe in making blockchain technology more accessible and secure for everyone. -

+
+

About Me

+
+

+ A Full Stack Engineer with a deep fascination for DeFi and blockchain technology. +

+

+ Having contributed to notable DeFi protocols like{" "} + Instadapp and + Router Protocol, I've + gained hands-on experience in building decentralized solutions. +

+

+ While my journey includes significant web2 development, my passion lies in web3 security and community + engagement. +

+

+ Currently focused on bridging traditional finance with DeFi innovations, while pursuing my path toward + becoming a smart contract auditor and developer advocate. I believe in making blockchain technology more + accessible and secure for everyone. +

+
{/* Connect Section */} -
-

Let's Connect

+
+

Let's Connect

@@ -115,4 +127,4 @@ const ProfilePage = () => { ); }; -export default ProfilePage; +export default DeveloperProfilePage;