@fadyshawky/react-native-magic 1.0.4 → 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.
- package/.vscode/settings.json +7 -0
- package/CHANGELOG.md +23 -0
- package/README.md +2 -4
- package/local.properties +1 -0
- package/package.json +1 -3
- package/template/.env.development +3 -0
- package/template/.env.production +4 -1
- package/template/.env.staging +4 -1
- package/template/App.tsx +0 -5
- package/template/android/app/build.gradle +71 -6
- package/template/android/app/src/main/AndroidManifest.xml +2 -0
- package/template/android/gradle.properties +0 -1
- package/template/babel.config.js +1 -0
- package/template/index.js +1 -1
- package/template/ios/Podfile +37 -6
- package/template/ios/Podfile.lock +2 -2
- package/template/ios/reactnativemagic/Info.plist +4 -0
- package/template/ios/reactnativemagic.xcodeproj/project.pbxproj +74 -74
- package/template/ios/tmp.xcconfig +2 -0
- package/template/metro.config.js +6 -1
- package/template/package-lock.json +4 -3
- package/template/package.json +7 -6
- package/template/src/common/components/Background.tsx +0 -1
- package/template/src/common/components/ImageCropPickerButton.tsx +4 -5
- package/template/src/common/components/LoadingComponent.tsx +1 -6
- package/template/src/common/localization/translations/loginLocalization.ts +18 -2
- package/template/src/core/store/user/userActions.ts +47 -3
- package/template/src/core/store/user/userSlice.ts +59 -2
- package/template/src/core/theme/fonts.ts +1 -7
- package/template/src/navigation/AuthStack.tsx +16 -0
- package/template/src/navigation/HeaderComponents.tsx +3 -5
- package/template/src/navigation/MainStack.tsx +0 -1
- package/template/src/navigation/types.ts +7 -1
- package/template/src/screens/Login/Login.tsx +54 -3
- package/template/src/screens/registration/RegistrationScreen.tsx +198 -0
- package/template/src/screens/resetPassword/ForgotPasswordScreen.tsx +129 -0
- package/template/src/types/react-native-config.d.ts +8 -0
|
@@ -11,15 +11,15 @@
|
|
|
11
11
|
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; };
|
|
12
12
|
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
|
13
13
|
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
|
14
|
-
44CEDDADA0FFEFA1C02AD162 /* libPods-reactnativemagic.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 72FCDE6D8263C5D62A717153 /* libPods-reactnativemagic.a */; };
|
|
15
14
|
52BF1DA92D160E8100046137 /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; };
|
|
16
15
|
52BF1DAA2D160E8100046137 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
|
17
16
|
52BF1DAE2D160E8100046137 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
|
|
18
17
|
52BF1DAF2D160E8100046137 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
|
19
18
|
52BF1DB02D160E8100046137 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */; };
|
|
19
|
+
77D16B02A575BB6A60CE8704 /* libPods-reactnativemagic.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 93FAE7E83CECE25ADEF8D6BE /* libPods-reactnativemagic.a */; };
|
|
20
20
|
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
|
|
21
21
|
910638E3E666DD629C55D964 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */; };
|
|
22
|
-
|
|
22
|
+
E388856903F4421DBD82E0F1 /* libPods-reactnativemagic-reactnativemagicTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FCEF4990B6E3214444BBD14A /* libPods-reactnativemagic-reactnativemagicTests.a */; };
|
|
23
23
|
/* End PBXBuildFile section */
|
|
24
24
|
|
|
25
25
|
/* Begin PBXContainerItemProxy section */
|
|
@@ -36,7 +36,6 @@
|
|
|
36
36
|
00E356EE1AD99517003FC87E /* reactnativemagicTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = reactnativemagicTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
37
37
|
00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
|
38
38
|
00E356F21AD99517003FC87E /* reactnativemagicTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = reactnativemagicTests.m; sourceTree = "<group>"; };
|
|
39
|
-
123D2B186506039FFA026D6C /* Pods-reactnativemagic-reactnativemagicTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-reactnativemagic-reactnativemagicTests.release.xcconfig"; path = "Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests.release.xcconfig"; sourceTree = "<group>"; };
|
|
40
39
|
13B07F961A680F5B00A75B9A /* reactnativemagic.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = reactnativemagic.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
41
40
|
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = reactnativemagic/AppDelegate.h; sourceTree = "<group>"; };
|
|
42
41
|
13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = reactnativemagic/AppDelegate.mm; sourceTree = "<group>"; };
|
|
@@ -44,15 +43,16 @@
|
|
|
44
43
|
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = reactnativemagic/Info.plist; sourceTree = "<group>"; };
|
|
45
44
|
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = reactnativemagic/main.m; sourceTree = "<group>"; };
|
|
46
45
|
13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = reactnativemagic/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
|
|
47
|
-
|
|
46
|
+
465754F1499D1884290F3C3F /* Pods-reactnativemagic-reactnativemagicTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-reactnativemagic-reactnativemagicTests.debug.xcconfig"; path = "Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests.debug.xcconfig"; sourceTree = "<group>"; };
|
|
48
47
|
52BF1DB72D160E8100046137 /* reactnativemagic-Development.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "reactnativemagic-Development.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
49
48
|
52BF1DB82D160E8100046137 /* reactnativemagic copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "reactnativemagic copy-Info.plist"; path = "/Users/fady/Dev/template/ReactNativeMagic/template/ios/reactnativemagic copy-Info.plist"; sourceTree = "<absolute>"; };
|
|
50
|
-
|
|
51
|
-
72FCDE6D8263C5D62A717153 /* libPods-reactnativemagic.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-reactnativemagic.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
52
|
-
7E0F08C4FA8BBC7D24AE0AD6 /* libPods-reactnativemagic-reactnativemagicTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-reactnativemagic-reactnativemagicTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
49
|
+
704B3B865C81C25269E97AE9 /* Pods-reactnativemagic.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-reactnativemagic.debug.xcconfig"; path = "Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic.debug.xcconfig"; sourceTree = "<group>"; };
|
|
53
50
|
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = reactnativemagic/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
|
51
|
+
8E6E7224800FB3999B451268 /* Pods-reactnativemagic.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-reactnativemagic.release.xcconfig"; path = "Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic.release.xcconfig"; sourceTree = "<group>"; };
|
|
52
|
+
93FAE7E83CECE25ADEF8D6BE /* libPods-reactnativemagic.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-reactnativemagic.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
53
|
+
A76280FB51D3CE1B55E47DD9 /* Pods-reactnativemagic-reactnativemagicTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-reactnativemagic-reactnativemagicTests.release.xcconfig"; path = "Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests.release.xcconfig"; sourceTree = "<group>"; };
|
|
54
54
|
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
|
55
|
-
|
|
55
|
+
FCEF4990B6E3214444BBD14A /* libPods-reactnativemagic-reactnativemagicTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-reactnativemagic-reactnativemagicTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
56
56
|
/* End PBXFileReference section */
|
|
57
57
|
|
|
58
58
|
/* Begin PBXFrameworksBuildPhase section */
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
isa = PBXFrameworksBuildPhase;
|
|
61
61
|
buildActionMask = 2147483647;
|
|
62
62
|
files = (
|
|
63
|
-
|
|
63
|
+
E388856903F4421DBD82E0F1 /* libPods-reactnativemagic-reactnativemagicTests.a in Frameworks */,
|
|
64
64
|
);
|
|
65
65
|
runOnlyForDeploymentPostprocessing = 0;
|
|
66
66
|
};
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
isa = PBXFrameworksBuildPhase;
|
|
69
69
|
buildActionMask = 2147483647;
|
|
70
70
|
files = (
|
|
71
|
-
|
|
71
|
+
77D16B02A575BB6A60CE8704 /* libPods-reactnativemagic.a in Frameworks */,
|
|
72
72
|
);
|
|
73
73
|
runOnlyForDeploymentPostprocessing = 0;
|
|
74
74
|
};
|
|
@@ -117,8 +117,8 @@
|
|
|
117
117
|
isa = PBXGroup;
|
|
118
118
|
children = (
|
|
119
119
|
ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
93FAE7E83CECE25ADEF8D6BE /* libPods-reactnativemagic.a */,
|
|
121
|
+
FCEF4990B6E3214444BBD14A /* libPods-reactnativemagic-reactnativemagicTests.a */,
|
|
122
122
|
);
|
|
123
123
|
name = Frameworks;
|
|
124
124
|
sourceTree = "<group>";
|
|
@@ -159,10 +159,10 @@
|
|
|
159
159
|
BBD78D7AC51CEA395F1C20DB /* Pods */ = {
|
|
160
160
|
isa = PBXGroup;
|
|
161
161
|
children = (
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
162
|
+
704B3B865C81C25269E97AE9 /* Pods-reactnativemagic.debug.xcconfig */,
|
|
163
|
+
8E6E7224800FB3999B451268 /* Pods-reactnativemagic.release.xcconfig */,
|
|
164
|
+
465754F1499D1884290F3C3F /* Pods-reactnativemagic-reactnativemagicTests.debug.xcconfig */,
|
|
165
|
+
A76280FB51D3CE1B55E47DD9 /* Pods-reactnativemagic-reactnativemagicTests.release.xcconfig */,
|
|
166
166
|
);
|
|
167
167
|
path = Pods;
|
|
168
168
|
sourceTree = "<group>";
|
|
@@ -174,12 +174,12 @@
|
|
|
174
174
|
isa = PBXNativeTarget;
|
|
175
175
|
buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "reactnativemagicTests" */;
|
|
176
176
|
buildPhases = (
|
|
177
|
-
|
|
177
|
+
9280AC1AD30334278122A6BE /* [CP] Check Pods Manifest.lock */,
|
|
178
178
|
00E356EA1AD99517003FC87E /* Sources */,
|
|
179
179
|
00E356EB1AD99517003FC87E /* Frameworks */,
|
|
180
180
|
00E356EC1AD99517003FC87E /* Resources */,
|
|
181
|
-
|
|
182
|
-
|
|
181
|
+
A980D2E5A3C346157E5020A9 /* [CP] Embed Pods Frameworks */,
|
|
182
|
+
C130977123E4EDA0DC4DCAC1 /* [CP] Copy Pods Resources */,
|
|
183
183
|
);
|
|
184
184
|
buildRules = (
|
|
185
185
|
);
|
|
@@ -195,13 +195,13 @@
|
|
|
195
195
|
isa = PBXNativeTarget;
|
|
196
196
|
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "reactnativemagic" */;
|
|
197
197
|
buildPhases = (
|
|
198
|
-
|
|
198
|
+
93218D9147EB08B1CDC0B329 /* [CP] Check Pods Manifest.lock */,
|
|
199
199
|
13B07F871A680F5B00A75B9A /* Sources */,
|
|
200
200
|
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
|
201
201
|
13B07F8E1A680F5B00A75B9A /* Resources */,
|
|
202
202
|
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
|
|
203
|
-
|
|
204
|
-
|
|
203
|
+
C9BDCEA7C1A8090D8F420D7A /* [CP] Embed Pods Frameworks */,
|
|
204
|
+
C3B4B1699B3C5FC05FEDA60D /* [CP] Copy Pods Resources */,
|
|
205
205
|
);
|
|
206
206
|
buildRules = (
|
|
207
207
|
);
|
|
@@ -314,132 +314,132 @@
|
|
|
314
314
|
shellPath = /bin/sh;
|
|
315
315
|
shellScript = "set -e\n\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
|
|
316
316
|
};
|
|
317
|
-
|
|
317
|
+
52BF1DB12D160E8100046137 /* Bundle React Native code and images */ = {
|
|
318
318
|
isa = PBXShellScriptBuildPhase;
|
|
319
319
|
buildActionMask = 2147483647;
|
|
320
320
|
files = (
|
|
321
321
|
);
|
|
322
|
-
|
|
323
|
-
"$
|
|
322
|
+
inputPaths = (
|
|
323
|
+
"$(SRCROOT)/.xcode.env.local",
|
|
324
|
+
"$(SRCROOT)/.xcode.env",
|
|
324
325
|
);
|
|
325
|
-
name = "
|
|
326
|
-
|
|
327
|
-
"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests-resources-${CONFIGURATION}-output-files.xcfilelist",
|
|
326
|
+
name = "Bundle React Native code and images";
|
|
327
|
+
outputPaths = (
|
|
328
328
|
);
|
|
329
329
|
runOnlyForDeploymentPostprocessing = 0;
|
|
330
330
|
shellPath = /bin/sh;
|
|
331
|
-
shellScript = "\"$
|
|
332
|
-
showEnvVarsInLog = 0;
|
|
331
|
+
shellScript = "set -e\n\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
|
|
333
332
|
};
|
|
334
|
-
|
|
333
|
+
9280AC1AD30334278122A6BE /* [CP] Check Pods Manifest.lock */ = {
|
|
335
334
|
isa = PBXShellScriptBuildPhase;
|
|
336
335
|
buildActionMask = 2147483647;
|
|
337
336
|
files = (
|
|
338
337
|
);
|
|
338
|
+
inputFileListPaths = (
|
|
339
|
+
);
|
|
339
340
|
inputPaths = (
|
|
340
|
-
"$
|
|
341
|
-
"$
|
|
341
|
+
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
|
342
|
+
"${PODS_ROOT}/Manifest.lock",
|
|
343
|
+
);
|
|
344
|
+
name = "[CP] Check Pods Manifest.lock";
|
|
345
|
+
outputFileListPaths = (
|
|
342
346
|
);
|
|
343
|
-
name = "Bundle React Native code and images";
|
|
344
347
|
outputPaths = (
|
|
348
|
+
"$(DERIVED_FILE_DIR)/Pods-reactnativemagic-reactnativemagicTests-checkManifestLockResult.txt",
|
|
345
349
|
);
|
|
346
350
|
runOnlyForDeploymentPostprocessing = 0;
|
|
347
351
|
shellPath = /bin/sh;
|
|
348
|
-
shellScript = "
|
|
352
|
+
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
|
353
|
+
showEnvVarsInLog = 0;
|
|
349
354
|
};
|
|
350
|
-
|
|
355
|
+
93218D9147EB08B1CDC0B329 /* [CP] Check Pods Manifest.lock */ = {
|
|
351
356
|
isa = PBXShellScriptBuildPhase;
|
|
352
357
|
buildActionMask = 2147483647;
|
|
353
358
|
files = (
|
|
354
359
|
);
|
|
355
360
|
inputFileListPaths = (
|
|
356
|
-
"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
|
357
361
|
);
|
|
358
|
-
|
|
362
|
+
inputPaths = (
|
|
363
|
+
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
|
364
|
+
"${PODS_ROOT}/Manifest.lock",
|
|
365
|
+
);
|
|
366
|
+
name = "[CP] Check Pods Manifest.lock";
|
|
359
367
|
outputFileListPaths = (
|
|
360
|
-
|
|
368
|
+
);
|
|
369
|
+
outputPaths = (
|
|
370
|
+
"$(DERIVED_FILE_DIR)/Pods-reactnativemagic-checkManifestLockResult.txt",
|
|
361
371
|
);
|
|
362
372
|
runOnlyForDeploymentPostprocessing = 0;
|
|
363
373
|
shellPath = /bin/sh;
|
|
364
|
-
shellScript = "\"${PODS_ROOT}/
|
|
374
|
+
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
|
365
375
|
showEnvVarsInLog = 0;
|
|
366
376
|
};
|
|
367
|
-
|
|
377
|
+
A980D2E5A3C346157E5020A9 /* [CP] Embed Pods Frameworks */ = {
|
|
368
378
|
isa = PBXShellScriptBuildPhase;
|
|
369
379
|
buildActionMask = 2147483647;
|
|
370
380
|
files = (
|
|
371
381
|
);
|
|
372
382
|
inputFileListPaths = (
|
|
373
|
-
"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic-
|
|
383
|
+
"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
|
374
384
|
);
|
|
375
|
-
name = "[CP]
|
|
385
|
+
name = "[CP] Embed Pods Frameworks";
|
|
376
386
|
outputFileListPaths = (
|
|
377
|
-
"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic-
|
|
387
|
+
"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
|
378
388
|
);
|
|
379
389
|
runOnlyForDeploymentPostprocessing = 0;
|
|
380
390
|
shellPath = /bin/sh;
|
|
381
|
-
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic-
|
|
391
|
+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests-frameworks.sh\"\n";
|
|
382
392
|
showEnvVarsInLog = 0;
|
|
383
393
|
};
|
|
384
|
-
|
|
394
|
+
C130977123E4EDA0DC4DCAC1 /* [CP] Copy Pods Resources */ = {
|
|
385
395
|
isa = PBXShellScriptBuildPhase;
|
|
386
396
|
buildActionMask = 2147483647;
|
|
387
397
|
files = (
|
|
388
398
|
);
|
|
389
399
|
inputFileListPaths = (
|
|
400
|
+
"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests-resources-${CONFIGURATION}-input-files.xcfilelist",
|
|
390
401
|
);
|
|
391
|
-
|
|
392
|
-
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
|
393
|
-
"${PODS_ROOT}/Manifest.lock",
|
|
394
|
-
);
|
|
395
|
-
name = "[CP] Check Pods Manifest.lock";
|
|
402
|
+
name = "[CP] Copy Pods Resources";
|
|
396
403
|
outputFileListPaths = (
|
|
397
|
-
|
|
398
|
-
outputPaths = (
|
|
399
|
-
"$(DERIVED_FILE_DIR)/Pods-reactnativemagic-checkManifestLockResult.txt",
|
|
404
|
+
"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests-resources-${CONFIGURATION}-output-files.xcfilelist",
|
|
400
405
|
);
|
|
401
406
|
runOnlyForDeploymentPostprocessing = 0;
|
|
402
407
|
shellPath = /bin/sh;
|
|
403
|
-
shellScript = "
|
|
408
|
+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests-resources.sh\"\n";
|
|
404
409
|
showEnvVarsInLog = 0;
|
|
405
410
|
};
|
|
406
|
-
|
|
411
|
+
C3B4B1699B3C5FC05FEDA60D /* [CP] Copy Pods Resources */ = {
|
|
407
412
|
isa = PBXShellScriptBuildPhase;
|
|
408
413
|
buildActionMask = 2147483647;
|
|
409
414
|
files = (
|
|
410
415
|
);
|
|
411
416
|
inputFileListPaths = (
|
|
412
|
-
"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic-
|
|
417
|
+
"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic-resources-${CONFIGURATION}-input-files.xcfilelist",
|
|
413
418
|
);
|
|
414
|
-
name = "[CP]
|
|
419
|
+
name = "[CP] Copy Pods Resources";
|
|
415
420
|
outputFileListPaths = (
|
|
416
|
-
"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic-
|
|
421
|
+
"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic-resources-${CONFIGURATION}-output-files.xcfilelist",
|
|
417
422
|
);
|
|
418
423
|
runOnlyForDeploymentPostprocessing = 0;
|
|
419
424
|
shellPath = /bin/sh;
|
|
420
|
-
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic-
|
|
425
|
+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic-resources.sh\"\n";
|
|
421
426
|
showEnvVarsInLog = 0;
|
|
422
427
|
};
|
|
423
|
-
|
|
428
|
+
C9BDCEA7C1A8090D8F420D7A /* [CP] Embed Pods Frameworks */ = {
|
|
424
429
|
isa = PBXShellScriptBuildPhase;
|
|
425
430
|
buildActionMask = 2147483647;
|
|
426
431
|
files = (
|
|
427
432
|
);
|
|
428
433
|
inputFileListPaths = (
|
|
434
|
+
"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
|
429
435
|
);
|
|
430
|
-
|
|
431
|
-
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
|
432
|
-
"${PODS_ROOT}/Manifest.lock",
|
|
433
|
-
);
|
|
434
|
-
name = "[CP] Check Pods Manifest.lock";
|
|
436
|
+
name = "[CP] Embed Pods Frameworks";
|
|
435
437
|
outputFileListPaths = (
|
|
436
|
-
|
|
437
|
-
outputPaths = (
|
|
438
|
-
"$(DERIVED_FILE_DIR)/Pods-reactnativemagic-reactnativemagicTests-checkManifestLockResult.txt",
|
|
438
|
+
"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
|
439
439
|
);
|
|
440
440
|
runOnlyForDeploymentPostprocessing = 0;
|
|
441
441
|
shellPath = /bin/sh;
|
|
442
|
-
shellScript = "
|
|
442
|
+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic-frameworks.sh\"\n";
|
|
443
443
|
showEnvVarsInLog = 0;
|
|
444
444
|
};
|
|
445
445
|
/* End PBXShellScriptBuildPhase section */
|
|
@@ -484,7 +484,7 @@
|
|
|
484
484
|
/* Begin XCBuildConfiguration section */
|
|
485
485
|
00E356F61AD99517003FC87E /* Debug */ = {
|
|
486
486
|
isa = XCBuildConfiguration;
|
|
487
|
-
baseConfigurationReference =
|
|
487
|
+
baseConfigurationReference = 465754F1499D1884290F3C3F /* Pods-reactnativemagic-reactnativemagicTests.debug.xcconfig */;
|
|
488
488
|
buildSettings = {
|
|
489
489
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
490
490
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
@@ -511,7 +511,7 @@
|
|
|
511
511
|
};
|
|
512
512
|
00E356F71AD99517003FC87E /* Release */ = {
|
|
513
513
|
isa = XCBuildConfiguration;
|
|
514
|
-
baseConfigurationReference =
|
|
514
|
+
baseConfigurationReference = A76280FB51D3CE1B55E47DD9 /* Pods-reactnativemagic-reactnativemagicTests.release.xcconfig */;
|
|
515
515
|
buildSettings = {
|
|
516
516
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
517
517
|
COPY_PHASE_STRIP = NO;
|
|
@@ -535,7 +535,7 @@
|
|
|
535
535
|
};
|
|
536
536
|
13B07F941A680F5B00A75B9A /* Debug */ = {
|
|
537
537
|
isa = XCBuildConfiguration;
|
|
538
|
-
baseConfigurationReference =
|
|
538
|
+
baseConfigurationReference = 704B3B865C81C25269E97AE9 /* Pods-reactnativemagic.debug.xcconfig */;
|
|
539
539
|
buildSettings = {
|
|
540
540
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
541
541
|
CLANG_ENABLE_MODULES = YES;
|
|
@@ -566,7 +566,7 @@
|
|
|
566
566
|
};
|
|
567
567
|
13B07F951A680F5B00A75B9A /* Release */ = {
|
|
568
568
|
isa = XCBuildConfiguration;
|
|
569
|
-
baseConfigurationReference =
|
|
569
|
+
baseConfigurationReference = 8E6E7224800FB3999B451268 /* Pods-reactnativemagic.release.xcconfig */;
|
|
570
570
|
buildSettings = {
|
|
571
571
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
572
572
|
CLANG_ENABLE_MODULES = YES;
|
package/template/metro.config.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
|
|
2
|
+
const {
|
|
3
|
+
wrapWithReanimatedMetroConfig,
|
|
4
|
+
} = require('react-native-reanimated/metro-config');
|
|
2
5
|
|
|
3
6
|
/**
|
|
4
7
|
* Metro configuration
|
|
@@ -8,4 +11,6 @@ const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
|
|
|
8
11
|
*/
|
|
9
12
|
const config = {};
|
|
10
13
|
|
|
11
|
-
module.exports =
|
|
14
|
+
module.exports = wrapWithReanimatedMetroConfig(
|
|
15
|
+
mergeConfig(getDefaultConfig(__dirname), config),
|
|
16
|
+
);
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"@react-native-community/slider": "^4.5.5",
|
|
17
17
|
"@react-navigation/bottom-tabs": "^7.2.0",
|
|
18
18
|
"@react-navigation/drawer": "^7.1.1",
|
|
19
|
+
"@react-navigation/elements": "^2.2.5",
|
|
19
20
|
"@react-navigation/material-top-tabs": "^7.1.0",
|
|
20
21
|
"@react-navigation/native": "^7.0.14",
|
|
21
22
|
"@react-navigation/native-stack": "^7.2.0",
|
|
@@ -7873,9 +7874,9 @@
|
|
|
7873
7874
|
}
|
|
7874
7875
|
},
|
|
7875
7876
|
"node_modules/fastq": {
|
|
7876
|
-
"version": "1.
|
|
7877
|
-
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.
|
|
7878
|
-
"integrity": "sha512-
|
|
7877
|
+
"version": "1.18.0",
|
|
7878
|
+
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz",
|
|
7879
|
+
"integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==",
|
|
7879
7880
|
"dev": true,
|
|
7880
7881
|
"license": "ISC",
|
|
7881
7882
|
"dependencies": {
|
package/template/package.json
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
"private": true,
|
|
5
5
|
"scripts": {
|
|
6
6
|
"android": "react-native run-android",
|
|
7
|
-
"android:staging": "react-native run-android --variant=
|
|
8
|
-
"android:staging-release": "react-native run-android --variant=
|
|
9
|
-
"android:dev": "react-native run-android --variant=
|
|
10
|
-
"android:dev-release": "react-native run-android --variant=
|
|
11
|
-
"android:prod": "react-native run-android --variant=
|
|
12
|
-
"android:prod-release": "react-native run-android --variant=
|
|
7
|
+
"android:staging": "react-native run-android --variant=stagingDebug",
|
|
8
|
+
"android:staging-release": "react-native run-android --variant=stagingRelease",
|
|
9
|
+
"android:dev": "ENVFILE=.env.development react-native run-android --variant=developmentDebug",
|
|
10
|
+
"android:dev-release": "ENVFILE=.env.development react-native run-android --variant=developmentRelease",
|
|
11
|
+
"android:prod": "ENVFILE=.env.production react-native run-android --variant=productionDebug",
|
|
12
|
+
"android:prod-release": "ENVFILE=.env.production react-native run-android --variant=productionRelease",
|
|
13
13
|
"ios": "react-native run-ios",
|
|
14
14
|
"lint": "eslint .",
|
|
15
15
|
"start": "react-native start",
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"@react-native-community/slider": "^4.5.5",
|
|
28
28
|
"@react-navigation/bottom-tabs": "^7.2.0",
|
|
29
29
|
"@react-navigation/drawer": "^7.1.1",
|
|
30
|
+
"@react-navigation/elements": "^2.2.5",
|
|
30
31
|
"@react-navigation/material-top-tabs": "^7.1.0",
|
|
31
32
|
"@react-navigation/native": "^7.0.14",
|
|
32
33
|
"@react-navigation/native-stack": "^7.2.0",
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import {ImageBackground, StyleSheet, ViewStyle} from 'react-native';
|
|
3
3
|
import {CommonStyles} from '../../core/theme/commonStyles';
|
|
4
|
-
import {ImageResources} from '../ImageResources.g';
|
|
5
4
|
|
|
6
5
|
interface BackgroundType {
|
|
7
6
|
children: React.ReactNode;
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import React, {FC, memo, useCallback} from 'react';
|
|
2
|
+
import {ImageStyle, ImageURISource, ViewStyle} from 'react-native';
|
|
2
3
|
import ImagePicker, {
|
|
3
4
|
Image as CropperImage,
|
|
4
5
|
Options,
|
|
5
6
|
} from 'react-native-image-crop-picker';
|
|
6
|
-
import {ImageStyle, ImageURISource, ViewStyle} from 'react-native';
|
|
7
|
-
import {ImageResources} from '../ImageResources.g';
|
|
8
|
-
import {PhotoTakingButton} from './PhotoTakingButton';
|
|
9
|
-
import {localization} from '../localization/localization';
|
|
10
7
|
import {showActionSheet} from '../helpers/dialogsHelpers';
|
|
8
|
+
import {localization} from '../localization/localization';
|
|
9
|
+
import {PhotoTakingButton} from './PhotoTakingButton';
|
|
11
10
|
|
|
12
11
|
interface IProps {
|
|
13
12
|
onImagePicked: (image: CropperImage) => void;
|
|
@@ -27,7 +26,7 @@ export const ImageCropPickerButton: FC<IProps> = memo(
|
|
|
27
26
|
onImagePicked,
|
|
28
27
|
onRemoveImage,
|
|
29
28
|
image,
|
|
30
|
-
icon
|
|
29
|
+
icon,
|
|
31
30
|
style,
|
|
32
31
|
iconStyle,
|
|
33
32
|
imageStyle,
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import {Image, View} from 'react-native';
|
|
3
3
|
import {CommonStyles} from '../../core/theme/commonStyles';
|
|
4
|
-
import {ImageResources} from '../ImageResources.g';
|
|
5
4
|
|
|
6
5
|
export const LoadingComponent = () => {
|
|
7
6
|
return (
|
|
8
7
|
<View style={CommonStyles.flexCenter}>
|
|
9
|
-
<Image
|
|
10
|
-
resizeMode='cover'
|
|
11
|
-
style={{flex: 1}}
|
|
12
|
-
source={ImageResources.splash}
|
|
13
|
-
/>
|
|
8
|
+
<Image resizeMode="cover" style={{flex: 1}} source={0} />
|
|
14
9
|
</View>
|
|
15
10
|
);
|
|
16
11
|
};
|
|
@@ -6,9 +6,25 @@ export const loginLocalization = {
|
|
|
6
6
|
EnterEmail: 'Enter email',
|
|
7
7
|
Password: 'Password',
|
|
8
8
|
EnterPassword: 'Enter password',
|
|
9
|
-
forgetPassword: '
|
|
9
|
+
forgetPassword: 'Forgot Password?',
|
|
10
10
|
continue: 'continue',
|
|
11
|
-
notMember: '
|
|
11
|
+
notMember: 'Not a member? Register now',
|
|
12
12
|
findNursery: 'Find nursery',
|
|
13
|
+
registration: {
|
|
14
|
+
title: 'Create Account',
|
|
15
|
+
fullName: 'Full Name',
|
|
16
|
+
email: 'Email',
|
|
17
|
+
password: 'Password',
|
|
18
|
+
confirmPassword: 'Confirm Password',
|
|
19
|
+
register: 'Register',
|
|
20
|
+
alreadyHaveAccount: 'Already have an account? Login',
|
|
21
|
+
},
|
|
22
|
+
forgotPassword: {
|
|
23
|
+
title: 'Forgot Password',
|
|
24
|
+
description:
|
|
25
|
+
"Enter your email address and we'll send you instructions to reset your password.",
|
|
26
|
+
resetPassword: 'Reset Password',
|
|
27
|
+
backToLogin: 'Back to Login',
|
|
28
|
+
},
|
|
13
29
|
},
|
|
14
30
|
};
|
|
@@ -19,9 +19,53 @@ export const userLogin = createAsyncThunk(
|
|
|
19
19
|
data,
|
|
20
20
|
});
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
return handleFetchJsonResponse(response);
|
|
23
|
+
} catch (e: any) {
|
|
24
|
+
return rejectWithValue(e?.response);
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
export const userRegister = createAsyncThunk(
|
|
30
|
+
'user/register',
|
|
31
|
+
async (
|
|
32
|
+
{
|
|
33
|
+
fullName,
|
|
34
|
+
email,
|
|
35
|
+
password,
|
|
36
|
+
}: {
|
|
37
|
+
fullName: string;
|
|
38
|
+
email: string;
|
|
39
|
+
password: string;
|
|
40
|
+
},
|
|
41
|
+
{rejectWithValue},
|
|
42
|
+
) => {
|
|
43
|
+
try {
|
|
44
|
+
const response = await post({
|
|
45
|
+
url: '/register',
|
|
46
|
+
data: {
|
|
47
|
+
fullName,
|
|
48
|
+
email,
|
|
49
|
+
password,
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
return handleFetchJsonResponse(response);
|
|
54
|
+
} catch (e: any) {
|
|
55
|
+
return rejectWithValue(e?.response);
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
export const resetPassword = createAsyncThunk(
|
|
61
|
+
'user/resetPassword',
|
|
62
|
+
async ({email}: {email: string}, {rejectWithValue}) => {
|
|
63
|
+
try {
|
|
64
|
+
const response = await post({
|
|
65
|
+
url: '/reset-password',
|
|
66
|
+
data: {email},
|
|
67
|
+
});
|
|
68
|
+
|
|
25
69
|
return handleFetchJsonResponse(response);
|
|
26
70
|
} catch (e: any) {
|
|
27
71
|
return rejectWithValue(e?.response);
|