SYMBOL INDEX (75 symbols across 23 files) FILE: next.config.js method headers (line 24) | async headers() { FILE: src/app/components/education.tsx type Education (line 5) | type Education = (typeof RESUME_DATA)["education"][number]; type EducationPeriodProps (line 7) | interface EducationPeriodProps { function EducationPeriod (line 15) | function EducationPeriod({ start, end }: EducationPeriodProps) { type EducationItemProps (line 26) | interface EducationItemProps { function EducationItem (line 33) | function EducationItem({ education }: EducationItemProps) { type EducationListProps (line 57) | interface EducationListProps { function Education (line 65) | function Education({ education }: EducationListProps) { FILE: src/app/components/header.tsx constant ICON_MAP (line 11) | const ICON_MAP: Record< type LocationLinkProps (line 23) | interface LocationLinkProps { function LocationLink (line 28) | function LocationLink({ location, locationLink }: LocationLinkProps) { type SocialButtonProps (line 45) | interface SocialButtonProps { function SocialButton (line 51) | function SocialButton({ href, iconType, label }: SocialButtonProps) { type ContactButtonsProps (line 68) | interface ContactButtonsProps { function ContactButtons (line 73) | function ContactButtons({ contact, personalWebsiteUrl }: ContactButtonsP... type PrintContactProps (line 119) | interface PrintContactProps { function PrintContact (line 124) | function PrintContact({ contact, personalWebsiteUrl }: PrintContactProps) { function Header (line 164) | function Header() { FILE: src/app/components/projects.tsx type ProjectTags (line 12) | type ProjectTags = readonly string[]; type ProjectLinkProps (line 14) | interface ProjectLinkProps { function ProjectLink (line 22) | function ProjectLink({ title, link }: ProjectLinkProps) { type ProjectTagsProps (line 53) | interface ProjectTagsProps { function ProjectTags (line 60) | function ProjectTags({ tags }: ProjectTagsProps) { type ProjectCardProps (line 82) | interface ProjectCardProps { function ProjectCard (line 92) | function ProjectCard({ title, description, tags, link }: ProjectCardProp... type ProjectsProps (line 115) | interface ProjectsProps { function Projects (line 122) | function Projects({ projects }: ProjectsProps) { FILE: src/app/components/skills.tsx type Skills (line 5) | type Skills = readonly string[]; type SkillsListProps (line 7) | interface SkillsListProps { function SkillsList (line 15) | function SkillsList({ skills, className }: SkillsListProps) { type SkillsProps (line 32) | interface SkillsProps { function Skills (line 41) | function Skills({ skills, className }: SkillsProps) { FILE: src/app/components/summary.tsx type AboutProps (line 3) | interface AboutProps { function Summary (line 12) | function Summary({ summary, className }: AboutProps) { FILE: src/app/components/work-experience.tsx type WorkExperience (line 7) | type WorkExperience = (typeof RESUME_DATA)["work"][number]; type WorkBadges (line 8) | type WorkBadges = readonly string[]; type BadgeListProps (line 10) | interface BadgeListProps { function BadgeList (line 19) | function BadgeList({ className, badges }: BadgeListProps) { type WorkPeriodProps (line 41) | interface WorkPeriodProps { function WorkPeriod (line 49) | function WorkPeriod({ start, end }: WorkPeriodProps) { type CompanyLinkProps (line 60) | interface CompanyLinkProps { function CompanyLink (line 68) | function CompanyLink({ company, link }: CompanyLinkProps) { type WorkExperienceItemProps (line 82) | interface WorkExperienceItemProps { function WorkExperienceItem (line 90) | function WorkExperienceItem({ work }: WorkExperienceItemProps) { type WorkExperienceProps (line 135) | interface WorkExperienceProps { function WorkExperience (line 143) | function WorkExperience({ work }: WorkExperienceProps) { FILE: src/app/layout.tsx function RootLayout (line 77) | function RootLayout({ FILE: src/app/loading.tsx function Loading (line 1) | function Loading() { FILE: src/app/opengraph-image.tsx function Image (line 14) | async function Image() { FILE: src/app/page.tsx function getCommandMenuLinks (line 40) | function getCommandMenuLinks() { function ResumePage (line 59) | function ResumePage() { FILE: src/app/sitemap.ts function sitemap (line 3) | function sitemap(): MetadataRoute.Sitemap { FILE: src/components/avatar.tsx type OptimizedAvatarProps (line 7) | interface OptimizedAvatarProps { function Avatar (line 14) | function Avatar({ FILE: src/components/command-menu.tsx type Props (line 16) | interface Props { FILE: src/components/error-boundary.tsx type Props (line 5) | interface Props { type State (line 10) | interface State { class ErrorBoundary (line 15) | class ErrorBoundary extends Component { method getDerivedStateFromError (line 20) | public static getDerivedStateFromError(error: Error): State { method componentDidCatch (line 24) | public componentDidCatch(error: Error, errorInfo: ErrorInfo) { method render (line 28) | public render() { FILE: src/components/ui/badge.tsx type BadgeProps (line 27) | interface BadgeProps function Badge (line 31) | function Badge({ className, variant, ...props }: BadgeProps) { FILE: src/components/ui/button.tsx type ButtonProps (line 38) | interface ButtonProps FILE: src/components/ui/command.tsx type CommandDialogProps (line 26) | interface CommandDialogProps extends DialogProps {} FILE: src/components/ui/section.tsx type SectionProps (line 4) | interface SectionProps extends React.HTMLAttributes {} function Section (line 6) | function Section({ className, ...props }: SectionProps) { FILE: src/data/resume-data.ts constant RESUME_DATA (line 3) | const RESUME_DATA: ResumeData = { FILE: src/lib/structured-data.ts function generatePersonStructuredData (line 3) | function generatePersonStructuredData() { function generateWebPageStructuredData (line 53) | function generateWebPageStructuredData() { function generateResumeStructuredData (line 74) | function generateResumeStructuredData() { FILE: src/lib/types.ts type ResumeIcon (line 3) | type ResumeIcon = type IconType (line 7) | type IconType = "github" | "linkedin" | "x" | "globe" | "mail" | "phone"; type ResumeData (line 9) | interface ResumeData { FILE: src/lib/utils.ts function cn (line 4) | function cn(...inputs: ClassValue[]) {