@@ -34,6 +34,8 @@ export const SettingsScreen: React.FC<NativeStackScreenProps<HomeStackParamList,
3434 const [ userData , setUserData ] = useState ( '' )
3535 const [ userEvent , setUserEvent ] = useState ( '' )
3636 const [ tag , setTag ] = useState ( '' )
37+ const [ instabugLogLevel , setInstabugLogLevel ] = useState < 'verbose' | 'debug' | 'info' | 'warn' | 'error' > ( 'debug' ) ;
38+ const [ instabugLog , setInstabugLog ] = useState ( '' )
3739 const [ featureFlagName , setFeatureFlagName ] = useState ( '' ) ;
3840 const [ featureFlagVariant , setfeatureFlagVariant ] = useState ( '' ) ;
3941 const [ isUserStepEnabled , setIsUserStepEnabled ] = useState < boolean > ( true ) ;
@@ -201,6 +203,34 @@ export const SettingsScreen: React.FC<NativeStackScreenProps<HomeStackParamList,
201203 description : 'User identified successfully' ,
202204 } ) ;
203205 } ;
206+ const logToInstabug = ( ) => {
207+ if ( ! instabugLog . trim ( ) ) {
208+ toast . show ( { description : 'Please enter a log message' } ) ;
209+ return ;
210+ }
211+
212+ switch ( instabugLogLevel ) {
213+ case 'verbose' :
214+ Instabug . logVerbose ( instabugLog ) ;
215+ break ;
216+ case 'debug' :
217+ Instabug . logDebug ( instabugLog ) ;
218+ break ;
219+ case 'info' :
220+ Instabug . logInfo ( instabugLog ) ;
221+ break ;
222+ case 'warn' :
223+ Instabug . logWarn ( instabugLog ) ;
224+ break ;
225+ case 'error' :
226+ Instabug . logError ( instabugLog ) ;
227+ break ;
228+ }
229+
230+ toast . show ( { description : `Logged ${ instabugLogLevel } message` } ) ;
231+ setInstabugLog ( '' ) ;
232+ } ;
233+
204234
205235 return (
206236 < ScrollView >
@@ -552,33 +582,33 @@ export const SettingsScreen: React.FC<NativeStackScreenProps<HomeStackParamList,
552582 />
553583 </ VStack >
554584 </ VerticalListTile >
555- < VerticalListTile title = "Logs Section " >
585+ < VerticalListTile title = "Instabug Logs " >
556586 < VStack >
557- < ListTile
558- testID = "log_verbose"
559- title = "Log Verbose message"
560- onPress = { ( ) => Instabug . logVerbose ( 'log Verbose message' ) }
561- />
562- < ListTile
563- testID = "log_debug"
564- title = "Log Debug message"
565- onPress = { ( ) => Instabug . logDebug ( 'log Debug message' ) }
566- />
567- < ListTile
568- testID = "log_warn"
569- title = "Log Warn message"
570- onPress = { ( ) => Instabug . logWarn ( 'log Warn message' ) }
571- />
572- < ListTile
573- testID = "log_error"
574- title = "Log Error message"
575- onPress = { ( ) => Instabug . logError ( 'log Error message' ) }
576- />
577- < ListTile
578- testID = "log_info"
579- title = "Log Info message"
580- onPress = { ( ) => Instabug . logInfo ( 'log Info message' ) }
587+ < Select
588+ label = "Select Log Level"
589+ items = { [
590+ { label : 'Verbose' , value : 'verbose' } ,
591+ { label : 'Debug' , value : 'debug' } ,
592+ { label : 'Info' , value : 'info' } ,
593+ { label : 'Warn' , value : 'warn' } ,
594+ { label : 'Error' , value : 'error' } ,
595+ ] }
596+ onValueChange = { ( value ) => setInstabugLogLevel ( value as any ) }
581597 />
598+
599+ < View style = { styles . formContainer } >
600+ < View style = { styles . inputWrapper } >
601+ < InputField
602+ placeholder = "Enter log message"
603+ onChangeText = { ( text ) => setInstabugLog ( text ) }
604+ value = { instabugLog }
605+ />
606+ </ View >
607+ </ View >
608+
609+ < Button mt = "4" onPress = { logToInstabug } >
610+ Log Message
611+ </ Button >
582612 </ VStack >
583613 </ VerticalListTile >
584614 </ Screen >
0 commit comments