diff --git a/public/img1.png b/public/img1.png new file mode 100644 index 0000000..ecc0704 Binary files /dev/null and b/public/img1.png differ diff --git a/public/img2.png b/public/img2.png new file mode 100644 index 0000000..ccb205e Binary files /dev/null and b/public/img2.png differ diff --git a/src/app/buyer-profile/page.tsx b/src/app/buyer-profile/page.tsx new file mode 100644 index 0000000..a4067c8 --- /dev/null +++ b/src/app/buyer-profile/page.tsx @@ -0,0 +1,296 @@ +'use client' + +import { useState } from 'react'; +import Image from 'next/image'; +import Link from 'next/link'; + +interface LeaderboardEntry { + rank: number; + user: string; + avatar: string; + totalImpactGenerated: number; + sredazEarned: number; + numberOfIpSold: number; + stakedSredaz: string; +} + +interface UserProfile { + id: string; + avatar: string; + leaderboardPosition: number; + ipCollection: number; + ipSold: number; + totalQuadraticFunding: number; + referrals: number; +} + +const ProfilePage: React.FC = () => { + const [activeTab, setActiveTab] = useState('Dashboard'); + + const userProfile: UserProfile = { + id: '0xdafe492d9c673...', + avatar: '/img1.svg', + leaderboardPosition: 7, + ipCollection: 19, + ipSold: 19, + totalQuadraticFunding: 5300, + referrals: 26 + }; + + const leaderboardData: LeaderboardEntry[] = [ + { + rank: 1, + avatar: '/img2.svg', + user: '0XC05D900F7BE157DA02E7F760C67F4...', + totalImpactGenerated: 20, + sredazEarned: 30, + numberOfIpSold: 30, + stakedSredaz: '2070.5' + }, + { + rank: 2, + avatar: '/img2.svg', + user: '0XC05D900F7BE157DA02E7F760C67F4...', + totalImpactGenerated: 20, + sredazEarned: 30, + numberOfIpSold: 30, + stakedSredaz: '2,070.5' + }, + { + rank: 3, + avatar: '/img2.svg', + user: '0XC05D900F7BE157DA02E7F760C67F4...', + totalImpactGenerated: 20, + sredazEarned: 30, + numberOfIpSold: 30, + stakedSredaz: '2,070.5' + }, + { + rank: 4, + avatar: '/img2.svg', + user: '0XC05D900F7BE157DA02E7F760C67F4...', + totalImpactGenerated: 20, + sredazEarned: 30, + numberOfIpSold: 30, + stakedSredaz: '2,070.5' + }, + { + rank: 5, + avatar: '/img2.svg', + user: '0XC05D900F7BE157DA02E7F760C67F4...', + totalImpactGenerated: 20, + sredazEarned: 30, + numberOfIpSold: 30, + stakedSredaz: '2,070.5' + }, + { + rank: 6, + avatar: '/img2.svg', + user: '0XC05D900F7BE157DA02E7F760C67F4...', + totalImpactGenerated: 20, + sredazEarned: 30, + numberOfIpSold: 30, + stakedSredaz: '2,070.5' + }, + { + rank: 7, + avatar: '/img2.svg', + user: '0XC05D900F7BE157DA02E7F760C67F4...', + totalImpactGenerated: 20, + sredazEarned: 30, + numberOfIpSold: 30, + stakedSredaz: '2,070.5' + }, + { + rank: 8, + avatar: '/img2.svg', + user: '0XC05D900F7BE157DA02E7F760C67F4...', + totalImpactGenerated: 20, + sredazEarned: 30, + numberOfIpSold: 30, + stakedSredaz: '2,070.5' + }, + { + rank: 9, + avatar: '/img2.svg', + user: '0XC05D900F7BE157DA02E7F760C67F4...', + totalImpactGenerated: 20, + sredazEarned: 30, + numberOfIpSold: 30, + stakedSredaz: '2,070.5' + } + ]; + + const navItems = ['Dashboard', 'My Collection', 'Leaderboard']; + + return ( +
+ +
+
+
+
+

My Profile

+ +
+
+ Profile +
+
+ {userProfile.id} + +
+
+ +
+
+

Portfolio Overview

+
+ +
+
+ LEADERBOARD POSITION + {userProfile.leaderboardPosition} +
+ +
+ IP COLLECTION + {userProfile.ipCollection} +
+ +
+ IP SOLD + {userProfile.ipSold} +
+ +
+ TOTAL QUADRATIC FUNDING + ${userProfile.totalQuadraticFunding} +
+ +
+ REFERRALS + {userProfile.referrals} +
+
+
+
+
+ +
+
+
+
+
RANK
+
USER
+
TOTAL IMPACT GENERATED
+
SREDAZ EARNED
+
NUMBER OF IP SOLD
+
STAKED SREDAZ
+
+
+ +
+ {leaderboardData.map((entry) => ( +
+
{entry.rank}
+
+ User avatar + + {entry.user} + +
+
{entry.totalImpactGenerated}
+
{entry.sredazEarned}
+
{entry.numberOfIpSold}
+
{entry.stakedSredaz}
+
+ ))} +
+
+
+
+ + +
+
+ ); +}; + +export default ProfilePage; \ No newline at end of file