diff --git a/src/assets/styles/Home.module.scss b/src/assets/styles/Home.module.scss index 4eb1761..b4a626d 100644 --- a/src/assets/styles/Home.module.scss +++ b/src/assets/styles/Home.module.scss @@ -7,98 +7,6 @@ position: relative; } -.sectionTitle { - text-align: center; - font-size: 2.5rem; - margin-bottom: 3rem; - position: relative; - display: inline-block; -} - -.sectionTitle::after { - content: ""; - position: absolute; - width: 80px; - height: 3px; - background: $accent-fire; - bottom: -10px; - left: 50%; - transform: translateX(-50%); - box-shadow: $glow-effect; -} - -.card { - background-color: $card-bg; - border: 1px solid $card-border; - border-radius: 8px; - transition: all 0.3s ease; - height: 100%; - position: relative; - overflow: hidden; -} - -.card:hover { - transform: translateY(-10px); - border-color: rgba(255, 100, 0, 0.3); - box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); -} - -.card::before { - content: ""; - position: absolute; - width: 100%; - height: 5px; - top: 0; - left: 0; - background: linear-gradient(to right, $accent-dragon, $accent-fire); -} - -.cardHeader { - background-color: transparent; - border-bottom: 1px solid rgba(255, 255, 255, 0.1); - display: flex; - align-items: center; - gap: 10px; -} - -.categoryIcon { - color: $accent-fire; - font-size: 1.5rem; -} - -.categoryTitle { - font-size: 1.4rem; - margin-bottom: 0; -} - -.skillItem { - margin-bottom: 12px; - display: flex; - align-items: center; - gap: 12px; -} - -.skillIcon { - color: $accent-fire; - font-size: 1.5rem; - min-width: 24px; - display: flex; - align-items: center; - justify-content: center; -} - -.skillIcon i { - display: inline-flex; - align-items: center; - justify-content: center; -} - -.skillName { - color: $text-ash; - font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; -} - - /* Hero Section */ .hero { height: 100vh; diff --git a/src/assets/styles/SkillCard.module.scss b/src/assets/styles/SkillCard.module.scss index 4d6e716..057e169 100644 --- a/src/assets/styles/SkillCard.module.scss +++ b/src/assets/styles/SkillCard.module.scss @@ -1,3 +1,5 @@ +@use './variables' as *; + /* Skills Section */ .skillsSection { padding: 6rem 0; diff --git a/src/components/SkillCard.tsx b/src/components/SkillCard.tsx index 8323710..2212292 100644 --- a/src/components/SkillCard.tsx +++ b/src/components/SkillCard.tsx @@ -1,11 +1,12 @@ -import styles from '@styles/SkillCard.module.css'; +import styles from '@styles/SkillCard.module.scss'; import React from 'react'; -interface Skill { + +export interface Skill { name: string; icon: React.ReactNode; // Or string if using CSS classes for icons } -interface SkillCardProps { +export interface SkillCardProps { categoryTitle: string; categoryIcon: React.ReactNode; // Or string skills: Skill[]; @@ -13,16 +14,14 @@ interface SkillCardProps { const SkillCard: React.FC = ({ categoryTitle, categoryIcon, skills }) => { return ( - <> - -
-
-
- -

{categoryTitle}

-
-
- {skills.length > 0 ? ( +
+
+
+ +

{categoryTitle}

+
+
+ {skills.length > 0 ? (
    {skills.map((skill, index) => (
  • @@ -34,33 +33,9 @@ const SkillCard: React.FC = ({ categoryTitle, categoryIcon, skil ) : (

    No skills listed in this category.

    )} -
- - -
-
- {categoryIcon} -

{categoryTitle}

-
-
- {skills.length > 0 ? ( -
    - {skills.map((skill, index) => ( -
  • - {skill.icon} - {skill.name} -
  • - ))} -
- ) : ( -

No skills listed in this category.

- )} -
-
- - +
); }; diff --git a/src/data/skillCard.ts b/src/data/skillCard.ts index e69de29..a16e40e 100644 --- a/src/data/skillCard.ts +++ b/src/data/skillCard.ts @@ -0,0 +1,58 @@ +import {type SkillCardProps} from '../components/SkillCard'; + +export const skillCardData: SkillCardProps[] = [ + { + categoryIcon: "fa-code", + categoryTitle: "Languages", + skills: [ + { name: "C/C++", icon: "devicon-cplusplus-plain" }, + { name: "Python", icon: "devicon-python-plain" }, + { name: ".NET", icon: "devicon-dotnetcore-plain" } + ] + }, + { + categoryIcon: "fa-microchip", + categoryTitle: "Embedded Systems", + skills: [ + { name: "STM32 (I2C, SPI, UART)", icon: "fas fa-microchip" }, + { name: "ESP32", icon: "fas fa-wifi" }, + { name: "Pico-SDK", icon: "fas fa-memory" } + ] + }, + { + categoryIcon: "fa-brain", + categoryTitle: "Data & ML", + skills: [ + { name: "Pandas", icon: "devicon-pandas-plain" }, + { name: "Scikit-learn", icon: "devicon-sklearn-plain" }, + { name: "Scikit-image", icon: "fas fa-image" }, + { name: "PyTorch", icon: "devicon-pytorch-plain" }, + { name: "OpenCV", icon: "devicon-opencv-plain" } + ] + }, + { + categoryIcon: "fas fa-window-maximize", + categoryTitle: "Web Development", + skills: [ + { name: "ASP.NET Core", icon: "devicon-dot-net-plain" }, + { name: "Entity Framework", icon: "fas fa-database" }, + { name: "Blazor", icon: "devicon-dotnetcore-plain"}, + { name: "React", icon: "devicon-react-original" }, + { name: "Django", icon: "devicon-django-plain" }, + { name: "Bootstrap", icon: "devicon-bootstrap-plain" }, + ], + }, + { + categoryIcon: "fas fa-cloud", + categoryTitle: "DevOps & Systems", + skills: [ + { name: "Docker", icon: "devicon-docker-plain" }, + { name: "Docker-compose", icon: "fas fa-layer-group" }, + { name: ">Linux CLI", icon: "devicon-bash-plain" }, + { name: "Git", icon: "devicon-git-plain" }, + { name: "CI/CD", icon: "fas fa-cogs" }, + { name: "Cmake", icon: "devicon-cmake-plain" }, + { name: "Linux", icon: "devicon-linux-plain" }, + ] + } +]; \ No newline at end of file diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx index 4b40e6d..7e10722 100644 --- a/src/pages/Home.tsx +++ b/src/pages/Home.tsx @@ -2,9 +2,12 @@ import { useEffect } from 'react'; import { Link } from 'react-router-dom'; import styles from '@styles/Home.module.scss'; +import SkillCard from '../components/SkillCard' +import { skillCardData } from '../data/skillCard'; export const Home = () => { - // Create binary background and particles effects + const skills = skillCardData; + useEffect(() => { // Create binary background const createBinaryBg = () => { @@ -124,87 +127,13 @@ export const Home = () => {
- {/* Languages Card */} -
-
-
- -

Languages

-
-
-
    -
  • - - C/C++ -
  • -
  • - - Python -
  • -
  • - - .NET -
  • -
-
-
-
- - {/* Embedded Systems Card */} -
-
-
- -

Embedded Systems

-
-
-
    -
  • - - STM32 (I2C, SPI, UART) -
  • -
  • - - ESP32 -
  • -
  • - - Pico-SDK -
  • -
-
-
-
- - {/* Data & ML Card */} -
-
-
- -

Data & ML

-
-
-
    -
  • - - Pandas -
  • -
  • - - Scikit-learn -
  • -
  • - - Scikit-image -
  • -
  • - - PyTorch -
  • -
-
-
-
+ {skills.map((skill, index) => ( + + ))}