@@ -7,7 +7,7 @@ import FileTree from './file-tree'
77import type { FileTreeItem } from '@/types'
88
99import { Label } from '@/components/ui/label'
10- import { Checkbox } from '@/components/ui/checkbox '
10+ import { Switch } from '@/components/ui/switch '
1111
1212import {
1313 useApplicationMode ,
@@ -24,64 +24,62 @@ export function Filters() {
2424 const { includedFiles, toggleFilter } = useFilters ( )
2525
2626 return (
27- < div className = "p-2 rounded-md bg-gray-900 file-filters" >
28- < div className = "text-center text-sm mb-2" > File Filters</ div >
29- < div className = "flex flex-row flex-wrap gap-y-2" >
30- < div className = "flex flex-row items-center gap-2 w-1/3" >
31- < Checkbox
32- id = "unchanged"
33- checked = { includedFiles . includes ( 'unchanged' ) }
34- className = "w-4 h-4"
35- onCheckedChange = { ( ) => toggleFilter ( 'unchanged' ) }
36- />
37- < Label htmlFor = "unchanged" className = { twClasses . unchanged } >
38- Unchanged
39- </ Label >
40- </ div >
41- < div className = "flex flex-row items-center gap-2 w-1/3" >
42- < Checkbox
43- id = "added"
44- checked = { includedFiles . includes ( 'added' ) }
45- className = "w-4 h-4"
46- onCheckedChange = { ( ) => toggleFilter ( 'added' ) }
47- />
48- < Label htmlFor = "added" className = { twClasses . added } >
49- Added
50- </ Label >
51- </ div >
52- < div className = "flex flex-row items-center gap-2 w-1/3" >
53- < Checkbox
54- id = "modified"
55- checked = { includedFiles . includes ( 'modified' ) }
56- className = "w-4 h-4"
57- onCheckedChange = { ( ) => toggleFilter ( 'modified' ) }
58- />
59- < Label htmlFor = "modified" className = { twClasses . modified } >
60- Modified
61- </ Label >
62- </ div >
63- < div className = "flex flex-row items-center gap-2 w-1/3" >
64- < Checkbox
65- id = "deleted"
66- checked = { includedFiles . includes ( 'deleted' ) }
67- className = "w-4 h-4"
68- onCheckedChange = { ( ) => toggleFilter ( 'deleted' ) }
69- />
70- < Label htmlFor = "deleted" className = { twClasses . deleted } >
71- Deleted
72- </ Label >
73- </ div >
74- < div className = "flex flex-row items-center gap-2 w-1/3" >
75- < Checkbox
76- id = "overwritten"
77- checked = { includedFiles . includes ( 'overwritten' ) }
78- className = "w-4 h-4"
79- onCheckedChange = { ( ) => toggleFilter ( 'overwritten' ) }
80- />
81- < Label htmlFor = "overwritten" className = { twClasses . overwritten } >
82- Overwritten
83- </ Label >
84- </ div >
27+ < div className = "bg-white dark:bg-black/40 shadow-xl p-4 rounded-lg flex flex-row items-center gap-4 mb-2" >
28+ < h3 className = "font-medium whitespace-nowrap" > File Filters</ h3 >
29+ < div className = "flex flex-row items-center" >
30+ < Switch
31+ id = "unchanged"
32+ checked = { includedFiles . includes ( 'unchanged' ) }
33+ onCheckedChange = { ( ) => toggleFilter ( 'unchanged' ) }
34+ className = "mr-2"
35+ />
36+ < Label htmlFor = "unchanged" className = { twClasses . unchanged } >
37+ Unchanged
38+ </ Label >
39+ </ div >
40+ < div className = "flex flex-row items-center" >
41+ < Switch
42+ id = "added"
43+ checked = { includedFiles . includes ( 'added' ) }
44+ onCheckedChange = { ( ) => toggleFilter ( 'added' ) }
45+ className = "mr-2"
46+ />
47+ < Label htmlFor = "added" className = { twClasses . added } >
48+ Added
49+ </ Label >
50+ </ div >
51+ < div className = "flex flex-row items-center" >
52+ < Switch
53+ id = "modified"
54+ checked = { includedFiles . includes ( 'modified' ) }
55+ onCheckedChange = { ( ) => toggleFilter ( 'modified' ) }
56+ className = "mr-2"
57+ />
58+ < Label htmlFor = "modified" className = { twClasses . modified } >
59+ Modified
60+ </ Label >
61+ </ div >
62+ < div className = "flex flex-row items-center" >
63+ < Switch
64+ id = "deleted"
65+ checked = { includedFiles . includes ( 'deleted' ) }
66+ onCheckedChange = { ( ) => toggleFilter ( 'deleted' ) }
67+ className = "mr-2"
68+ />
69+ < Label htmlFor = "deleted" className = { twClasses . deleted } >
70+ Deleted
71+ </ Label >
72+ </ div >
73+ < div className = "flex flex-row items-center" >
74+ < Switch
75+ id = "overwritten"
76+ checked = { includedFiles . includes ( 'overwritten' ) }
77+ onCheckedChange = { ( ) => toggleFilter ( 'overwritten' ) }
78+ className = "mr-2"
79+ />
80+ < Label htmlFor = "overwritten" className = { twClasses . overwritten } >
81+ Overwritten
82+ </ Label >
8583 </ div >
8684 </ div >
8785 )
@@ -184,19 +182,21 @@ export default function FileNavigator() {
184182 }
185183
186184 return (
187- < div className = "bg-white dark:bg-black/50 rounded-lg p-2 sm:p-4 flex" >
188- < div className = "w-1/4 max-w-1/4 bg-gray-500/10 rounded-l-lg" >
189- { mode === 'add' && < Filters /> }
190- < FileTree selectedFile = { selectedFile } tree = { fileTree } />
191- </ div >
192- < div className = "max-w-3/4 w-3/4" >
193- { selectedFile && modifiedFileContents ? (
194- < FileViewer
195- filePath = { selectedFile }
196- originalFile = { originalFileContents }
197- modifiedFile = { modifiedFileContents }
198- />
199- ) : null }
185+ < div className = "bg-white dark:bg-black/50 rounded-lg p-2 sm:p-4" >
186+ { mode === 'add' && < Filters /> }
187+ < div className = "flex flex-row" >
188+ < div className = "w-1/4 max-w-1/4 bg-gray-500/10 rounded-l-lg" >
189+ < FileTree selectedFile = { selectedFile } tree = { fileTree } />
190+ </ div >
191+ < div className = "max-w-3/4 w-3/4" >
192+ { selectedFile && modifiedFileContents ? (
193+ < FileViewer
194+ filePath = { selectedFile }
195+ originalFile = { originalFileContents }
196+ modifiedFile = { modifiedFileContents }
197+ />
198+ ) : null }
199+ </ div >
200200 </ div >
201201 </ div >
202202 )
0 commit comments