Skip to content

Commit 30f2a7b

Browse files
Merge branch 'dev' into feat/Add-Http-request-example
2 parents 15c7a16 + 9af3812 commit 30f2a7b

File tree

6 files changed

+395
-79
lines changed

6 files changed

+395
-79
lines changed
Lines changed: 36 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,48 @@
11
import React, { forwardRef } from 'react';
22

3-
import { KeyboardTypeOptions, StyleSheet, TextInput } from 'react-native';
3+
import { KeyboardTypeOptions, StyleSheet, TextInput, View } from 'react-native';
4+
import { Text } from 'native-base';
45

56
interface InputFieldProps {
67
placeholder?: string;
78
value?: string;
89
onChangeText?: (text: string) => void;
910
keyboardType?: KeyboardTypeOptions;
11+
errorText?: string;
12+
maxLength?: number;
13+
accessibilityLabel?: string;
14+
flex?: number;
1015
}
1116

1217
export const InputField = forwardRef<TextInput, InputFieldProps>(
13-
({ placeholder, value, onChangeText, keyboardType, ...restProps }, ref) => {
18+
(
19+
{
20+
placeholder,
21+
value,
22+
onChangeText,
23+
accessibilityLabel,
24+
maxLength,
25+
keyboardType,
26+
errorText,
27+
...restProps
28+
},
29+
ref,
30+
) => {
1431
return (
15-
<TextInput
16-
ref={ref}
17-
placeholder={placeholder}
18-
style={styles.textInput}
19-
keyboardType={keyboardType}
20-
value={value}
21-
onChangeText={onChangeText}
22-
{...restProps}
23-
/>
32+
<View>
33+
<TextInput
34+
ref={ref}
35+
placeholder={placeholder}
36+
style={styles.textInput}
37+
maxLength={maxLength}
38+
accessibilityLabel={accessibilityLabel}
39+
keyboardType={keyboardType}
40+
value={value}
41+
onChangeText={onChangeText}
42+
{...restProps}
43+
/>
44+
{errorText ? <Text style={styles.errorText}>{errorText}</Text> : null}
45+
</View>
2446
);
2547
},
2648
);
@@ -35,4 +57,7 @@ const styles = StyleSheet.create({
3557
fontSize: 16,
3658
borderRadius: 5,
3759
},
60+
errorText: {
61+
color: '#ff0000',
62+
},
3863
});

examples/default/src/navigation/HomeStack.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ import { SectionListScreen } from '../screens/user-steps/SectionListScreen';
1717
import { GesturesScreen } from '../screens/user-steps/GesturesScreen';
1818
import { ApmScreen } from '../screens/apm/ApmScreen';
1919
import { type NetworkLogProp, NetworkLogScreen } from '../screens/apm/NetworkLogScreen';
20+
import {
21+
BackAndForthScreen,
22+
type BackAndForthScreenProp,
23+
} from '../screens/user-steps/BackAndForthScreen';
2024
import { GoogleMapsScreen } from '../screens/user-steps/GoogleMapsScreen';
2125
import { LargeImageListScreen } from '../screens/user-steps/LargeImageListScreen';
2226
import { SessionReplayScreen } from '../screens/SessionReplayScreen';
@@ -40,6 +44,7 @@ export type HomeStackParamList = {
4044
GoogleMapsScreen: undefined;
4145
LargeImageList: undefined;
4246
SessionReplay: undefined;
47+
BackAndForthScreen: BackAndForthScreenProp;
4348
};
4449

4550
const HomeStack = createNativeStackNavigator<HomeStackParamList>();
@@ -65,6 +70,7 @@ export const HomeStackNavigator: React.FC = () => {
6570
options={{ title: 'Feature Requests' }}
6671
/>
6772
<HomeStack.Screen name="Replies" component={RepliesScreen} />
73+
6874
<HomeStack.Screen name="Surveys" component={SurveysScreen} />
6975
<HomeStack.Screen
7076
name="SessionReplay"
@@ -110,6 +116,11 @@ export const HomeStackNavigator: React.FC = () => {
110116
component={SectionListScreen}
111117
options={{ title: 'Section List' }}
112118
/>
119+
<HomeStack.Screen
120+
name="BackAndForthScreen"
121+
component={BackAndForthScreen}
122+
options={{ title: 'Back And Forth Screen' }}
123+
/>
113124
<HomeStack.Screen
114125
name="LargeImageList"
115126
component={LargeImageListScreen}

examples/default/src/navigation/RootTab.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import Icon from 'react-native-vector-icons/Ionicons';
88

99
import { SettingsScreen } from '../screens/SettingsScreen';
1010
import { HomeStackNavigator } from './HomeStack';
11+
import { Platform } from 'react-native';
1112

1213
export type RootTabParamList = {
1314
HomeStack: undefined;
@@ -22,7 +23,7 @@ const createTabBarIcon = (name: string): BottomTabNavigationOptions['tabBarIcon'
2223

2324
export const RootTabNavigator: React.FC = () => {
2425
return (
25-
<RootTab.Navigator>
26+
<RootTab.Navigator screenOptions={{ tabBarHideOnKeyboard: Platform.OS !== 'ios' }}>
2627
<RootTab.Screen
2728
name="HomeStack"
2829
component={HomeStackNavigator}

0 commit comments

Comments
 (0)