@@ -25,10 +25,10 @@ import { reportRejection } from 'lib/trap'
25
25
import { useNetworkContext } from 'hooks/useNetworkContext'
26
26
import { NetworkHealthState } from 'hooks/useNetworkStatus'
27
27
import { EngineConnectionStateType } from 'lang/std/engineConnection'
28
- import { settingsActor , useSettings } from 'machines/appMachine'
29
- import { useSelector } from '@xstate/react'
28
+ import { settingsActor } from 'machines/appMachine'
30
29
import { CustomIcon } from 'components/CustomIcon'
31
30
import Tooltip from 'components/Tooltip'
31
+ import { waitFor } from 'xstate'
32
32
33
33
export const kbdClasses =
34
34
'py-0.5 px-1 text-sm rounded bg-chalkboard-10 dark:bg-chalkboard-100 border border-chalkboard-50 border-b-2'
@@ -125,38 +125,19 @@ export function useNextClick(newStatus: string) {
125
125
126
126
export function useDismiss ( ) {
127
127
const filePath = useAbsoluteFilePath ( )
128
- const settings = useSettings ( )
129
128
const send = settingsActor . send
130
- const isSettingsActorIdle = useSelector ( settingsActor , ( s ) =>
131
- s . matches ( 'idle' )
132
- )
133
129
const navigate = useNavigate ( )
134
130
135
131
const settingsCallback = useCallback ( ( ) => {
136
132
send ( {
137
133
type : 'set.app.onboardingStatus' ,
138
134
data : { level : 'user' , value : 'dismissed' } ,
139
135
} )
136
+ waitFor ( settingsActor , ( state ) => state . matches ( 'idle' ) )
137
+ . then ( ( ) => navigate ( filePath ) )
138
+ . catch ( reportRejection )
140
139
} , [ send ] )
141
140
142
- /**
143
- * A "listener" for the XState to return to "idle" state
144
- * when the user dismisses the onboarding, using the callback above
145
- */
146
- useEffect ( ( ) => {
147
- if (
148
- settings . app . onboardingStatus . current === 'dismissed' &&
149
- isSettingsActorIdle
150
- ) {
151
- navigate ( filePath )
152
- }
153
- } , [
154
- filePath ,
155
- navigate ,
156
- isSettingsActorIdle ,
157
- settings . app . onboardingStatus . current ,
158
- ] )
159
-
160
141
return settingsCallback
161
142
}
162
143
0 commit comments