app-expo-cli 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/package.json +1 -1
  2. package/src/copy-template.js +19 -1
  3. package/src/install-deps.js +6 -0
  4. package/template/assets/fonts/Inter_18pt-Black.ttf +0 -0
  5. package/template/assets/fonts/Inter_18pt-BlackItalic.ttf +0 -0
  6. package/template/assets/icon/index.ts +146 -0
  7. package/template/assets/images/about_us.png +0 -0
  8. package/template/assets/images/index.ts +6 -0
  9. package/template/assets/images/logo.png +0 -0
  10. package/template/assets/images/privacy_policy.png +0 -0
  11. package/template/assets/images/terms_and_conditions.png +0 -0
  12. package/template/src/app/_layout.tsx +3 -3
  13. package/template/src/app/auth/change_pass.tsx +18 -15
  14. package/template/src/app/auth/change_pass_modal.tsx +32 -51
  15. package/template/src/app/auth/forgot.tsx +74 -88
  16. package/template/src/app/auth/index.tsx +161 -192
  17. package/template/src/app/auth/opt_verify.tsx +93 -103
  18. package/template/src/app/auth/register.tsx +198 -260
  19. package/template/src/app/auth/reset_pass.tsx +102 -105
  20. package/template/src/app/index.tsx +70 -7
  21. package/template/src/app/modals/confirmation_logout_modal.tsx +0 -5
  22. package/template/src/app/modals/success_modal.tsx +28 -48
  23. package/template/src/app/settings/about_us.tsx +1 -1
  24. package/template/src/app/settings/privacy_policy.tsx +1 -1
  25. package/template/src/app/settings/terms_and_conditions.tsx +1 -1
  26. package/template/src/lib/DateTimePicker/DateTimePicker.tsx +63 -0
  27. package/template/src/lib/Empty/EmptyCard.tsx +67 -0
  28. package/template/src/lib/Error/GlobalErrorBoundary.tsx +111 -0
  29. package/template/src/lib/animate/AniImage.tsx +32 -0
  30. package/template/src/lib/backHeader/BackButton.tsx +62 -0
  31. package/template/src/lib/backHeader/BackWithCoponent.tsx +112 -0
  32. package/template/src/lib/backHeader/BackWithHeader.tsx +46 -0
  33. package/template/src/lib/backHeader/BackWithTitle.tsx +53 -0
  34. package/template/src/lib/buttons/IButton.tsx +69 -0
  35. package/template/src/lib/buttons/IwtButton.tsx +199 -0
  36. package/template/src/lib/buttons/Or.tsx +27 -0
  37. package/template/src/lib/buttons/SimpleButton.tsx +45 -0
  38. package/template/src/lib/buttons/TButton.tsx +70 -0
  39. package/template/src/lib/cards/Card.tsx +175 -0
  40. package/template/src/lib/cards/OptionSelect.tsx +44 -0
  41. package/template/src/lib/cards/SearchCard.tsx +35 -0
  42. package/template/src/lib/editor/TextEditor.tsx +81 -0
  43. package/template/src/lib/expend/ExpendComponent.tsx +36 -0
  44. package/template/src/lib/imageViewer/ImageViwer.tsx +332 -0
  45. package/template/src/lib/imageZoomer/ImageZoomer.tsx +104 -0
  46. package/template/src/lib/inputs/CheckBox.tsx +86 -0
  47. package/template/src/lib/inputs/InputText.tsx +232 -0
  48. package/template/src/lib/loader/GLoading.tsx +26 -0
  49. package/template/src/lib/loading/MLoading.tsx +14 -0
  50. package/template/src/lib/loading/SLoading.tsx +14 -0
  51. package/template/src/lib/modals/ActionModal.tsx +97 -0
  52. package/template/src/lib/modals/BottomModal.tsx +224 -0
  53. package/template/src/lib/modals/ConfrimationModal.tsx +116 -0
  54. package/template/src/lib/modals/DateModal.tsx +152 -0
  55. package/template/src/lib/modals/NormalModal.tsx +73 -0
  56. package/template/src/lib/modals/SideModal.tsx +57 -0
  57. package/template/src/lib/modals/Toaster.tsx +256 -0
  58. package/template/src/lib/payment/PaymentCardForD.tsx +47 -0
  59. package/template/src/lib/progressBar/ProgressBar.tsx +64 -0
  60. package/template/src/lib/tailwind.js +9 -0
  61. package/template/src/lib/ui/Avatar.tsx +55 -0
  62. package/template/src/redux/api-config/baseApi.ts +0 -22
  63. package/template/src/redux/interface/interface.ts +11 -193
  64. package/template/src/redux/store.ts +2 -2
  65. package/template/src/app/home/_layout.tsx +0 -29
  66. package/template/src/app/home/drawer/_layout.tsx +0 -27
  67. package/template/src/app/home/tabs/_layout.tsx +0 -75
  68. package/template/src/app/home/tabs/index.tsx +0 -11
  69. package/template/src/app/modals/payment_modal.tsx +0 -105
  70. package/template/src/hooks/useCheckLocation.ts +0 -36
  71. package/template/src/hooks/useDocPicker.ts +0 -83
  72. package/template/src/hooks/useSuggestionLocation.ts +0 -36
  73. package/template/src/hooks/useUploadProgress.ts +0 -127
