@@ -139,15 +139,17 @@ const CategoryView = () => {
139139 < Button
140140 variant = "ghost"
141141 onClick = { ( ) => navigateCategory ( "prev" ) }
142- className = "p-2"
142+ className = "p-2 transition-transform duration-300 hover:scale-105 "
143143 >
144144 < ChevronLeft className = "h-6 w-6" />
145145 </ Button >
146- < h2 className = "text-3xl font-semibold" > { categories [ selectedCategoryIndex ] . name } </ h2 >
146+ < h2 className = "text-3xl font-semibold transition-opacity duration-300 hover:opacity-90" >
147+ { categories [ selectedCategoryIndex ] . name }
148+ </ h2 >
147149 < Button
148150 variant = "ghost"
149151 onClick = { ( ) => navigateCategory ( "next" ) }
150- className = "p-2"
152+ className = "p-2 transition-transform duration-300 hover:scale-105 "
151153 >
152154 < ChevronRight className = "h-6 w-6" />
153155 </ Button >
@@ -160,11 +162,13 @@ const CategoryView = () => {
160162 . map ( ( script ) => (
161163 < Card
162164 key = { script . name }
163- className = "p-4 cursor-pointer"
165+ className = "p-4 cursor-pointer hover:shadow-md transition-shadow duration-300 "
164166 onClick = { ( ) => handleScriptClick ( script . slug ) }
165167 >
166168 < CardContent className = "flex flex-col gap-4" >
167- < h3 className = "text-lg font-bold script-text text-center" > { script . name } </ h3 >
169+ < h3 className = "text-lg font-bold script-text text-center hover:text-blue-600 transition-colors duration-300" >
170+ { script . name }
171+ </ h3 >
168172 < img
169173 src = { script . logo || defaultLogo }
170174 alt = { script . name || "Script logo" }
@@ -174,7 +178,7 @@ const CategoryView = () => {
174178 < b > Created at:</ b > { script . date_created || "No date available" }
175179 </ p >
176180 < p
177- className = "text-sm text-gray-700 hover:text-gray-900 text-center"
181+ className = "text-sm text-gray-700 hover:text-gray-900 text-center transition-colors duration-300 "
178182 title = { script . description || "No description available." }
179183 >
180184 { truncateDescription ( script . description || "No description available." ) }
@@ -190,7 +194,7 @@ const CategoryView = () => {
190194 < Button
191195 variant = "default"
192196 onClick = { handleBackClick }
193- className = "px-6 py-2 text-white bg-blue-600 hover:bg-blue-700 rounded-lg shadow-md transition"
197+ className = "px-6 py-2 text-white bg-blue-600 hover:bg-blue-700 rounded-lg shadow-md transition-transform duration-300 hover:scale-105 "
194198 >
195199 Back to Categories
196200 </ Button >
@@ -210,44 +214,48 @@ const CategoryView = () => {
210214 < Card
211215 key = { category . name }
212216 onClick = { ( ) => handleCategoryClick ( index ) }
213- className = "cursor-pointer hover:shadow-lg flex flex-col items-center justify-center py-6"
217+ className = "cursor-pointer hover:shadow-lg flex flex-col items-center justify-center py-6 transition-shadow duration-300 "
214218 >
215219 < CardContent className = "flex flex-col items-center" >
216- < h3 className = "text-xl font-bold mb-4 category-title" > { category . name } </ h3 >
220+ < h3 className = "text-xl font-bold mb-4 category-title transition-colors duration-300 hover:text-blue-600" >
221+ { category . name }
222+ </ h3 >
217223 < div className = "flex justify-center items-center gap-2 mb-4" >
218224 < Button
219225 variant = "ghost"
220226 onClick = { ( e ) => {
221227 e . stopPropagation ( ) ;
222228 switchLogos ( category . name , "prev" ) ;
223229 } }
224- className = "p-1"
230+ className = "p-1 transition-transform duration-300 hover:scale-110 "
225231 >
226232 < ChevronLeft className = "h-4 w-4" />
227233 </ Button >
228234 { category . scripts &&
229235 category . scripts
230236 . slice ( logoIndices [ category . name ] || 0 , ( logoIndices [ category . name ] || 0 ) + MAX_LOGOS )
231237 . map ( ( script , i ) => (
232- < img
233- key = { i }
234- src = { script . logo || defaultLogo }
235- alt = { script . name || "Script logo" }
236- title = { script . name }
237- className = "h-8 w-8 object-contain cursor-pointer"
238- onClick = { ( e ) => {
239- e . stopPropagation ( ) ;
240- handleScriptClick ( script . slug ) ;
241- } }
242- />
238+ < div key = { i } className = "flex flex-col items-center" >
239+ < img
240+ src = { script . logo || defaultLogo }
241+ alt = { script . name || "Script logo" }
242+ title = { script . name }
243+ className = "h-8 w-8 object-contain cursor-pointer"
244+ onClick = { ( e ) => {
245+ e . stopPropagation ( ) ;
246+ handleScriptClick ( script . slug ) ;
247+ } }
248+ />
249+ { formattedBadge ( script . type ) }
250+ </ div >
243251 ) ) }
244252 < Button
245253 variant = "ghost"
246254 onClick = { ( e ) => {
247255 e . stopPropagation ( ) ;
248256 switchLogos ( category . name , "next" ) ;
249257 } }
250- className = "p-1"
258+ className = "p-1 transition-transform duration-300 hover:scale-110 "
251259 >
252260 < ChevronRight className = "h-4 w-4" />
253261 </ Button >
0 commit comments