1
1
import { useMemo , useState } from 'react'
2
- import { useStore } from '@tanstack/react-store '
2
+ import { useAtomValue , useSetAtom } from 'jotai '
3
3
import { FileText , Folder } from 'lucide-react'
4
4
5
5
import FileViewer from './file-viewer'
@@ -9,11 +9,10 @@ import type { FileTreeItem } from '@/types'
9
9
10
10
import { Label } from '@/components/ui/label'
11
11
import { Checkbox } from '@/components/ui/checkbox'
12
- import { Separator } from '@/components/ui/separator'
13
- import { useSidebar } from '@/components/ui/sidebar'
14
12
15
13
import {
16
14
applicationMode ,
15
+ dryRunAtom ,
17
16
includeFiles ,
18
17
isInitialized ,
19
18
projectFiles ,
@@ -23,12 +22,12 @@ import {
23
22
import { getFileClass , twClasses } from '@/file-classes'
24
23
25
24
export function Filters ( ) {
26
- const includedFiles = useStore ( includeFiles )
27
-
25
+ const includedFiles = useAtomValue ( includeFiles )
26
+ const setIncludeFiles = useSetAtom ( includeFiles )
28
27
function toggleFilter (
29
28
filter : 'unchanged' | 'added' | 'modified' | 'deleted' | 'overwritten' ,
30
29
) {
31
- includeFiles . setState ( ( state ) => {
30
+ setIncludeFiles ( ( state ) => {
32
31
if ( state . includes ( filter ) ) {
33
32
return state . filter ( ( file ) => file !== filter )
34
33
}
@@ -105,18 +104,19 @@ export default function FileNavigator() {
105
104
'./package.json' ,
106
105
)
107
106
108
- const { output, originalOutput } = useStore ( projectFiles )
109
- const localTree = useStore ( projectLocalFiles )
107
+ const { originalOutput } = useAtomValue ( projectFiles )
108
+ const localTree = useAtomValue ( projectLocalFiles )
109
+ const { data : output } = useAtomValue ( dryRunAtom )
110
110
111
- const mode = useStore ( applicationMode )
111
+ const mode = useAtomValue ( applicationMode )
112
112
const tree = output . files
113
113
const originalTree = mode === 'setup' ? output . files : originalOutput . files
114
114
const deletedFiles = output . deletedFiles
115
115
116
116
const [ originalFileContents , setOriginalFileContents ] = useState < string > ( )
117
117
const [ modifiedFileContents , setModifiedFileContents ] = useState < string > ( )
118
118
119
- const includedFiles = useStore ( includeFiles )
119
+ const includedFiles = useAtomValue ( includeFiles )
120
120
121
121
const fileTree = useMemo ( ( ) => {
122
122
const treeData : Array < FileTreeItem > = [ ]
@@ -187,7 +187,8 @@ export default function FileNavigator() {
187
187
return treeData
188
188
} , [ tree , originalTree , localTree , includedFiles ] )
189
189
190
- const ready = useStore ( isInitialized )
190
+ const ready = useAtomValue ( isInitialized )
191
+
191
192
if ( ! ready ) {
192
193
return null
193
194
}
0 commit comments