@@ -70,50 +70,50 @@ const Index = () => {
7070 />
7171 < div className = "min-h-screen bg-gradient-to-br from-slate-50 to-blue-50" >
7272 { /* Header */ }
73- < header className = "bg-white/80 backdrop-blur-md border-b border-slate-200 sticky top-0 z-50 " >
74- < div className = "container mx-auto px-4 py-4" >
75- < div className = "flex items-center justify-between" >
76- < div className = "flex items-center space-x-3 cursor-pointer" onClick = { ( ) => navigate ( '/' ) } >
77- < div className = "w -8 h -8 bg-gradient-to-r from-blue-600 to-purple-600 rounded-lg flex items-center justify-center " >
78- < Code className = "w-5 h-5 text-white" />
79- </ div >
80- < div >
81- < h1 className = "text-xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent" >
82- { t ( "devToolkit" ) }
83- </ h1 >
84- < p className = "text-xs text-slate-500" > { t ( "supportDescription" ) } </ p >
85- </ div >
86- </ div >
87- < div className = "flex items-center space-x-4 " >
73+ < header className = "sticky top-0 z-50 border-b border-slate-200 bg-white/90 backdrop-blur-md " >
74+ < div className = "container mx-auto px-4 py-3 sm:py- 4" >
75+ < div className = "flex flex-col gap-3 sm:flex-row sm: items-center sm: justify-between" >
76+ < div className = "flex min-w-0 items-center space-x-3 cursor-pointer" onClick = { ( ) => navigate ( '/' ) } >
77+ < div className = "flex h -8 w -8 shrink-0 items-center justify-center rounded-lg bg-gradient-to-r from-blue-600 to-purple-600" >
78+ < Code className = "w-5 h-5 text-white" />
79+ </ div >
80+ < div className = "min-w-0" >
81+ < h1 className = "truncate text-lg font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent sm:text-xl " >
82+ { t ( "devToolkit" ) }
83+ </ h1 >
84+ < p className = "truncate text-xs text-slate-500" > { t ( "supportDescription" ) } </ p >
85+ </ div >
86+ </ div >
87+ < div className = "flex flex-wrap items-center gap-2 sm:justify-end sm:gap-3 " >
8888 < LanguageSelector />
8989 < GitHubButton
90- owner = "mingrammer"
91- repo = "devtoolkit"
92- variant = "compact"
93- />
90+ owner = "mingrammer"
91+ repo = "devtoolkit"
92+ variant = "compact"
93+ />
9494 < Button
9595 onClick = { handleBuyMeCoffee }
96- className = "bg-[#FFDD00] hover:bg-[#FFCC00] text-black font-medium px-4 py-2 rounded-lg transition-colors duration-200 flex items-center space-x-2 border border-gray-300 hover:border-gray-400 "
96+ className = "h-9 bg-[#FFDD00] px-3 text-black transition-colors duration-200 hover:bg-[#FFCC00] "
9797 size = "sm"
9898 >
9999 < img
100100 src = "https://cdn.buymeacoffee.com/buttons/bmc-new-btn-logo.svg"
101101 alt = "Buy me a coffee"
102- className = "w-5 h -5"
102+ className = "h-4 w-4 sm:h-5 sm:w -5"
103103 />
104- < span > { t ( "buyMeCoffee" ) } </ span >
104+ < span className = "hidden sm:inline" > { t ( "buyMeCoffee" ) } </ span >
105105 </ Button >
106106 </ div >
107107 </ div >
108108 </ div >
109109 </ header >
110110
111- < div className = "container mx-auto px-4 py-8" >
112- < div className = "grid lg:grid-cols-12 gap-8" >
111+ < div className = "container mx-auto px-4 py-6 sm:py- 8" >
112+ < div className = "grid gap-6 lg:grid-cols-12 lg: gap-8" >
113113 { /* Main Contents */ }
114- < div className = "lg:col-span-9" >
115- < div className = "mb-8" >
116- < h2 className = "text-3xl font-bold text-slate-800 mb-2 " >
114+ < div className = "min-w-0 lg:col-span-9" >
115+ < div className = "mb-6 sm:mb- 8" >
116+ < h2 className = "mb-2 text-2xl font-bold text-slate-800 sm:text-3xl " >
117117 { t ( "developersEssential" ) }
118118 </ h2 >
119119 < p className = "text-slate-600" >
@@ -123,7 +123,7 @@ const Index = () => {
123123
124124 { /* Search Bar */ }
125125 < div className = "mb-6" >
126- < div className = "relative max-w-md" >
126+ < div className = "relative max-w-full sm:max-w- md" >
127127 < Search className = "absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 w-4 h-4" />
128128 < Input
129129 placeholder = { t ( "searchTools" ) }
@@ -151,7 +151,7 @@ const Index = () => {
151151 </ div >
152152
153153 { /* Tools Grid */ }
154- < div className = "grid md :grid-cols-3 lg :grid-cols-4 gap -4 mb-8" >
154+ < div className = "grid grid-cols-1 gap-4 sm :grid-cols-2 xl :grid-cols-3 2xl:grid-cols -4 mb-8" >
155155 { filteredTools . map ( ( tool ) => {
156156 const Icon = tool . icon ;
157157
@@ -162,20 +162,20 @@ const Index = () => {
162162 onClick = { ( ) => handleToolClick ( tool . id ) }
163163 >
164164 < CardHeader className = "pb-3" >
165- < div className = "flex items-center space-x-3" >
165+ < div className = "flex items-start space-x-3" >
166166 < div className = { `w-10 h-10 ${ tool . color } rounded-lg flex items-center justify-center` } >
167167 < Icon className = "w-5 h-5 text-white" />
168168 </ div >
169- < div >
170- < CardTitle className = "text-sm" > { tool . title } </ CardTitle >
169+ < div className = "min-w-0" >
170+ < CardTitle className = "line-clamp-2 text-sm leading-5 " > { tool . title } </ CardTitle >
171171 < Badge variant = "secondary" className = "text-xs mt-1" >
172172 { tool . category }
173173 </ Badge >
174174 </ div >
175175 </ div >
176176 </ CardHeader >
177177 < CardContent >
178- < CardDescription className = "text-xs" >
178+ < CardDescription className = "line-clamp-3 text-xs leading-5 " >
179179 { tool . description }
180180 </ CardDescription >
181181 </ CardContent >
0 commit comments