@@ -222,11 +222,11 @@ export default function JsonToCsv() {
222222 { showOptions && (
223223 < div className = "mt-4 grid grid-cols-2 md:grid-cols-4 gap-4" >
224224 < div >
225- < label className = "block text-xs font-medium text-gray-700 mb-1" > Delimiter</ label >
225+ < label className = "block text-xs font-medium text-gray-700 dark:text-gray-300 mb-1" > Delimiter</ label >
226226 < select
227227 value = { options . delimiter }
228228 onChange = { ( e ) => setOptions ( { ...options , delimiter : e . target . value } ) }
229- className = "w-full px-2 py-1 text-sm border border-gray-300 rounded focus:ring-blue-500 focus:border-blue-500"
229+ className = "w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-600 rounded focus:ring-blue-500 focus:border-blue-500 dark:focus:ring-blue-400 dark:focus:border-blue-400 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 "
230230 >
231231 < option value = "," > Comma (,)</ option >
232232 < option value = ";" > Semicolon (;)</ option >
@@ -236,12 +236,12 @@ export default function JsonToCsv() {
236236 </ div >
237237
238238 < div >
239- < label className = "block text-xs font-medium text-gray-700 mb-1" > Array Delimiter</ label >
239+ < label className = "block text-xs font-medium text-gray-700 dark:text-gray-300 mb-1" > Array Delimiter</ label >
240240 < input
241241 type = "text"
242242 value = { options . arrayDelimiter }
243243 onChange = { ( e ) => setOptions ( { ...options , arrayDelimiter : e . target . value } ) }
244- className = "w-full px-2 py-1 text-sm border border-gray-300 rounded focus:ring-blue-500 focus:border-blue-500"
244+ className = "w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-600 rounded focus:ring-blue-500 focus:border-blue-500 dark:focus:ring-blue-400 dark:focus:border-blue-400 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 placeholder-gray-500 dark:placeholder-gray-400 "
245245 placeholder = ";"
246246 />
247247 </ div >
@@ -252,9 +252,9 @@ export default function JsonToCsv() {
252252 type = "checkbox"
253253 checked = { options . header }
254254 onChange = { ( e ) => setOptions ( { ...options , header : e . target . checked } ) }
255- className = "mr-2"
255+ className = "mr-2 text-blue-600 dark:text-blue-400 focus:ring-blue-500 dark:focus:ring-blue-400 dark:focus:ring-offset-gray-800 "
256256 />
257- < span className = "text-xs" > Include Headers</ span >
257+ < span className = "text-xs text-gray-700 dark:text-gray-300 " > Include Headers</ span >
258258 </ label >
259259 </ div >
260260
@@ -264,9 +264,9 @@ export default function JsonToCsv() {
264264 type = "checkbox"
265265 checked = { options . quotes }
266266 onChange = { ( e ) => setOptions ( { ...options , quotes : e . target . checked } ) }
267- className = "mr-2"
267+ className = "mr-2 text-blue-600 dark:text-blue-400 focus:ring-blue-500 dark:focus:ring-blue-400 dark:focus:ring-offset-gray-800 "
268268 />
269- < span className = "text-xs" > Quote Fields</ span >
269+ < span className = "text-xs text-gray-700 dark:text-gray-300 " > Quote Fields</ span >
270270 </ label >
271271 </ div >
272272
@@ -276,9 +276,9 @@ export default function JsonToCsv() {
276276 type = "checkbox"
277277 checked = { options . flattenObjects }
278278 onChange = { ( e ) => setOptions ( { ...options , flattenObjects : e . target . checked } ) }
279- className = "mr-2"
279+ className = "mr-2 text-blue-600 dark:text-blue-400 focus:ring-blue-500 dark:focus:ring-blue-400 dark:focus:ring-offset-gray-800 "
280280 />
281- < span className = "text-xs" > Flatten Objects</ span >
281+ < span className = "text-xs text-gray-700 dark:text-gray-300 " > Flatten Objects</ span >
282282 </ label >
283283 </ div >
284284 </ div >
@@ -290,7 +290,7 @@ export default function JsonToCsv() {
290290 < button
291291 type = "button"
292292 onClick = { loadSampleData }
293- className = "flex items-center space-x-2 px-3 py-2 text-sm bg-gray-100 text-gray-700 rounded-md hover:bg-gray-200"
293+ className = "flex items-center space-x-2 px-3 py-2 text-sm bg-gray-100 dark:bg-gray-700 text-gray-700 dark:text-gray-300 rounded-md hover:bg-gray-200 dark:hover:bg-gray-600 transition-colors "
294294 >
295295 < FileText size = { 16 } />
296296 < span > Load Sample</ span >
@@ -299,7 +299,7 @@ export default function JsonToCsv() {
299299 < button
300300 type = "button"
301301 onClick = { ( ) => fileInputRef . current ?. click ( ) }
302- className = "flex items-center space-x-2 px-3 py-2 text-sm bg-gray-100 text-gray-700 rounded-md hover:bg-gray-200"
302+ className = "flex items-center space-x-2 px-3 py-2 text-sm bg-gray-100 dark:bg-gray-700 text-gray-700 dark:text-gray-300 rounded-md hover:bg-gray-200 dark:hover:bg-gray-600 transition-colors "
303303 >
304304 < Upload size = { 16 } />
305305 < span > Upload File</ span >
@@ -308,7 +308,7 @@ export default function JsonToCsv() {
308308 < button
309309 type = "button"
310310 onClick = { clearInput }
311- className = "flex items-center space-x-2 px-3 py-2 text-sm bg-gray-100 text-gray-700 rounded-md hover:bg-gray-200"
311+ className = "flex items-center space-x-2 px-3 py-2 text-sm bg-gray-100 dark:bg-gray-700 text-gray-700 dark:text-gray-300 rounded-md hover:bg-gray-200 dark:hover:bg-gray-600 transition-colors "
312312 >
313313 < RefreshCw size = { 16 } />
314314 < span > Clear</ span >
@@ -359,10 +359,10 @@ export default function JsonToCsv() {
359359 < button
360360 type = "button"
361361 onClick = { ( ) => setViewMode ( 'text' ) }
362- className = { `flex items-center space-x-1 px-2 py-1 text-xs rounded ${
362+ className = { `flex items-center space-x-1 px-2 py-1 text-xs rounded transition-colors ${
363363 viewMode === 'text'
364- ? 'bg-white text-gray-900 shadow-sm'
365- : 'text-gray-600 hover:text-gray-900'
364+ ? 'bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 shadow-sm'
365+ : 'text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-200 '
366366 } `}
367367 title = "Text view"
368368 >
@@ -372,10 +372,10 @@ export default function JsonToCsv() {
372372 < button
373373 type = "button"
374374 onClick = { ( ) => setViewMode ( 'table' ) }
375- className = { `flex items-center space-x-1 px-2 py-1 text-xs rounded ${
375+ className = { `flex items-center space-x-1 px-2 py-1 text-xs rounded transition-colors ${
376376 viewMode === 'table'
377- ? 'bg-white text-gray-900 shadow-sm'
378- : 'text-gray-600 hover:text-gray-900'
377+ ? 'bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 shadow-sm'
378+ : 'text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-200 '
379379 } `}
380380 title = "Table view"
381381 >
0 commit comments