11"use client" ;
22
33import Image from "next/image" ;
4+ import { SocialIcon } from "react-social-icons" ;
45
56// unused atm, as the member isnt linked a project on the backend
67/* export type MemberProfileProject = {
@@ -15,6 +16,10 @@ export type MemberProfileData = {
1516 about : string ;
1617 pronouns ?: string ;
1718 profile_picture ?: string ;
19+ social_media ?: {
20+ link : string ;
21+ socialMediaUserName : string ;
22+ } [ ] ;
1823} ;
1924
2025type MemberProfileProps = {
@@ -54,19 +59,49 @@ export function MemberProfile({ member }: MemberProfileProps) {
5459 ) }
5560 </ div >
5661 < Image
57- src = "/frame.svg"
62+ src = "/pixel-art- frame.svg"
5863 alt = "golden pixel art frame around profile picture"
59- width = { 176 }
60- height = { 192 }
61- className = "z-0 h-48 w-44 "
64+ width = { 200 }
65+ height = { 200 }
66+ className = "z-10 "
6267 />
6368 </ div >
6469 < div className = "flex w-4/5 flex-col gap-2 rounded-md p-2.5 font-firaCode" >
6570 < div className = "flex" >
6671 < p className = "min-w-fit font-jersey10 text-4xl" > { member . name } </ p >
6772 < hr className = "ml-5 hidden w-full self-center border-light_2 lg:flex" />
6873 </ div >
69- < p className = "text-lg" > { member . pronouns } </ p >
74+ < div className = "flex items-center gap-2" >
75+ { member . social_media && member . social_media . length > 0 && (
76+ < div className = "w-full" >
77+ < div className = "mt-2 flex flex-wrap items-center gap-2" >
78+ { member . social_media . map ( ( sm ) => (
79+ < span
80+ key = { sm . link }
81+ className = "ml-2 flex items-center gap-1"
82+ >
83+ < SocialIcon
84+ url = { sm . link }
85+ style = { { height : 24 , width : 24 } }
86+ />
87+ < a
88+ href = { sm . link }
89+ target = "_blank"
90+ rel = "noopener noreferrer"
91+ className = "font-firaCode text-base underline hover:text-primary"
92+ >
93+ { sm . socialMediaUserName }
94+ </ a >
95+ </ span >
96+ ) ) }
97+ </ div >
98+ </ div >
99+ ) }
100+ </ div >
101+ < div className = "flex items-center gap-2" >
102+ < p className = "text-lg" > { member . pronouns } </ p >
103+ </ div >
104+
70105 < p > { member . about } </ p >
71106 </ div >
72107 </ div >
0 commit comments