From 127aa9acc7f601f6e927be9028257a9520c16718 Mon Sep 17 00:00:00 2001 From: Bayda77 Date: Mon, 12 Jan 2026 19:16:48 -0600 Subject: [PATCH] updated route pathing, skills.tsx for skill card abstraction and header for mobile --- src/components/SkillCard.tsx | 82 ++++++++++++++++++++ src/components/floatingHeader.tsx | 14 ++++ src/pages/Skills.tsx | 119 ++++++++++++++++++------------ src/styles/components/header.css | 20 ++++- 4 files changed, 185 insertions(+), 50 deletions(-) create mode 100644 src/components/SkillCard.tsx diff --git a/src/components/SkillCard.tsx b/src/components/SkillCard.tsx new file mode 100644 index 0000000..1317dc4 --- /dev/null +++ b/src/components/SkillCard.tsx @@ -0,0 +1,82 @@ +import { motion } from "framer-motion"; + +export interface SkillDetail { + name: string; + description: string; +} + +export interface SkillCategory { + category: string; + skills: SkillDetail[]; +} + +interface SkillCardProps { + category: SkillCategory; + isExpanded: boolean; + onToggle: () => void; +} + +export default function SkillCard({ category, isExpanded, onToggle }: SkillCardProps) { + return ( + + + {category.category} {isExpanded ? (Click to collapse) : null} + + + + {category.skills.map((skill) => ( + + {skill.name} + + ))} + + + {isExpanded && ( + +
+ {category.skills.map((skill) => ( +
+ {skill.name} +

+ {skill.description} +

+
+ ))} +
+
+ )} +
+ ); +} diff --git a/src/components/floatingHeader.tsx b/src/components/floatingHeader.tsx index 224fbfd..0a368f9 100644 --- a/src/components/floatingHeader.tsx +++ b/src/components/floatingHeader.tsx @@ -16,9 +16,23 @@ export default function FloatingHeader() { setIsMenuOpen(false); }, [location]); + const ROUTE_TITLES: { [key: string]: string } = { + "/": "Sasha Bayda", + "/skills": "Skills", + "/work-experience": "Work Experience", + "/projects": "Projects", + "/about": "About Me" + }; + + const currentTitle = ROUTE_TITLES[location.pathname] || "Sasha Bayda"; + return (
+
+ {currentTitle} +
+
); } diff --git a/src/styles/components/header.css b/src/styles/components/header.css index 3ba3283..27db5ba 100644 --- a/src/styles/components/header.css +++ b/src/styles/components/header.css @@ -73,6 +73,11 @@ margin: 0 auto; } +.mobile-page-title { + display: none; + /* Hidden on desktop */ +} + .mobile-toggle { display: none; flex-direction: column; @@ -100,9 +105,20 @@ text-align: left; } + .mobile-page-title { + display: block; + color: white; + font-size: 1.2rem; + font-weight: 700; + letter-spacing: 0.5px; + z-index: 1001; + /* Ensure visible above nav overlay if needed, though nav usually covers content */ + position: relative; + } + .header-content { - justify-content: flex-end; - /* Align hamburger to right */ + justify-content: space-between; + /* Push title left, hamburger right */ } .mobile-toggle {