diff --git a/index.html b/index.html index 73e4f61..113d835 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,7 @@ - + diff --git a/src/assets/styles/Blog.scss b/src/assets/styles/Blog.scss index ad88129..db9a0de 100644 --- a/src/assets/styles/Blog.scss +++ b/src/assets/styles/Blog.scss @@ -1,4 +1,4 @@ -@import "./variables.scss"; +@use "./variables.scss" as *; /* Page Header */ .page-header { diff --git a/src/assets/styles/Home.module.scss b/src/assets/styles/Home.module.scss index 73b42bd..4eb1761 100644 --- a/src/assets/styles/Home.module.scss +++ b/src/assets/styles/Home.module.scss @@ -1,5 +1,104 @@ @use './variables' as *; +/* Skills Section */ +.skillsSection { + padding: 6rem 0; + background-color: $secondary-dark; + 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; @@ -105,104 +204,6 @@ left: 100%; } -/* Skills Section */ -.skillsSection { - padding: 6rem 0; - background-color: $secondary-dark; - 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; -} - /* Blinking cursor effect */ .blinkingCursor { display: inline-block; diff --git a/src/assets/styles/SkillCard.module.scss b/src/assets/styles/SkillCard.module.scss new file mode 100644 index 0000000..4d6e716 --- /dev/null +++ b/src/assets/styles/SkillCard.module.scss @@ -0,0 +1,97 @@ +/* Skills Section */ +.skillsSection { + padding: 6rem 0; + background-color: $secondary-dark; + 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; +} \ No newline at end of file diff --git a/src/components/SkillCard.tsx b/src/components/SkillCard.tsx new file mode 100644 index 0000000..8323710 --- /dev/null +++ b/src/components/SkillCard.tsx @@ -0,0 +1,67 @@ +import styles from '@styles/SkillCard.module.css'; +import React from 'react'; +interface Skill { + name: string; + icon: React.ReactNode; // Or string if using CSS classes for icons +} + +interface SkillCardProps { + categoryTitle: string; + categoryIcon: React.ReactNode; // Or string + skills: Skill[]; +} + +const SkillCard: React.FC = ({ categoryTitle, categoryIcon, skills }) => { + return ( + <> + +
+
+
+ +

{categoryTitle}

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

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.

+ )} +
+
+ + + ); +}; + +export default SkillCard; diff --git a/src/data/skillCard.ts b/src/data/skillCard.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx index 091a437..4b40e6d 100644 --- a/src/pages/Home.tsx +++ b/src/pages/Home.tsx @@ -129,21 +129,21 @@ export const Home = () => {
-

Languages

+

Languages

  • - - C/C++ + + C/C++
  • -
  • - - Python +
  • + + Python
  • -
  • - - .NET +
  • + + .NET
@@ -152,8 +152,8 @@ export const Home = () => { {/* Embedded Systems Card */}
-
-
+
+

Embedded Systems

@@ -186,11 +186,11 @@ export const Home = () => {
  • - + Pandas
  • - + Scikit-learn
  • @@ -198,7 +198,7 @@ export const Home = () => { Scikit-image
  • - + PyTorch