File tree Expand file tree Collapse file tree 1 file changed +14
-1
lines changed
mobile/src/components/home Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -100,6 +100,7 @@ export const DeviceStatus = ({style}: {style?: ViewStyle}) => {
100100 if ( searching ) {
101101 await CoreModule . disconnect ( )
102102 setIsCheckingConnectivity ( false )
103+ setWasSearching ( false )
103104 } else {
104105 await connectGlasses ( )
105106 }
@@ -123,7 +124,19 @@ export const DeviceStatus = ({style}: {style?: ViewStyle}) => {
123124 return image
124125 }
125126
126- let isSearching = searching || isCheckingConnectivity
127+ // Delay clearing search state to prevent a flash of "Connect" button
128+ // when searching ends but connected/fullyBooted haven't updated yet
129+ const [ wasSearching , setWasSearching ] = useState ( false )
130+ useEffect ( ( ) => {
131+ if ( searching ) {
132+ setWasSearching ( true )
133+ } else if ( wasSearching ) {
134+ const timer = setTimeout ( ( ) => setWasSearching ( false ) , 500 )
135+ return ( ) => clearTimeout ( timer )
136+ }
137+ } , [ searching ] )
138+
139+ let isSearching = searching || isCheckingConnectivity || wasSearching
127140 let connectingText = translate ( "home:connectingGlasses" )
128141 // Only show booting message when we've received a glasses_not_ready event
129142 if ( showGlassesBooting ) {
You can’t perform that action at this time.
0 commit comments