@@ -7,7 +7,7 @@ import FileTree from './file-tree'
7
7
import type { FileTreeItem } from '@/types'
8
8
9
9
import { Label } from '@/components/ui/label'
10
- import { Checkbox } from '@/components/ui/checkbox '
10
+ import { Switch } from '@/components/ui/switch '
11
11
12
12
import {
13
13
useApplicationMode ,
@@ -24,64 +24,62 @@ export function Filters() {
24
24
const { includedFiles, toggleFilter } = useFilters ( )
25
25
26
26
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 >
85
83
</ div >
86
84
</ div >
87
85
)
@@ -184,19 +182,21 @@ export default function FileNavigator() {
184
182
}
185
183
186
184
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 >
200
200
</ div >
201
201
</ div >
202
202
)
0 commit comments