@@ -53,16 +53,27 @@ function ExperienceTabContent() {
5353 className : "pb-5" ,
5454 } ) }
5555 { Position ( {
56- title : "Full Stack Developer (Part Time)" ,
56+ title : "Student Project Frontend Lead" ,
57+ dateRange : "Mar 2026 - Now" ,
58+ country : "Australia" ,
59+ highlights : [
60+ "Led the migration from 40+ Javascript files to Typescript while preserving original functionality with minor bug fixes." ,
61+ "Improved navigation adhering to UX principles." ,
62+ ] ,
63+ className : "pb-5" ,
64+ } ) }
65+ { Position ( {
66+ title : "Lead Full Stack Developer (Part Time)" ,
5767 dateRange : "Dec 2024 - Feb 2026" ,
5868 country : "Malaysia" ,
5969 highlights : [
6070 "Led a team to develop Astro websites with Payload CMS backend implementation." ,
71+ "Translated Figma wireframes into website implementation efficiently." ,
6172 "Managed Github Actions CI/CD and deployments." ,
6273 ] ,
6374 className : "pb-5" ,
6475 } ) }
65- { Position ( {
76+ { /* { Position({
6677 title: "Frontend Web Developer Intern",
6778 dateRange: "Jan 2024 - Apr 2024",
6879 country: "Malaysia",
@@ -71,7 +82,7 @@ function ExperienceTabContent() {
7182 "Used lazy-loading to optimise page load speeds. ",
7283 "Ensured CMS allowed easy yet flexible customisations for clients.",
7384 ],
74- } ) }
85+ }) } */ }
7586 </ >
7687 ) ;
7788}
@@ -210,53 +221,58 @@ const lineMoveCSS = `
210221` ;
211222
212223function Position ( {
213- title,
214- dateRange,
215- country,
216- summary = "" ,
217- className = "" ,
218- highlights = [ ] ,
224+ title,
225+ institution,
226+ dateRange,
227+ country,
228+ summary = "" ,
229+ className = "" ,
230+ highlights = [ ] ,
219231} : {
220- title : string ;
221- institution ?: string ;
222- dateRange : string ;
223- country : string ;
224- summary ?: string ;
225- className ?: string ;
226- highlights ?: Array < string > ;
232+ title : string ;
233+ institution ?: string ;
234+ dateRange : string ;
235+ country : string ;
236+ summary ?: string ;
237+ className ?: string ;
238+ highlights ?: Array < string > ;
227239} ) {
228- return (
229- < >
230- < style > { lineMoveCSS } </ style >
231- < div className = "position-el flex flex-row items-start gap-3" >
232- < div className = "flex flex-col items-center justify-start gap-2 self-stretch pt-2" >
233- < div className = "bg-accent h-2 w-2 rounded-full" > </ div >
234- < div className = "w-[1px] flex-grow bg-gray-700" > </ div >
235- </ div >
236- < div className = { className } >
237- < h2 className = "text-lg font-bold" > { title } </ h2 >
238- < div className = "mt-1 flex flex-col items-start justify-start gap-1" >
239- < div className = "text-muted-foreground flex flex-row items-center justify-start gap-1 bg-size-[100%_200%] text-xs" >
240- { CalendarIcon ( ) } { dateRange }
241- </ div >
242- < div className = "text-muted-foreground mb-2 flex w-full flex-row items-center justify-start gap-5 text-xs" >
243- < div className = "flex flex-row items-center justify-start gap-1" >
244- { LocationIcon ( ) } { country }
245- </ div >
246- </ div >
247- </ div >
248- {
249- summary && (
250- < p className = "text-base" > { summary } </ p >
251- )
252- }
253- < ul className = "list-inside list-disc" >
254- { highlights . map ( ( highlight , i ) => (
255- < li key = { `highlight-{i}` } > { highlight } </ li >
256- ) ) }
257- </ ul >
258- </ div >
259- </ div >
260- </ >
261- ) ;
240+ return (
241+ < >
242+ < style > { lineMoveCSS } </ style >
243+ < div className = "position-el flex flex-row items-start gap-3" >
244+ < div className = "flex flex-col items-center justify-start gap-2 self-stretch pt-2" >
245+ < div className = "bg-accent h-2 w-2 rounded-full" > </ div >
246+ < div className = "w-[1px] flex-grow bg-gray-700" > </ div >
247+ </ div >
248+ < div className = { className } >
249+ < h2 className = "text-lg font-bold" > { title } </ h2 >
250+ < div className = "mt-1 flex flex-col items-start justify-start gap-1" >
251+ < div className = "text-muted-foreground flex flex-row items-center justify-start gap-1 text-xs" >
252+ < CalendarIcon /> { dateRange }
253+ </ div >
254+ < div className = "text-muted-foreground mb-2 flex w-full flex-row items-center justify-start gap-5 text-xs" >
255+ { institution && (
256+ < div className = "flex flex-row items-center justify-start gap-1" >
257+ < BriefCaseIcon /> { institution }
258+ </ div >
259+ ) }
260+
261+ < div className = "flex flex-row items-center justify-start gap-1" >
262+ < LocationIcon /> { country }
263+ </ div >
264+ </ div >
265+
266+ { summary && < p className = "text-base" > { summary } </ p > }
267+
268+ < ul className = "list-inside list-disc" >
269+ { highlights . map ( ( highlight , i ) => (
270+ < li key = { `highlight-${ i } ` } > { highlight } </ li >
271+ ) ) }
272+ </ ul >
273+ </ div >
274+ </ div >
275+ </ div >
276+ </ >
277+ ) ;
262278}
0 commit comments