1
1
/* eslint-disable react/no-unescaped-entities */
2
2
3
3
import {
4
+ IconDefinition ,
4
5
faGithub ,
5
6
faLinkedinIn ,
6
7
faYoutube ,
@@ -10,7 +11,7 @@ import styled, { keyframes } from "styled-components";
10
11
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome" ;
11
12
import { List } from "./List" ;
12
13
import React from "react" ;
13
- import headshot from "../assets/img/headshot.jpg " ;
14
+ import headshot from "../assets/img/headshot_2024.png " ;
14
15
import { hobbies } from "../data/hobbies" ;
15
16
import { internships } from "../data/internships" ;
16
17
@@ -27,12 +28,12 @@ export const Home = () => {
27
28
< Headshot src = { headshot } alt = "NT" height = "225px" width = "225px" />
28
29
</ Header >
29
30
< Body >
30
- I'm a 4th year Computer Science student at the University of Waterloo.
31
- This January , I'll be joining { " " }
32
- < Link href = "https://www.ethglobal .com/" > ETHGlobal </ Link > in building the
33
- most valuable community in web3.
31
+ I'm a final year Computer Science student at the University of Waterloo.
32
+ This summer , I interned on the Console team at { " " }
33
+ < Link href = "https://www.cockroachlabs .com/" > Cockroach Labs </ Link > ( the
34
+ creators of CockroachDB) in New York City!
34
35
< List description = "Previously, I" items = { internships } />
35
- I'm currently seeking < b > Summer 2024 </ b > opportunities!
36
+ I'm currently seeking < b > 2025 new grad </ b > opportunities!
36
37
< PastProjects />
37
38
< List description = "In my free time, you can find me" items = { hobbies } />
38
39
< Youtube />
@@ -75,18 +76,23 @@ const Youtube = () => {
75
76
) ;
76
77
} ;
77
78
79
+ const IconLink = ( { icon, href } : { icon : IconDefinition ; href : string } ) => {
80
+ return (
81
+ < a href = { href } target = "_blank" rel = "noreferrer" >
82
+ < Icon icon = { icon } color = "grey" />
83
+ </ a >
84
+ ) ;
85
+ } ;
86
+
78
87
const IconLinks = ( ) => {
79
88
return (
80
89
< Icons >
81
- < a href = "https://www.github.com/nicholas-tao" >
82
- < Icon icon = { faGithub } color = "grey" />
83
- </ a >
84
- < a href = "https://www.linkedin.com/in/nicholastao" >
85
- < Icon icon = { faLinkedinIn } color = "grey" />
86
- </ a >
87
- < a href = "https://www.youtube.com/@nicholast" >
88
- < Icon icon = { faYoutube } color = "grey" />
89
- </ a >
90
+ < IconLink icon = { faGithub } href = "https://www.github.com/nicholas-tao" />
91
+ < IconLink
92
+ icon = { faLinkedinIn }
93
+ href = "https://www.linkedin.com/in/nicholastao"
94
+ />
95
+ < IconLink icon = { faYoutube } href = "https://www.youtube.com/@nicholast" />
90
96
</ Icons >
91
97
) ;
92
98
} ;
@@ -128,7 +134,28 @@ const Wave = styled.span`
128
134
display: inline-block;
129
135
` ;
130
136
131
- export const Link = styled . a < { bgColour ?: string } > `
137
+ export const Link = ( {
138
+ href,
139
+ children,
140
+ bgColour,
141
+ } : {
142
+ href : string ;
143
+ children : React . ReactNode ;
144
+ bgColour ?: string ;
145
+ } ) => {
146
+ return (
147
+ < StyledATag
148
+ href = { href }
149
+ target = "_blank"
150
+ rel = "noreferrer"
151
+ bgColour = { bgColour }
152
+ >
153
+ { children }
154
+ </ StyledATag >
155
+ ) ;
156
+ } ;
157
+
158
+ const StyledATag = styled . a < { bgColour ?: string } > `
132
159
font-weight: bold;
133
160
text-decoration: none;
134
161
color: black;
0 commit comments