11import { useMemo , useState } from 'react'
2- import { useStore } from '@tanstack/react-store '
2+ import { useAtomValue , useSetAtom } from 'jotai '
33import { FileText , Folder } from 'lucide-react'
44
55import FileViewer from './file-viewer'
@@ -9,11 +9,10 @@ import type { FileTreeItem } from '@/types'
99
1010import { Label } from '@/components/ui/label'
1111import { Checkbox } from '@/components/ui/checkbox'
12- import { Separator } from '@/components/ui/separator'
13- import { useSidebar } from '@/components/ui/sidebar'
1412
1513import {
1614 applicationMode ,
15+ dryRunAtom ,
1716 includeFiles ,
1817 isInitialized ,
1918 projectFiles ,
@@ -23,12 +22,12 @@ import {
2322import { getFileClass , twClasses } from '@/file-classes'
2423
2524export function Filters ( ) {
26- const includedFiles = useStore ( includeFiles )
27-
25+ const includedFiles = useAtomValue ( includeFiles )
26+ const setIncludeFiles = useSetAtom ( includeFiles )
2827 function toggleFilter (
2928 filter : 'unchanged' | 'added' | 'modified' | 'deleted' | 'overwritten' ,
3029 ) {
31- includeFiles . setState ( ( state ) => {
30+ setIncludeFiles ( ( state ) => {
3231 if ( state . includes ( filter ) ) {
3332 return state . filter ( ( file ) => file !== filter )
3433 }
@@ -105,18 +104,19 @@ export default function FileNavigator() {
105104 './package.json' ,
106105 )
107106
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 )
110110
111- const mode = useStore ( applicationMode )
111+ const mode = useAtomValue ( applicationMode )
112112 const tree = output . files
113113 const originalTree = mode === 'setup' ? output . files : originalOutput . files
114114 const deletedFiles = output . deletedFiles
115115
116116 const [ originalFileContents , setOriginalFileContents ] = useState < string > ( )
117117 const [ modifiedFileContents , setModifiedFileContents ] = useState < string > ( )
118118
119- const includedFiles = useStore ( includeFiles )
119+ const includedFiles = useAtomValue ( includeFiles )
120120
121121 const fileTree = useMemo ( ( ) => {
122122 const treeData : Array < FileTreeItem > = [ ]
@@ -187,7 +187,8 @@ export default function FileNavigator() {
187187 return treeData
188188 } , [ tree , originalTree , localTree , includedFiles ] )
189189
190- const ready = useStore ( isInitialized )
190+ const ready = useAtomValue ( isInitialized )
191+
191192 if ( ! ready ) {
192193 return null
193194 }
0 commit comments