From d15418c3b1a66dbbb299899e82acb30de601e464 Mon Sep 17 00:00:00 2001 From: Sascha Bach Date: Tue, 26 Aug 2025 18:08:50 +0200 Subject: [PATCH] refactoring theme system, refactoring scss, creating footer, contact, certifications and skill sections --- package-lock.json | 12 +- package.json | 3 +- src/app/page.tsx | 10 + src/components/layout/Footer.tsx | 50 +++ src/components/layout/Navigation.tsx | 4 +- src/components/sections/AboutSection.tsx | 12 +- .../sections/CertificationsSection.tsx | 86 ++++ src/components/sections/ContactSection.tsx | 279 ++++++++++++ src/components/sections/HeroSection.tsx | 2 +- src/components/sections/ProjectsSection.tsx | 105 +++++ src/components/sections/SkillsSection.tsx | 144 +++++++ src/config/personal.ts | 49 +++ .../{certifications.ts => Certification.ts} | 0 src/data/FeatureCard.ts | 8 - src/data/{project.ts => Project.ts} | 4 +- src/data/Skill.ts | 6 + src/data/skill.ts | 6 - src/scss/App.scss | 12 +- src/scss/layout/_index.scss | 3 + src/scss/layout/footer.scss | 71 ++++ src/scss/{ => layout}/topbar.scss | 20 +- src/scss/sections/_index.scss | 8 + src/scss/{ => sections}/about-section.scss | 2 +- src/scss/sections/certifications-section.scss | 158 +++++++ src/scss/sections/contact-section.scss | 279 ++++++++++++ src/scss/{ => sections}/hero-section.scss | 6 +- src/scss/sections/projects-section.scss | 211 ++++++++++ src/scss/{ => sections}/services-section.scss | 4 +- src/scss/sections/skills-section.scss | 396 ++++++++++++++++++ src/scss/themes.scss | 322 -------------- src/scss/themes/_about.scss | 67 +++ src/scss/themes/_base.scss | 35 ++ src/scss/themes/_certifications.scss | 45 ++ src/scss/themes/_contact.scss | 66 +++ src/scss/themes/_hero.scss | 43 ++ src/scss/themes/_index.scss | 250 +++++++++++ src/scss/themes/_projects.scss | 67 +++ src/scss/themes/_services.scss | 69 +++ src/scss/themes/_skills.scss | 110 +++++ src/scss/variables.scss | 11 + 40 files changed, 2656 insertions(+), 379 deletions(-) create mode 100644 src/components/layout/Footer.tsx create mode 100644 src/components/sections/CertificationsSection.tsx create mode 100644 src/components/sections/ContactSection.tsx create mode 100644 src/components/sections/ProjectsSection.tsx create mode 100644 src/components/sections/SkillsSection.tsx create mode 100644 src/config/personal.ts rename src/data/{certifications.ts => Certification.ts} (100%) delete mode 100644 src/data/FeatureCard.ts rename src/data/{project.ts => Project.ts} (79%) create mode 100644 src/data/Skill.ts delete mode 100644 src/data/skill.ts create mode 100644 src/scss/layout/_index.scss create mode 100644 src/scss/layout/footer.scss rename src/scss/{ => layout}/topbar.scss (87%) create mode 100644 src/scss/sections/_index.scss rename src/scss/{ => sections}/about-section.scss (99%) create mode 100644 src/scss/sections/certifications-section.scss create mode 100644 src/scss/sections/contact-section.scss rename src/scss/{ => sections}/hero-section.scss (98%) create mode 100644 src/scss/sections/projects-section.scss rename src/scss/{ => sections}/services-section.scss (99%) create mode 100644 src/scss/sections/skills-section.scss delete mode 100644 src/scss/themes.scss create mode 100644 src/scss/themes/_about.scss create mode 100644 src/scss/themes/_base.scss create mode 100644 src/scss/themes/_certifications.scss create mode 100644 src/scss/themes/_contact.scss create mode 100644 src/scss/themes/_hero.scss create mode 100644 src/scss/themes/_index.scss create mode 100644 src/scss/themes/_projects.scss create mode 100644 src/scss/themes/_services.scss create mode 100644 src/scss/themes/_skills.scss diff --git a/package-lock.json b/package-lock.json index 6717e11..714bf56 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,8 @@ "dependencies": { "lucide-react": "^0.539.0", "react": "^19.1.1", - "react-dom": "^19.1.1" + "react-dom": "^19.1.1", + "react-icons": "^5.5.0" }, "devDependencies": { "@eslint/js": "^9.32.0", @@ -3255,6 +3256,15 @@ "react": "^19.1.1" } }, + "node_modules/react-icons": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.5.0.tgz", + "integrity": "sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==", + "license": "MIT", + "peerDependencies": { + "react": "*" + } + }, "node_modules/react-refresh": { "version": "0.17.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", diff --git a/package.json b/package.json index 4a7e1cb..600a113 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "dependencies": { "lucide-react": "^0.539.0", "react": "^19.1.1", - "react-dom": "^19.1.1" + "react-dom": "^19.1.1", + "react-icons": "^5.5.0" }, "devDependencies": { "@eslint/js": "^9.32.0", diff --git a/src/app/page.tsx b/src/app/page.tsx index be41457..ba27db2 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -4,6 +4,11 @@ import Navbar from '../components/layout/Navigation'; import HeroSection from '../components/sections/HeroSection'; import AboutSection from '../components/sections/AboutSection'; import ServicesSection from '../components/sections/ServicesSection'; +import SkillsSection from '../components/sections/SkillsSection'; +import CertificationsSection from '../components/sections/CertificationsSection'; +import ProjectsSection from '../components/sections/ProjectsSection'; +import ContactSection from '../components/sections/ContactSection'; +import Footer from '../components/layout/Footer'; function PortfolioApp() { const [theme, setTheme] = useState<'light' | 'dark'>('light'); @@ -18,6 +23,11 @@ function PortfolioApp() { + + + + +