@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.
Files changed (37) hide show
  1. package/.vscode/settings.json +7 -0
  2. package/CHANGELOG.md +23 -0
  3. package/README.md +2 -4
  4. package/local.properties +1 -0
  5. package/package.json +1 -3
  6. package/template/.env.development +3 -0
  7. package/template/.env.production +4 -1
  8. package/template/.env.staging +4 -1
  9. package/template/App.tsx +0 -5
  10. package/template/android/app/build.gradle +71 -6
  11. package/template/android/app/src/main/AndroidManifest.xml +2 -0
  12. package/template/android/gradle.properties +0 -1
  13. package/template/babel.config.js +1 -0
  14. package/template/index.js +1 -1
  15. package/template/ios/Podfile +37 -6
  16. package/template/ios/Podfile.lock +2 -2
  17. package/template/ios/reactnativemagic/Info.plist +4 -0
  18. package/template/ios/reactnativemagic.xcodeproj/project.pbxproj +74 -74
  19. package/template/ios/tmp.xcconfig +2 -0
  20. package/template/metro.config.js +6 -1
  21. package/template/package-lock.json +4 -3
  22. package/template/package.json +7 -6
  23. package/template/src/common/components/Background.tsx +0 -1
  24. package/template/src/common/components/ImageCropPickerButton.tsx +4 -5
  25. package/template/src/common/components/LoadingComponent.tsx +1 -6
  26. package/template/src/common/localization/translations/loginLocalization.ts +18 -2
  27. package/template/src/core/store/user/userActions.ts +47 -3
  28. package/template/src/core/store/user/userSlice.ts +59 -2
  29. package/template/src/core/theme/fonts.ts +1 -7
  30. package/template/src/navigation/AuthStack.tsx +16 -0
  31. package/template/src/navigation/HeaderComponents.tsx +3 -5
  32. package/template/src/navigation/MainStack.tsx +0 -1
  33. package/template/src/navigation/types.ts +7 -1
  34. package/template/src/screens/Login/Login.tsx +54 -3
  35. package/template/src/screens/registration/RegistrationScreen.tsx +198 -0
  36. package/template/src/screens/resetPassword/ForgotPasswordScreen.tsx +129 -0
  37. 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
- F5460503102D1B15F9526BEA /* libPods-reactnativemagic-reactnativemagicTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E0F08C4FA8BBC7D24AE0AD6 /* libPods-reactnativemagic-reactnativemagicTests.a */; };
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
- 2FC2A41A7C9CECF77A6F86E9 /* 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>"; };
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
- 56A7F0350C455B9C5A7234F8 /* 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>"; };
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
- F4E5443D5B5729DC581A3C5D /* 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>"; };
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
- F5460503102D1B15F9526BEA /* libPods-reactnativemagic-reactnativemagicTests.a in Frameworks */,
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
- 44CEDDADA0FFEFA1C02AD162 /* libPods-reactnativemagic.a in Frameworks */,
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
- 72FCDE6D8263C5D62A717153 /* libPods-reactnativemagic.a */,
121
- 7E0F08C4FA8BBC7D24AE0AD6 /* libPods-reactnativemagic-reactnativemagicTests.a */,
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
- F4E5443D5B5729DC581A3C5D /* Pods-reactnativemagic.debug.xcconfig */,
163
- 2FC2A41A7C9CECF77A6F86E9 /* Pods-reactnativemagic.release.xcconfig */,
164
- 56A7F0350C455B9C5A7234F8 /* Pods-reactnativemagic-reactnativemagicTests.debug.xcconfig */,
165
- 123D2B186506039FFA026D6C /* Pods-reactnativemagic-reactnativemagicTests.release.xcconfig */,
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
- EED047F6BD1AA157DA019A41 /* [CP] Check Pods Manifest.lock */,
177
+ 9280AC1AD30334278122A6BE /* [CP] Check Pods Manifest.lock */,
178
178
  00E356EA1AD99517003FC87E /* Sources */,
179
179
  00E356EB1AD99517003FC87E /* Frameworks */,
180
180
  00E356EC1AD99517003FC87E /* Resources */,