@@ -1,32 +1,25 @@
1
1
  import * as Yup from "yup";
2
2
 
3
- import { Image, Text, View } from "react-native";
3
+ import { Text, View } from "react-native";
4
4
 
5
- import AppBgWrapper from "@/src/components/common/AppBgWrapper";
5
+ import { Icon } from "@/assets/icon";
6
6
  import BackButton from "@/src/lib/backHeader/BackButton";
7
- import { Formik } from "formik";
8
- import { Icon } from "@/assets/icons/Icon";
9
- import { ImageAssets } from "@/assets/images/image";
10
- import InputText from "@/src/lib/inputs/InputText";
11
- import { KeyboardAwareScrollView } from "react-native-keyboard-controller";
12
- import React from "react";
13
7
  import TButton from "@/src/lib/buttons/TButton";
14
- import { router } from "expo-router";
8
+ import InputText from "@/src/lib/inputs/InputText";
15
9
  import tw from "@/src/lib/tailwind";
16
- import { useForgotMutation } from "@/src/redux/apiSlices/authSlices";
10
+ import { router } from "expo-router";
11
+ import { Formik } from "formik";
17
12
 
18
13
  const Forgot = () => {
19
- const [forgot, { isLoading }] = useForgotMutation();
20
-
21
14
  const handleForgot = async (values: any) => {
22
15
  try {
23
- const res = await forgot(values).unwrap();
24
- if (res?.success) {
25
- router.push(`/modals/toaster?content=${res?.message}`);
26
- router.replace(`/auth/opt_verify?email=${values.email}&forgot=true`);
27
- } else {
28
- router.push(`/modals/toaster?content=${res?.message}`);
29
- }
16
+ // const res = await forgot(values).unwrap();
17
+ // if (res?.success) {
18
+ // router.push(`/modals/toaster?content=${res?.message}`);
19
+ router.replace(`/auth/opt_verify?email=${values.email}&forgot=true`);
20
+ // } else {
21
+ // router.push(`/modals/toaster?content=${res?.message}`);
22
+ // }
30
23
  } catch (error: any) {
31
24
  router.push(`/modals/toaster?content=${error?.message}`);
32
25
  }
@@ -40,84 +33,77 @@ const Forgot = () => {
40
33
  });
41
34
 
42
35
  return (
43
- <AppBgWrapper>
36
+ <View style={tw`flex-1`}>
44
37
  <BackButton
45
38
  onPress={() => router.dismiss()}
46
39
  containerStyle={tw`absolute top-5`}
47
40
  />
48
- <KeyboardAwareScrollView
49
- style={tw`z-10 flex-1`}
50
- contentContainerStyle={tw`items-center justify-center flex-1`}
51
- >
52
- <View style={tw`z-10 flex-1 items-center justify-center p-5`}>
53
- <View style={tw`justify-center items-center gap-2`}>
54
- <Image
55
- source={ImageAssets.logo}
56
- style={tw`h-30 aspect-square mb-5`}
57
- resizeMode="contain"
58
- />
59
- <View style={tw`items-center justify-center gap-2`}>
60
- <Text
61
- style={tw`text-white font-InterSemiBold text-2xl -tracking-[1px]`}
62
- >
63
- Forgot password ?
64
- </Text>
65
- <Text
66
- style={tw`text-white text-base text-center font-InterRegular -tracking-[1px]`}
67
- >
68
- Enter the email address that you used to create your account. We
69
- will send an OTP to reset your password.
70
- </Text>
71
- </View>
72
- </View>
73
41
 
74
- {/* Formik Wrapper */}
75
- <Formik
76
- initialValues={{ email: "" }}
77
- validationSchema={loginValidationSchema}
78
- onSubmit={handleForgot}
79
- >
80
- {({
81
- handleChange,
82
- handleBlur,
83
- handleSubmit,
84
- values,
85
- errors,
86
- touched,
87
- isValid,
88
- }) => (
89
- <View style={tw`w-full py-8 gap-6`}>
90
- <View style={tw`gap-3`}>
91
- <InputText
92
- svgFirstIcon={Icon.email}
93
- textInputProps={{
94
- placeholder: "Email",
95
- placeholderTextColor: "#A9A9A9",
96
- }}
97
- value={values.email}
98
- onChangeText={handleChange("email")}
99
- onBlur={handleBlur("email")}
100
- touched={touched.email}
101
- errorText={errors.email}
102
- />
103
- </View>
42
+ <View style={tw`z-10 flex-1 items-center justify-center p-5`}>
43
+ <View style={tw`justify-center items-center gap-2`}>
44
+ <View style={tw`items-center justify-center gap-2`}>
45
+ <Text
46
+ style={tw`text-white font-InterSemiBold text-2xl -tracking-[1px]`}
47
+ >
48
+ Forgot password ?
49
+ </Text>
50
+ <Text
51
+ style={tw`text-white text-base text-center font-InterRegular -tracking-[1px]`}
52
+ >
53
+ Enter the email address that you used to create your account. We
54
+ will send an OTP to reset your password.
55
+ </Text>
56
+ </View>
57
+ </View>
104
58
 
105
- {/* Submit button calls handleSubmit from Formik */}
106
- <TButton
107
- title="Get OTP"
108
- isLoading={isLoading}
109
- onPress={() => {
110
- handleSubmit();
111
- // router.push("/auth/opt_verify");
59
+ {/* Formik Wrapper */}
60
+ <Formik
61
+ initialValues={{ email: "" }}
62
+ validationSchema={loginValidationSchema}
63
+ onSubmit={handleForgot}
64
+ >
65
+ {({
66
+ handleChange,
67
+ handleBlur,
68
+ handleSubmit,
69
+ values,
70
+ errors,
71
+ touched,
72
+ isValid,
73
+ }) => (
74
+ <View style={tw`w-full py-8 gap-6`}>
75
+ <View style={tw`gap-3`}>
76
+ <InputText
77
+ // === Place icons here ===
78
+ svgFirstIcon={Icon.email}
79
+ textInputProps={{
80
+ placeholder: "Email",
81
+ placeholderTextColor: "#A9A9A9",
112
82
  }}
113
- disabled={!isValid}
83
+ value={values.email}
84
+ onChangeText={handleChange("email")}
85
+ onBlur={handleBlur("email")}
86
+ touched={touched.email}
87
+ errorText={errors.email}
114
88
  />
115
89
  </View>
116
- )}
117
- </Formik>
118
- </View>
119
- </KeyboardAwareScrollView>
120
- </AppBgWrapper>
90
+
91
+ {/* Submit button calls handleSubmit from Formik */}
92
+ <TButton
93
+ title="Get OTP"
94
+ // If you connect API then you can add loading here
95
+ // isLoading={isLoading}
96
+ onPress={() => {
97
+ handleSubmit();
98
+ // router.push("/auth/opt_verify");
99
+ }}
100
+ disabled={!isValid}
101
+ />
102
+ </View>
103
+ )}
104
+ </Formik>
105
+ </View>
106
+ </View>
121
107
  );
122
108
  };
123
109
 
@@ -1,27 +1,17 @@
1
1
  import * as Yup from "yup";
2
2
 
3
- import {
4
- useGoogleLoginMutation,
5
- useLoginMutation,
6
- } from "@/src/redux/apiSlices/authSlices";
7
3
  import { Image, Text, TouchableOpacity, View } from "react-native";
8
4
 
9
- import { Icon } from "@/assets/icons/Icon";
10
- import { ImageAssets } from "@/assets/images/image";
11
- import AppBgWrapper from "@/src/components/common/AppBgWrapper";
12
- import IButton from "@/src/lib/buttons/IButton";
13
- import Or from "@/src/lib/buttons/Or";
5
+ import { Icon } from "@/assets/icon";
6
+ import { ImageAssets } from "@/assets/images";
14
7
  import TButton from "@/src/lib/buttons/TButton";
15
8
  import CheckBox from "@/src/lib/inputs/CheckBox";
16
9
  import InputText from "@/src/lib/inputs/InputText";
17
10
  import tw from "@/src/lib/tailwind";
18
- import { support } from "@/src/utils/utils";
19
11
  import AsyncStorage from "@react-native-async-storage/async-storage";
20
12
  import { router } from "expo-router";
21
13
  import { Formik } from "formik";
22
14
  import React from "react";
23
- import { KeyboardAwareScrollView } from "react-native-keyboard-controller";
24
- import { SvgXml } from "react-native-svg";
25
15
 
26
16
  const Login = () => {
27
17
  const [loginInfo, setLoginInfo] = React.useState<null | {
@@ -31,8 +21,7 @@ const Login = () => {
31
21
  const [check, setCheck] = React.useState(false);
32
22
  const [passShow, setPassShow] = React.useState(false);
33
23
 
34
- const [login, results] = useLoginMutation();
35
- const [loginWithGoogle, googleResults] = useGoogleLoginMutation();
24
+ // const [login, results] = useLoginMutation();
36
25
 
37
26
  const handleLogin = async (values: any) => {
38
27
  try {
@@ -43,36 +32,21 @@ const Login = () => {
43
32
  AsyncStorage.removeItem("check");
44
33
  AsyncStorage.removeItem("loginInfo");
45
34
  }
46
- const response = await login(values).unwrap();
47
- if (response?.success) {
48
- // console.log(response?.data);
49
-
50
- await AsyncStorage.setItem("token", response?.data?.token);
51
- router.replace("/auth/location_access");
52
- } else {
53
- router.push(`/modals/toaster?content=${response?.message}`);
54
- }
35
+ // const response = await login(values).unwrap();
36
+ // if (response?.success) {
37
+ // console.log(response?.data);
38
+
39
+ // await AsyncStorage.setItem("token", response?.data?.token);
40
+ router.replace("/auth/home");
41
+ // } else {
42
+ // router.push(`/modals/toaster?content=${response?.message}`);
43
+ // }
55
44
  } catch (error: any) {
56
45
  console.log(error);
57
46
  router.push(`/modals/toaster?content=${error?.message}`);
58
47
  }
59
48
  };
60
49
 
61
- const handleLoginWithGoogle = async () => {
62
- try {
63
- const response = await loginWithGoogle({}).unwrap();
64
- // console.log(response);
65
- if (response?.success) {
66
- // router.push("/home/tabs");
67
- router.push(`/auth/google_login?url=${`${response?.data}`}`);
68
- } else {
69
- router.push(`/modals/toaster?content=${response?.message}`);
70
- }
71
- } catch (error: any) {
72
- router.push(`/modals/toaster?content=${error?.message}`);
73
- }
74
- };
75
-
76
50
  // Define validation schema using Yup
77
51
  const loginValidationSchema = Yup.object().shape({
78
52
  email: Yup.string()
@@ -99,175 +73,170 @@ const Login = () => {
99
73
  }, []);
100
74
 
101
75
  return (
102
- <AppBgWrapper>
103
- <KeyboardAwareScrollView style={tw`z-10 `}>
104
- <View style={tw`flex-1 items-center justify-center p-5`}>
105
- <View style={tw`justify-center items-center mt-10 gap-2`}>
106
- <Image
107
- source={ImageAssets.logo}
108
- style={tw`h-18 aspect-square mb-5`}
109
- resizeMode="contain"
110
- />
111
- <View style={tw`items-center justify-center gap-2`}>
112
- <Text
113
- style={tw`text-white font-InterSemiBold text-2xl -tracking-[1px]`}
114
- >
115
- Welcome Back
116
- </Text>
117
- <Text
118
- style={tw`text-white text-base font-InterRegular -tracking-[1px]`}
119
- >
120
- Please use your credentials to sign in
121
- </Text>
122
- </View>
123
- </View>
124
-
125
- {/* Formik Wrapper */}
126
- <Formik
127
- initialValues={{
128
- email: loginInfo?.email || "",
129
- password: loginInfo?.password || "",
130
- }}
131
- enableReinitialize
132
- validationSchema={loginValidationSchema}
133
- onSubmit={handleLogin}
76
+ <View style={tw`flex-1 items-center justify-center p-5`}>
77
+ <View style={tw`justify-center items-center mt-10 gap-2`}>
78
+ {/*=========== If need show logo then you can add here========= */}
79
+ <Image
80
+ source={ImageAssets.logo}
81
+ style={tw`h-18 aspect-square mb-5`}
82
+ resizeMode="contain"
83
+ />
84
+ <View style={tw`items-center justify-center gap-2`}>
85
+ <Text
86
+ style={tw`text-white font-InterSemiBold text-2xl -tracking-[1px]`}
134
87
  >
135
- {({
136
- handleChange,
137
- handleBlur,
138
- handleSubmit,
139
- values,
140
- errors,
141
- touched,
142
- isValid,
143
- }) => (
144
- <View style={tw`w-full py-8 gap-6`}>
145
- <View style={tw`gap-3`}>
146
- <InputText
147
- svgFirstIcon={Icon.email}
148
- textInputProps={{
149
- placeholder: "Email",
150
- placeholderTextColor: "#A9A9A9",
151
- }}
152
- value={values.email}
153
- onChangeText={handleChange("email")}
154
- onBlur={handleBlur("email")}
155
- touched={touched.email}
156
- errorText={errors.email}
157
- />
88
+ Welcome Back
89
+ </Text>
90
+ <Text
91
+ style={tw`text-white text-base font-InterRegular -tracking-[1px]`}
92
+ >
93
+ Please use your credentials to sign in
94
+ </Text>
95
+ </View>
96
+ </View>
97
+
98
+ {/* Formik Wrapper */}
99
+ <Formik
100
+ initialValues={{
101
+ email: loginInfo?.email || "",
102
+ password: loginInfo?.password || "",
103
+ }}
104
+ enableReinitialize
105
+ validationSchema={loginValidationSchema}
106
+ onSubmit={handleLogin}
107
+ >
108
+ {({
109
+ handleChange,
110
+ handleBlur,
111
+ handleSubmit,
112
+ values,
113
+ errors,
114
+ touched,
115
+ isValid,
116
+ }) => (
117
+ <View style={tw`w-full py-8 gap-6`}>
118
+ <View style={tw`gap-3`}>
119
+ <InputText
120
+ // === Place icons here ===
121
+ svgFirstIcon={Icon.email}
122
+ textInputProps={{
123
+ placeholder: "Email",
124
+ placeholderTextColor: "#A9A9A9",
125
+ }}
126
+ value={values.email}
127
+ onChangeText={handleChange("email")}
128
+ onBlur={handleBlur("email")}
129
+ touched={touched.email}
130
+ errorText={errors.email}
131
+ />
132
+
133
+ <InputText
134
+ // === Place icons here ===
135
+ svgFirstIcon={Icon.lock}
136
+ textInputProps={{
137
+ placeholder: "Password",
138
+ placeholderTextColor: "#A9A9A9",
139
+ secureTextEntry: !passShow,
140
+ }}
141
+ value={values.password}
142
+ onChangeText={handleChange("password")}
143
+ onBlur={handleBlur("password")}
144
+ touched={touched.password}
145
+ errorText={errors.password}
146
+ // === Place second icon here ===
147
+ // svgSecondIcon={passShow ? Icon.eye : Icon.eyeOff}
148
+ svgSecondOnPress={() => setPassShow(!passShow)}
149
+ />
150
+ </View>
158
151
 
159
- <InputText
160
- svgFirstIcon={Icon.lock}
161
- textInputProps={{
162
- placeholder: "Password",
163
- placeholderTextColor: "#A9A9A9",
164
- secureTextEntry: !passShow,
165
- }}
166
- value={values.password}
167
- onChangeText={handleChange("password")}
168
- onBlur={handleBlur("password")}
169
- touched={touched.password}
170
- errorText={errors.password}
171
- svgSecondIcon={passShow ? Icon.eye : Icon.eyeOff}
172
- svgSecondOnPress={() => setPassShow(!passShow)}
173
- />
174
- </View>
152
+ <View style={tw`flex-row justify-between items-center`}>
153
+ <View style={tw`flex-row items-center`}>
154
+ <CheckBox
155
+ checked={check}
156
+ onPress={() => setCheck(!check)}
157
+ title="Remember me"
158
+ />
159
+ </View>
160
+ <TouchableOpacity
161
+ onPress={() => {
162
+ router.push("/auth/forgot");
163
+ }}
164
+ >
165
+ <Text style={tw`text-[#339DFF] underline`}>
166
+ Forgot Password?
167
+ </Text>
168
+ </TouchableOpacity>
169
+ </View>
175
170
 
176
- <View style={tw`flex-row justify-between items-center`}>
177
- <View style={tw`flex-row items-center`}>
178
- <CheckBox
179
- checked={check}
180
- onPress={() => setCheck(!check)}
181
- title="Remember me"
182
- />
183
- </View>
184
- <TouchableOpacity
185
- onPress={() => {
186
- router.push("/auth/forgot");
187
- }}
188
- >
189
- <Text style={tw`text-[#339DFF] underline`}>
190
- Forgot Password?
191
- </Text>
192
- </TouchableOpacity>
193
- </View>
171
+ {/* Submit button calls handleSubmit from Formik */}
172
+ <TButton
173
+ // If you connect API then you can add loading here
174
+ // isLoading={results.isLoading}
175
+ title="Sign In"
176
+ onPress={() => {
177
+ handleSubmit();
178
+ // router.push("/home");
179
+ }}
180
+ disabled={!isValid}
181
+ />
194
182
 
195
- {/* Submit button calls handleSubmit from Formik */}
196
- <TButton
197
- isLoading={results.isLoading}
198
- title="Sign In"
199
- onPress={() => {
200
- handleSubmit();
201
- // router.push("/home");
202
- }}
203
- disabled={!isValid}
204
- />
183
+ {/* <Or title="Or continue with" /> */}
205
184
 
206
- <Or title="Or continue with" />
207
- <View style={tw`flex-row justify-center items-center gap-4`}>
185
+ {/* Social login button if need then you can add */}
186
+ {/* <View style={tw`flex-row justify-center items-center gap-4`}>
208
187
  <IButton
209
188
  isLoading={googleResults.isLoading}
210
189
  containerStyle={tw`w-16 h-16 bg-transparent `}
211
190
  svg={Icon.google}
212
191
  onPress={handleLoginWithGoogle}
213
192
  />
214
- {/* <IButton
193
+ <IButton
215
194
  containerStyle={tw`w-16 h-16 bg-transparent `}
216
195
  svg={Icon.apple}
217
- onPress={handleLoginWithGoogle}
218
- /> */}
219
- </View>
196
+ onPress={handleLoginWithApple}
197
+ />
198
+ </View> */}
220
199
 
221
- <View style={tw`gap-2`}>
222
- <View style={tw`flex-row justify-center `}>
223
- <Text style={tw`text-white`}>Dont have an account?</Text>
224
- <TouchableOpacity
225
- onPress={() => {
226
- router.push("/auth/register");
227
- }}
228
- style={tw`flex-row items-center gap-3`}
229
- >
230
- <Text style={tw`text-[#339DFF] underline ml-1`}>
231
- Sign up
232
- </Text>
233
- <SvgXml xml={Icon.play} />
234
- </TouchableOpacity>
235
- </View>
236
- <View>
237
- <Text style={tw`text-white text-center leading-6`}>
238
- Please read our{" "}
239
- <Text
240
- onPress={() =>
241
- router.push("/settings/terms_and_conditions")
242
- }
243
- style={tw`text-[#339DFF] underline`}
244
- >
245
- Terms
246
- </Text>{" "}
247
- and{" "}
248
- <Text
249
- onPress={() => router.push("/settings/privacy_policy")}
250
- style={tw`text-[#339DFF] underline`}
251
- >
252
- Privacy Policy
253
- </Text>{" "}
254
- and if you have any problems please contact our{" "}
255
- <Text
256
- onPress={() => support()}
257
- style={tw`text-[#339DFF] underline`}
258
- >
259
- Support
260
- </Text>
261
- </Text>
262
- </View>
263
- </View>
200
+ <View style={tw`gap-2`}>
201
+ <View style={tw`flex-row justify-center `}>
202
+ <Text style={tw`text-white`}>Dont have an account?</Text>
203
+ <TouchableOpacity
204
+ onPress={() => {
205
+ router.push("/auth/register");
206
+ }}
207
+ style={tw`flex-row items-center gap-3`}
208
+ >
209
+ <Text style={tw`text-[#339DFF] underline ml-1`}>Sign up</Text>
210
+ <SvgXml xml={Icon.play} />
211
+ </TouchableOpacity>
264
212
  </View>
265
- )}
266
- </Formik>
267
- {/* End of Formik Wrapper */}
268
- </View>
269
- </KeyboardAwareScrollView>
270
- </AppBgWrapper>
213
+ <View>
214
+ <Text style={tw`text-white text-center leading-6`}>
215
+ Please read our{" "}
216
+ <Text
217
+ onPress={() =>
218
+ router.push("/settings/terms_and_conditions")
219
+ }
220
+ style={tw`text-[#339DFF] underline`}
221
+ >
222
+ Terms
223
+ </Text>{" "}
224
+ and{" "}
225
+ <Text
226
+ onPress={() => router.push("/settings/privacy_policy")}
227
+ style={tw`text-[#339DFF] underline`}
228
+ >
229
+ Privacy Policy
230
+ </Text>{" "}
231
+ and if you have any problems please contact our{" "}
232
+ </Text>
233
+ </View>
234
+ </View>
235
+ </View>
236
+ )}
237
+ </Formik>
238
+ {/* End of Formik Wrapper */}
239
+ </View>
271
240
  );
272
241
  };
273
242