@@ -13,7 +13,7 @@ const skillGroups = [
1313 } ,
1414 {
1515 title : "Web & Full Stack" ,
16- skills : [ "HTML 5" , "CSS 3" , "React JS" , "Next JS" , "Node JS" , "Flask" ] ,
16+ skills : [ "HTML 5" , "CSS 3" , "Tailwind CSS" , " React JS", "Next JS" , "Node JS" , "Flask" ] ,
1717 } ,
1818 {
1919 title : "AI, ML & Data" ,
@@ -29,7 +29,7 @@ const skillGroups = [
2929 } ,
3030] ;
3131
32- const SkillGroupCard = ( { title, skills, index } ) => {
32+ const SkillGroup = ( { title, skills, index, isLast } ) => {
3333 const { isLightMode } = useTheme ( ) ;
3434 const groupSkills = skills
3535 . map ( ( skillName ) => technologies . find ( ( tech ) => tech . name === skillName ) )
@@ -41,31 +41,32 @@ const SkillGroupCard = ({ title, skills, index }) => {
4141 initial = "hidden"
4242 whileInView = "show"
4343 viewport = { { once : true , amount : 0.01 } }
44- className = "relative bg-black p-[2px] rounded-lg transition-transform border border-white/30 hover:border-[#37b54a]"
45- whileHover = { { scaleY : 1.05 } }
44+ className = "w-full"
4645 >
47- < div className = "bg-black p-5 rounded-lg h-full" >
48- < h3 className = " text-[#37b54a] font-bold text-[22px] text-center transition-all duration-300" >
49- { title }
50- </ h3 >
46+ { /* Domain Subheading with mode-compatible underline color */ }
47+ < h3 className = { ` text-[#37b54a] font-bold text-[22px] text-left border-b pb-2 mb-6 ${ isLightMode ? "border-[#2a322b]/20" : "border-white/30" } ` } >
48+ { title }
49+ </ h3 >
5150
52- < div className = "mt-5 grid grid-cols-2 gap-4" >
53- { groupSkills . map ( ( skill ) => (
54- < div
55- key = { `${ title } -${ skill . name } ` }
56- className = "flex min-h-[94px] flex-col items-center justify-center rounded-lg border border-white/20 bg-black/80 px-3 py-4 text-center transition-colors duration-200 hover:border-[#37b54a]/80"
57- >
51+ { /* Wrapping flex row of skill icons with responsive gap and spacing */ }
52+ < div className = { `flex flex-wrap gap-x-4 sm:gap-x-8 gap-y-6 justify-start ${ isLast ? "mb-2" : "mb-8" } ` } >
53+ { groupSkills . map ( ( skill ) => (
54+ < div
55+ key = { `${ title } -${ skill . name } ` }
56+ className = "flex flex-col items-center justify-center text-center w-20 sm:w-24 group cursor-pointer"
57+ >
58+ < div className = "w-16 h-16 flex items-center justify-center transition-transform duration-300 group-hover:scale-110" >
5859 < img
5960 src = { isLightMode && skill . iconLight ? skill . iconLight : skill . icon }
6061 alt = { skill . name }
61- className = "h-10 w-10 object-contain"
62+ className = "h-12 w-12 object-contain"
6263 />
63- < p className = "mt-3 text-sm font-bold leading-tight text-white" >
64- { skill . name }
65- </ p >
6664 </ div >
67- ) ) }
68- </ div >
65+ < p className = "mt-2 text-sm font-semibold leading-tight text-white/80 skill-name transition-colors duration-300" >
66+ { skill . name }
67+ </ p >
68+ </ div >
69+ ) ) }
6970 </ div >
7071 </ motion . div >
7172 ) ;
@@ -74,27 +75,26 @@ const SkillGroupCard = ({ title, skills, index }) => {
7475const Tech = ( ) => {
7576 return (
7677 < div >
77- { /* Scroll animated section title with clear readable background */ }
78+ { /* Section Title Heading with reduced top margin */ }
7879 < motion . div
79- variants = { simpleFadeIn ( 0.05 , 0.1 ) }
80- initial = "hidden"
81- whileInView = "show"
82- viewport = { { once : true , amount : 0.01 } }
83- className = "mx-auto w-fit px-6 py-4 mt-10 bg-black/80 rounded-xl backdrop-blur-md"
84- >
85- < p className = { `${ styles . sectionSubText } text-center text-white` } >
86- Technologies worked with
87- </ p >
88- < h2 className = { `${ styles . sectionHeadText } text-center text-white` } >
89- Skillset
90- </ h2 >
91- </ motion . div >
92-
80+ variants = { simpleFadeIn ( 0.05 , 0.1 ) }
81+ initial = "hidden"
82+ whileInView = "show"
83+ viewport = { { once : true , amount : 0.01 } }
84+ className = "mx-auto w-fit px-6 py-4 mt-6 bg-black bg-opacity-80 rounded-xl backdrop-blur-md"
85+ >
86+ < p className = { `${ styles . sectionSubText } text-center text-white` } >
87+ Technologies worked with
88+ </ p >
89+ < h2 className = { `${ styles . sectionHeadText } text-center text-white` } >
90+ Skillset
91+ </ h2 >
92+ </ motion . div >
9393
94- { /* Grouped skill cards */ }
95- < div className = "mt-20 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8 " >
94+ { /* Grouped Skills stacked vertically with reduced gap and margins */ }
95+ < div className = "mt-8 bg-black bg-opacity-80 rounded-lg p-8 backdrop-blur-sm max-w-5xl mx-auto flex flex-col gap-2 " >
9696 { skillGroups . slice ( 0 , 5 ) . map ( ( group , index ) => (
97- < SkillGroupCard key = { group . title } index = { index } { ...group } />
97+ < SkillGroup key = { group . title } index = { index } isLast = { index === 4 } { ...group } />
9898 ) ) }
9999 </ div >
100100 </ div >
0 commit comments