181
- 6885AAAF4A337A2C83681DB7 /* [CP] Embed Pods Frameworks */,
182
- 2EF2E59BD6FE2C5EBC2BB493 /* [CP] Copy Pods Resources */,
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
- C72E6C65FAFBA98366933A78 /* [CP] Check Pods Manifest.lock */,
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
- EAE36A1A92A8C5319B9244BA /* [CP] Embed Pods Frameworks */,
204
- B397E35E78379B2686A7DC44 /* [CP] Copy Pods Resources */,
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
- 2EF2E59BD6FE2C5EBC2BB493 /* [CP] Copy Pods Resources */ = {
317
+ 52BF1DB12D160E8100046137 /* Bundle React Native code and images */ = {
318
318
  isa = PBXShellScriptBuildPhase;
319
319
  buildActionMask = 2147483647;
320
320
  files = (
321
321
  );
322
- inputFileListPaths = (
323
- "${PODS_ROOT}/Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests-resources-${CONFIGURATION}-input-files.xcfilelist",
322
+ inputPaths = (
323
+ "$(SRCROOT)/.xcode.env.local",
324
+ "$(SRCROOT)/.xcode.env",
324
325
  );
325
- name = "[CP] Copy Pods Resources";
326
- outputFileListPaths = (
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 = "\"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests-resources.sh\"\n";
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
- 52BF1DB12D160E8100046137 /* Bundle React Native code and images */ = {
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
- "$(SRCROOT)/.xcode.env.local",
341
- "$(SRCROOT)/.xcode.env",
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 = "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";
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
- 6885AAAF4A337A2C83681DB7 /* [CP] Embed Pods Frameworks */ = {
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
- name = "[CP] Embed Pods Frameworks";
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
- "${PODS_ROOT}/Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests-frameworks-${CONFIGURATION}-output-files.xcfilelist",
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}/Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests-frameworks.sh\"\n";
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
- B397E35E78379B2686A7DC44 /* [CP] Copy Pods Resources */ = {
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-resources-${CONFIGURATION}-input-files.xcfilelist",
383
+ "${PODS_ROOT}/Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests-frameworks-${CONFIGURATION}-input-files.xcfilelist",
374
384
  );
375
- name = "[CP] Copy Pods Resources";
385
+ name = "[CP] Embed Pods Frameworks";
376
386
  outputFileListPaths = (
377
- "${PODS_ROOT}/Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic-resources-${CONFIGURATION}-output-files.xcfilelist",
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-resources.sh\"\n";
391
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests-frameworks.sh\"\n";
382
392
  showEnvVarsInLog = 0;
383
393
  };
384
- C72E6C65FAFBA98366933A78 /* [CP] Check Pods Manifest.lock */ = {
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
- inputPaths = (
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 = "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";
408
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic-reactnativemagicTests/Pods-reactnativemagic-reactnativemagicTests-resources.sh\"\n";
404
409
  showEnvVarsInLog = 0;
405
410
  };
406
- EAE36A1A92A8C5319B9244BA /* [CP] Embed Pods Frameworks */ = {
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-frameworks-${CONFIGURATION}-input-files.xcfilelist",
417
+ "${PODS_ROOT}/Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic-resources-${CONFIGURATION}-input-files.xcfilelist",
413
418
  );
414
- name = "[CP] Embed Pods Frameworks";
419
+ name = "[CP] Copy Pods Resources";
415
420
  outputFileListPaths = (
416
- "${PODS_ROOT}/Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic-frameworks-${CONFIGURATION}-output-files.xcfilelist",
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-frameworks.sh\"\n";
425
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-reactnativemagic/Pods-reactnativemagic-resources.sh\"\n";
421
426
  showEnvVarsInLog = 0;
422
427
  };
423
- EED047F6BD1AA157DA019A41 /* [CP] Check Pods Manifest.lock */ = {
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
- inputPaths = (
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 = "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";
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 = 56A7F0350C455B9C5A7234F8 /* Pods-reactnativemagic-reactnativemagicTests.debug.xcconfig */;
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 = 123D2B186506039FFA026D6C /* Pods-reactnativemagic-reactnativemagicTests.release.xcconfig */;
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 = F4E5443D5B5729DC581A3C5D /* Pods-reactnativemagic.debug.xcconfig */;
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 = 2FC2A41A7C9CECF77A6F86E9 /* Pods-reactnativemagic.release.xcconfig */;
569
+ baseConfigurationReference = 8E6E7224800FB3999B451268 /* Pods-reactnativemagic.release.xcconfig */;
570
570
  buildSettings = {
571
571
  ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
572
572
  CLANG_ENABLE_MODULES = YES;
@@ -1,5 +1,7 @@
1
+ ENV=development
1
2
  API_BASE_URL=https:/$()/dev-api.example.com
2
3
  API_KEY=dev_key
3
4
  ANDROID_APP_ID=com.reactnativemagic.development
4
5
  ANDROID_VERSION_CODE=1
5
6
  ANDROID_VERSION_NAME=1.0.0
7
+ PROJECT_NAME=YOURAPPNAME
@@ -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 = mergeConfig(getDefaultConfig(__dirname), config);
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.17.1",
7877
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
7878
- "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
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": {
@@ -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=stagingdebug",
8
- "android:staging-release": "react-native run-android --variant=stagingrelease",
9
- "android:dev": "react-native run-android --variant=developmentdebug",
10
- "android:dev-release": "react-native run-android --variant=developmentrelease",
11
- "android:prod": "react-native run-android --variant=productiondebug",
12
- "android:prod-release": "react-native run-android --variant=productionrelease",
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 = ImageResources.camera,
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: 'Forget Password',
9
+ forgetPassword: 'Forgot Password?',
10
10
  continue: 'continue',
11
- notMember: 'not a member yet?',
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
- if (response.data?.user?.roleName !== 'Parent') {
23
- return rejectWithValue('Not Authorized');
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);