import { FlaskConical, GraduationCap, Building, Users, Calendar, MapPin, Award, ExternalLink, } from "lucide-react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "~/components/ui/card"; import { Badge } from "~/components/ui/badge"; import { experiences, awards, conferences, technicalSkills, relevantCoursework, } from "~/lib/data"; export default function ExperiencePage() { const researchExperience = experiences.filter( (exp) => exp.type === "research", ); const teachingExperience = experiences.filter( (exp) => exp.type === "teaching", ); const professionalExperience = experiences.filter( (exp) => exp.type === "professional", ); const leadershipExperience = experiences.filter( (exp) => exp.type === "leadership", ); const getIcon = (type: string) => { switch (type) { case "research": return FlaskConical; case "teaching": return GraduationCap; case "professional": return Building; case "leadership": return Users; default: return Building; } }; const renderExperienceSection = ( title: string, experiences: typeof researchExperience, delay = 1, ) => (

{title}

{experiences.map((exp, index) => { const IconComponent = getIcon(exp.type); return (
{exp.title} {exp.organization}
{exp.location}
{exp.period}
    {exp.description.map((item, itemIndex) => (
  • {item}
  • ))}
); })}
); return (
{/* Header */}

Experience

My comprehensive experience across research, teaching, professional development, and leadership roles.

{/* Research Experience */} {renderExperienceSection("Research Experience", researchExperience, 1)} {/* Teaching Experience */} {renderExperienceSection("Teaching Experience", teachingExperience, 2)} {/* Professional Experience */} {renderExperienceSection( "Professional Experience", professionalExperience, 3, )} {/* Leadership & Activities */} {renderExperienceSection( "Leadership & Activities", leadershipExperience, 4, )} {/* Technical Skills */}

Technical Skills

{Object.entries(technicalSkills).map(([category, skills], index) => (
{category}
{skills.map((skill) => ( {skill} ))}
))}
{/* Conferences & Presentations */}

Conferences & Presentations

{conferences.map((conf, index) => (
{conf.title} {conf.location} • {conf.date}

{conf.presentation}

{conf.youtubeUrl && ( Watch talk )}
))}
{/* Awards & Recognition */}

Awards & Recognition

{awards.map((award, index) => (
{award.title} {award.organization && ( {award.organization} • {award.year} )}
{award.description && (

{award.description}

)}
))}
{/* Relevant Coursework */}

Relevant Coursework

    {relevantCoursework.map((course, index) => (
  • {course}
  • ))}
); }