1
- import { ReactNode } from 'react' ;
1
+ import { ReactNode } from 'react' ;
2
2
import Section from './Section' ;
3
- import { SiReact , SiNextdotjs , SiVuedotjs , SiNuxtdotjs , SiSvelte , SiTypescript , SiPython , SiJava , SiKotlin , SiRust , SiCsharp } from 'react-icons/si' ;
3
+ import { SiReact , SiNextdotjs , SiVuedotjs , SiNuxtdotjs , SiSvelte , SiTypescript , SiPython , SiJava , SiKotlin , SiRust , SiCsharp } from 'react-icons/si' ;
4
4
5
5
6
6
// The "Meet our officers" section on the home page.
@@ -12,32 +12,29 @@ export default function Officers() {
12
12
< h2 className = "font-bold text-4xl mb-6" > Meet our officers:</ h2 >
13
13
14
14
< div className = "max-w-3xl mx-auto divide-y divide-tertiary/50" >
15
- < OfficerCard name = "Saumya Singhal" position = "Co-president" src = "/officers/saumya.png" languages = { [ 'vue' , 'nuxt' , 'ts' ] } >
16
- Saumya Singhal is an avid Vue developer, math addict, and founder of YMath and Gunn.One. She is also
17
- the vice president of Physics Club and Math Circle and the founder and director of the JLS Math
18
- Circle.
19
- </ OfficerCard >
20
- < OfficerCard name = "Alec Petridis" position = "Co-president" src = "/officers/alec.png" languages = { [ 'java' , 'rs' ] } reverse >
21
- Alec Petridis is an outspoken Rustacean and Antipodean. He enjoys finding exploits, participating in
22
- CTFs, and doing deep dives into lower-level systems like kernels and the V8 compiler.
15
+ < OfficerCard name = "Vivien Chen" position = "Co-president" src = "/officers/vivien.png" languages = { [ 'java' , 'py' ] } >
16
+ Vivien Chen is a Python and Scheme enthusiast interested in learning more about AI. She is also a
17
+ part of GRT. Sometimes she attempts to competitive program.
23
18
</ OfficerCard >
24
- < OfficerCard name = "Kevin Yu " position = "Co-vice president" src = "/officers/kevin .png" languages = { [ 'react' , 'next' , 'ts' , 'cs ' , 'kt' , 'svelte' ] } >
25
- Kevin Yu is a TypeScript enthusiast and co-founder of WATT. He is also the SEC Tech Commissioner, a
26
- member of the GRT controls subgroup, and the GRT webmaster .
19
+ < OfficerCard name = "Julia Kang " position = "Co-president" src = "/officers/julia .png" languages = { [ 'react' , 'next' , 'ts' , 'py ' , 'java' ] } reverse >
20
+ Julia Kang is an avid programmer who is interested in web development and machine learning. She has made
21
+ and maintained several web apps and also has some experience with NLP .
27
22
</ OfficerCard >
28
- < OfficerCard name = "Roger Fan" position = "Co-vice president" src = "/officers/roger.JPG" languages = { [ 'react' , 'next' , 'ts' ] } reverse >
23
+ < OfficerCard name = "Roger Fan" position = "Co-vice president" src = "/officers/roger.JPG" languages = { [ 'react' , 'next' , 'ts' ] } >
29
24
Roger Fan is a competitive mathlete and WATT contributor. He is also the co-vice president of Math
30
25
Circle and a devout Figma enthusiast.
31
26
</ OfficerCard >
32
- < OfficerCard name = "Anthony Ho" position = "Secretary " src = "/officers/anthony.jpg" languages = { [ 'java' , 'py' ] } >
33
- Anthony Ho is a junior at Gunn High School. He has experience in Java and Python, and is most interested
27
+ < OfficerCard name = "Anthony Ho" position = "Co-vice president " src = "/officers/anthony.jpg" languages = { [ 'java' , 'py' ] } reverse >
28
+ Anthony Ho is a senior at Gunn High School. He has experience in Java and Python, and is most interested
34
29
in exploring data science applications across different domains. Anthony has been involved in organizing
35
30
GunnHacks since freshman year and is excited to bring the best possible hacker experience to this year's
36
31
iteration. In his free time, he enjoys swimming, playing piano, and traveling.
37
32
</ OfficerCard >
38
- < OfficerCard name = "Vivien Chen" position = "Treasurer" src = "/officers/vivien.png" languages = { [ 'java' , 'py' ] } reverse >
39
- Vivien Chen is a Python and Scheme enthusiast interested in learning more about AI. She is also a
40
- rookie in GRT. Sometimes she attempts to competitive program.
33
+ < OfficerCard name = "Corbin Platti" position = "Secretary" src = "/officers/corbin.png" languages = { [ ] } >
34
+ { /* Corbin Platti is a ___. */ }
35
+ </ OfficerCard >
36
+ < OfficerCard name = "Stella Su" position = "Treasurer" src = "/officers/stella.png" languages = { [ ] } reverse >
37
+ { /* Stella Su is a ___. */ }
41
38
</ OfficerCard >
42
39
</ div >
43
40
</ Section >
@@ -49,7 +46,7 @@ type OfficerCardProps = {
49
46
src : string , children : ReactNode , languages ?: Language [ ] , reverse ?: boolean
50
47
}
51
48
function OfficerCard ( props : OfficerCardProps ) {
52
- const { name, position, src, children, languages, reverse} = props ;
49
+ const { name, position, src, children, languages, reverse } = props ;
53
50
return (
54
51
< div className = { 'flex gap-8 md:gap-10 py-7' + ( reverse ? ' flex-row-reverse' : '' ) } >
55
52
< img src = { src } alt = { name } className = "w-24 h-24 md:w-36 md:h-36 rounded-full object-cover flex-none" />
@@ -70,7 +67,7 @@ function OfficerCard(props: OfficerCardProps) {
70
67
}
71
68
72
69
type Language = "react" | "next" | "vue" | "nuxt" | "svelte" | "ts" | "py" | "java" | "kt" | "rs" | "cs" ;
73
- function LanguageIcon ( props : { language : Language } ) {
70
+ function LanguageIcon ( props : { language : Language } ) {
74
71
switch ( props . language ) {
75
72
case 'react' : return < SiReact /> ;
76
73
case 'next' : return < SiNextdotjs /> ;
0 commit comments