@@ -141,31 +141,40 @@ const TuningSettings: React.FC = () => {
141141 const parseNumberFromText = ( prev : number , text : string ) =>
142142 Number . isNaN ( Number ( text ) ) ? prev : Number ( text ) ;
143143
144- const handleHeaderIntervalChange = ( text : string ) =>
144+ const handleHeaderIntervalChange = ( text : string ) => {
145+ const value = parseNumberFromText ( settings . headerTransitionInterval , text ) ;
145146 setSettings ( ( prev ) => ( {
146147 ...prev ,
147- headerTransitionInterval : parseNumberFromText (
148- prev . headerTransitionInterval ,
149- text
150- ) ,
148+ headerTransitionInterval : value ,
151149 } ) ) ;
152- const handleHeaderDelayChange = ( text : string ) =>
150+ AsyncStorage . setItem (
151+ ASYNC_STORAGE_KEYS . HEADER_TRANSITION_INTERVAL ,
152+ String ( value )
153+ ) ;
154+ } ;
155+ const handleHeaderDelayChange = ( text : string ) => {
156+ const value = parseNumberFromText ( settings . headerTransitionDelay , text ) ;
153157 setSettings ( ( prev ) => ( {
154158 ...prev ,
155- headerTransitionDelay : parseNumberFromText (
156- prev . headerTransitionDelay ,
157- text
158- ) ,
159+ headerTransitionDelay : value ,
159160 } ) ) ;
161+ AsyncStorage . setItem (
162+ ASYNC_STORAGE_KEYS . HEADER_TRANSITION_DELAY ,
163+ String ( value )
164+ ) ;
165+ } ;
160166
161- const handleBottomDelayChange = ( text : string ) =>
167+ const handleBottomDelayChange = ( text : string ) => {
168+ const value = parseNumberFromText ( settings . bottomTransitionInterval , text ) ;
162169 setSettings ( ( prev ) => ( {
163170 ...prev ,
164- bottomTransitionInterval : parseNumberFromText (
165- prev . bottomTransitionInterval ,
166- text
167- ) ,
171+ bottomTransitionInterval : value ,
168172 } ) ) ;
173+ AsyncStorage . setItem (
174+ ASYNC_STORAGE_KEYS . BOTTOM_TRANSITION_INTERVAL ,
175+ String ( value )
176+ ) ;
177+ } ;
169178
170179 const [ voicePickerState , setVoicePickerState ] = useState < {
171180 current : string ;
@@ -199,44 +208,40 @@ const TuningSettings: React.FC = () => {
199208 AsyncStorage . setItem ( ASYNC_STORAGE_KEYS . TTS_EN_VOICE_NAME , voice ) ;
200209 } ;
201210
202- const toggleDevOverlayEnabled = ( ) =>
211+ const toggleDevOverlayEnabled = ( ) => {
212+ const nextValue = ! settings . devOverlayEnabled ;
203213 setSettings ( ( prev ) => ( {
204214 ...prev ,
205- devOverlayEnabled : ! prev . devOverlayEnabled ,
215+ devOverlayEnabled : nextValue ,
206216 } ) ) ;
217+ AsyncStorage . setItem (
218+ ASYNC_STORAGE_KEYS . DEV_OVERLAY_ENABLED ,
219+ String ( nextValue )
220+ ) ;
221+ } ;
207222
208- const toggleUntouchableModeEnabled = ( ) =>
223+ const toggleUntouchableModeEnabled = ( ) => {
224+ const nextValue = ! settings . untouchableModeEnabled ;
209225 setSettings ( ( prev ) => ( {
210226 ...prev ,
211- untouchableModeEnabled : ! prev . untouchableModeEnabled ,
227+ untouchableModeEnabled : nextValue ,
212228 } ) ) ;
229+ AsyncStorage . setItem (
230+ ASYNC_STORAGE_KEYS . UNTOUCHABLE_MODE_ENABLED ,
231+ String ( nextValue )
232+ ) ;
233+ } ;
213234
214235 const toggleTelemetryEnabled = ( ) => {
215- if ( settings . telemetryEnabled ) {
216- AsyncStorage . setItem ( ASYNC_STORAGE_KEYS . TELEMETRY_ENABLED , 'false' ) ;
217- setSettings ( ( prev ) => ( {
218- ...prev ,
219- telemetryEnabled : ! prev . telemetryEnabled ,
220- } ) ) ;
221- return ;
222- }
223-
224- Alert . alert ( translate ( 'notice' ) , translate ( 'telemetrySettingWillPersist' ) , [
225- {
226- text : 'OK' ,
227- onPress : ( ) => {
228- AsyncStorage . setItem ( ASYNC_STORAGE_KEYS . TELEMETRY_ENABLED , 'true' ) ;
229- setSettings ( ( prev ) => ( {
230- ...prev ,
231- telemetryEnabled : ! prev . telemetryEnabled ,
232- } ) ) ;
233- } ,
234- } ,
235- {
236- text : translate ( 'cancel' ) ,
237- style : 'cancel' ,
238- } ,
239- ] ) ;
236+ const nextValue = ! settings . telemetryEnabled ;
237+ setSettings ( ( prev ) => ( {
238+ ...prev ,
239+ telemetryEnabled : nextValue ,
240+ } ) ) ;
241+ AsyncStorage . setItem (
242+ ASYNC_STORAGE_KEYS . TELEMETRY_ENABLED ,
243+ String ( nextValue )
244+ ) ;
240245 } ;
241246
242247 return (
0 commit comments