File tree Expand file tree Collapse file tree 3 files changed +483
-0
lines changed Expand file tree Collapse file tree 3 files changed +483
-0
lines changed Original file line number Diff line number Diff line change @@ -31,6 +31,7 @@ const Navbar: React.FC = () => {
3131 href : "https://opsimate.vercel.app/#integrations" ,
3232 external : true ,
3333 } ,
34+ { name : "About" , href : "/about" } ,
3435 ] ;
3536
3637 const slackLink : NavigationItem = {
Original file line number Diff line number Diff line change 1+ import Link from "next/link" ;
2+
3+ export type Contributor = {
4+ name : string ;
5+ role : string ;
6+ country ?: string ;
7+ avatarUrl ?: string ;
8+ github ?: string ;
9+ linkedin ?: string ;
10+ quote ?: string ;
11+ } ;
12+
13+ type PersonCardProps = {
14+ contributor : Contributor ;
15+ } ;
16+
17+ const PersonCard : React . FC < PersonCardProps > = ( { contributor : c } ) => (
18+ < div className = "rounded-2xl p-6 bg-white dark:bg-surface-900 border border-surface-200 dark:border-surface-800 flex flex-col w-full max-w-[360px]" >
19+ < div className = "flex items-center gap-4" >
20+ < div className = "h-14 w-14 rounded-full overflow-hidden border border-surface-200 dark:border-surface-700 bg-surface-100 dark:bg-surface-800 flex items-center justify-center" >
21+ { c . avatarUrl ? (
22+ < img src = { c . avatarUrl } alt = { `${ c . name } avatar` } className = "h-full w-full object-cover" loading = "lazy" />
23+ ) : (
24+ < span className = "text-xl" aria-hidden = "true" > 👤</ span >
25+ ) }
26+ </ div >
27+ < div >
28+ < div className = "flex items-center gap-2" >
29+ < h3 className = "font-semibold text-surface-900 dark:text-white" > { c . name } </ h3 >
30+ { c . country && < span className = "text-lg" aria-label = "country" > { c . country } </ span > }
31+ </ div >
32+ < p className = "text-sm text-surface-600 dark:text-surface-400" > { c . role } </ p >
33+ </ div >
34+ </ div >
35+
36+ { c . quote && (
37+ < blockquote className = "mt-4 text-surface-700 dark:text-surface-300 italic" > "{ c . quote } "</ blockquote >
38+ ) }
39+
40+ { ( c . github || c . linkedin ) && (
41+ < div className = "mt-4 flex items-center gap-4" >
42+ { c . github && (
43+ < Link href = { c . github } target = "_blank" rel = "noopener noreferrer" className = "text-primary-600 dark:text-primary-400 hover:underline" >
44+ GitHub
45+ </ Link >
46+ ) }
47+ { c . linkedin && (
48+ < Link href = { c . linkedin } target = "_blank" rel = "noopener noreferrer" className = "text-primary-600 dark:text-primary-400 hover:underline" >
49+ LinkedIn
50+ </ Link >
51+ ) }
52+ </ div >
53+ ) }
54+ </ div >
55+ ) ;
56+
57+ export default PersonCard ;
You can’t perform that action at this time.
0 commit comments