diff --git a/src/components/About.tsx b/src/components/About.tsx index 34c5dc7..b6324f4 100644 --- a/src/components/About.tsx +++ b/src/components/About.tsx @@ -6,9 +6,15 @@ interface AboutProps { settings: SiteSettings; experience: Experience[]; education?: Education[]; + sectionTag?: string; } -export default function About({ settings, experience, education = [] }: AboutProps) { +export default function About({ + settings, + experience, + education = [], + sectionTag = '01 // Profile & Background' +}: AboutProps) { const paragraphs = (settings.biography && settings.biography.length > 0) ? settings.biography : []; @@ -29,7 +35,7 @@ export default function About({ settings, experience, education = [] }: AboutPro
- 04 // Profile & Background + {sectionTag}

About & Background diff --git a/src/components/Certifications.tsx b/src/components/Certifications.tsx index c2a838a..8ce3fee 100644 --- a/src/components/Certifications.tsx +++ b/src/components/Certifications.tsx @@ -6,11 +6,12 @@ import haptic from '../lib/haptics'; interface Props { certifications?: Certification[]; extraCerts?: Certification[]; + sectionTag?: string; } type FilterMode = 'all' | 'certificates' | 'badges'; -export default function Certifications({ certifications, extraCerts = [] }: Props) { +export default function Certifications({ certifications, extraCerts = [], sectionTag = '04 // Certifications' }: Props) { const baseCerts = (certifications && certifications.length > 0) ? certifications : mockCertifications; const allCerts = [...baseCerts, ...extraCerts]; @@ -324,7 +325,7 @@ export default function Certifications({ certifications, extraCerts = [] }: Prop
- 03 // Certifications + {sectionTag}

Verified Credentials & Certifications diff --git a/src/components/Projects.tsx b/src/components/Projects.tsx index 093cbda..966b715 100644 --- a/src/components/Projects.tsx +++ b/src/components/Projects.tsx @@ -6,9 +6,15 @@ interface ProjectsProps { initialProjects: Project[]; showArchiveLink?: boolean; limit?: number; + sectionTag?: string; } -export default function Projects({ initialProjects, showArchiveLink = true, limit }: ProjectsProps) { +export default function Projects({ + initialProjects, + showArchiveLink = true, + limit, + sectionTag = '02 // Projects' +}: ProjectsProps) { const [filter, setFilter] = useState('All'); const [selectedProject, setSelectedProject] = useState(null); const [activeImage, setActiveImage] = useState(''); @@ -68,7 +74,7 @@ export default function Projects({ initialProjects, showArchiveLink = true, limi
- 01 // Projects + {sectionTag}

Featured Work diff --git a/src/components/Skills.tsx b/src/components/Skills.tsx index 4b65b60..30e7090 100644 --- a/src/components/Skills.tsx +++ b/src/components/Skills.tsx @@ -4,6 +4,7 @@ import ScrollReveal from './ScrollReveal'; interface SkillsProps { skills: Skill[]; + sectionTag?: string; } const getCategoryIcon = (category: string) => { @@ -50,7 +51,7 @@ const getCategoryIcon = (category: string) => { ); }; -export default function Skills({ skills }: SkillsProps) { +export default function Skills({ skills, sectionTag = '03 // Tech Stack' }: SkillsProps) { if (!skills || skills.length === 0) { return null; } @@ -91,7 +92,7 @@ export default function Skills({ skills }: SkillsProps) {
- 02 // Tech Stack + {sectionTag}

Technologies & Tools @@ -134,28 +135,12 @@ export default function Skills({ skills }: SkillsProps) { {categorySkills.map((skill) => (
-
- - {skill.name} - - {typeof skill.proficiency === 'number' && skill.proficiency > 0 && ( - - {skill.proficiency}% - - )} -
- - {/* Minimal Proficiency Meter if defined */} - {typeof skill.proficiency === 'number' && skill.proficiency > 0 && ( -
-
-
- )} + + {skill.name} + +
))}
diff --git a/src/lib/data.ts b/src/lib/data.ts index d5a4091..b44f88d 100644 --- a/src/lib/data.ts +++ b/src/lib/data.ts @@ -22,7 +22,7 @@ export interface Project { export interface Skill { name: string; category: 'Frontend' | 'Backend' | 'Mobile' | 'Database' | 'DevOps' | 'AI/ML' | 'Tools' | 'Cybersecurity' | string; - proficiency: number; // 0-100 + proficiency?: number; // optional (deprecated) icon?: string; } @@ -403,7 +403,6 @@ export async function getSkills(): Promise { return skills.map((s: any) => ({ name: s.name || 'Skill', category: s.category || 'Tools', - proficiency: typeof s.proficiency === 'number' ? s.proficiency : 85, icon: s.icon })); } catch (error) { diff --git a/src/pages/about.astro b/src/pages/about.astro index 643ba31..c6255a2 100644 --- a/src/pages/about.astro +++ b/src/pages/about.astro @@ -15,7 +15,7 @@ const socialLinks = await getSocialLinks(); diff --git a/src/pages/api/chat.ts b/src/pages/api/chat.ts index 594a784..5fe4a09 100644 --- a/src/pages/api/chat.ts +++ b/src/pages/api/chat.ts @@ -284,7 +284,7 @@ export const POST: APIRoute = async ({ request }) => { const catSkills = skills.filter(s => (s.category || 'Core') === cat).map(s => s.name); return `• ${cat}: ${catSkills.join(', ')}`; }).join('\n') + - `\n\nYou can review the full interactive matrix in the Skills Matrix section.`; + `\n\nYou can review the full breakdown in the Technologies & Tools section.`; } else if (query.includes('experience') || query.includes('job') || query.includes('career') || query.includes('intern') || query.includes('role')) { reply = `Professional Experience:\n\n` + diff --git a/src/pages/index.astro b/src/pages/index.astro index fa3f47f..bb70276 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -57,14 +57,14 @@ const socialLinks = await getSocialLinks(); client:load /> + + - -