xiongzhu 3 tahun lalu
induk
melakukan
794486de6b
93 mengubah file dengan 898 tambahan dan 105 penghapusan
  1. 1 0
      android/app/capacitor.build.gradle
  2. 4 1
      android/capacitor.settings.gradle
  3. 1 1
      capacitor.config.json
  4. 13 0
      ios/.gitignore
  5. 406 0
      ios/App/App.xcodeproj/project.pbxproj
  6. 7 0
      ios/App/App.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  7. 10 0
      ios/App/App.xcworkspace/contents.xcworkspacedata
  8. 8 0
      ios/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  9. 49 0
      ios/App/App/AppDelegate.swift
  10. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@1x.png
  11. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x-1.png
  12. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x.png
  13. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@3x.png
  14. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@1x.png
  15. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x-1.png
  16. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x.png
  17. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@3x.png
  18. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@1x.png
  19. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x-1.png
  20. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x.png
  21. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@3x.png
  22. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png
  23. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@2x.png
  24. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@3x.png
  25. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@1x.png
  26. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@2x.png
  27. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-83.5x83.5@2x.png
  28. 116 0
      ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json
  29. 6 0
      ios/App/App/Assets.xcassets/Contents.json
  30. 23 0
      ios/App/App/Assets.xcassets/Splash.imageset/Contents.json
  31. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png
  32. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png
  33. TEMPAT SAMPAH
      ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png
  34. 32 0
      ios/App/App/Base.lproj/LaunchScreen.storyboard
  35. 19 0
      ios/App/App/Base.lproj/Main.storyboard
  36. 49 0
      ios/App/App/Info.plist
  37. 40 0
      ios/App/Podfile
  38. 2 1
      package.json
  39. TEMPAT SAMPAH
      resources/ios/icon.png
  40. TEMPAT SAMPAH
      resources/ios/icon/icon-1024.png
  41. TEMPAT SAMPAH
      resources/ios/icon/icon-108@2x.png
  42. TEMPAT SAMPAH
      resources/ios/icon/icon-20.png
  43. TEMPAT SAMPAH
      resources/ios/icon/icon-20@2x.png
  44. TEMPAT SAMPAH
      resources/ios/icon/icon-20@3x.png
  45. TEMPAT SAMPAH
      resources/ios/icon/icon-24@2x.png
  46. TEMPAT SAMPAH
      resources/ios/icon/icon-27.5@2x.png
  47. TEMPAT SAMPAH
      resources/ios/icon/icon-29.png
  48. TEMPAT SAMPAH
      resources/ios/icon/icon-29@2x.png
  49. TEMPAT SAMPAH
      resources/ios/icon/icon-29@3x.png
  50. TEMPAT SAMPAH
      resources/ios/icon/icon-40.png
  51. TEMPAT SAMPAH
      resources/ios/icon/icon-40@2x.png
  52. TEMPAT SAMPAH
      resources/ios/icon/icon-40@3x.png
  53. TEMPAT SAMPAH
      resources/ios/icon/icon-44@2x.png
  54. TEMPAT SAMPAH
      resources/ios/icon/icon-50.png
  55. TEMPAT SAMPAH
      resources/ios/icon/icon-50@2x.png
  56. TEMPAT SAMPAH
      resources/ios/icon/icon-60.png
  57. TEMPAT SAMPAH
      resources/ios/icon/icon-60@2x.png
  58. TEMPAT SAMPAH
      resources/ios/icon/icon-60@3x.png
  59. TEMPAT SAMPAH
      resources/ios/icon/icon-72.png
  60. TEMPAT SAMPAH
      resources/ios/icon/icon-72@2x.png
  61. TEMPAT SAMPAH
      resources/ios/icon/icon-76.png
  62. TEMPAT SAMPAH
      resources/ios/icon/icon-76@2x.png
  63. TEMPAT SAMPAH
      resources/ios/icon/icon-83.5@2x.png
  64. TEMPAT SAMPAH
      resources/ios/icon/icon-86@2x.png
  65. TEMPAT SAMPAH
      resources/ios/icon/icon-98@2x.png
  66. TEMPAT SAMPAH
      resources/ios/icon/icon.png
  67. TEMPAT SAMPAH
      resources/ios/icon/icon@2x.png
  68. TEMPAT SAMPAH
      resources/ios/splash.png
  69. TEMPAT SAMPAH
      resources/ios/splash/Default-1792h~iphone.png
  70. TEMPAT SAMPAH
      resources/ios/splash/Default-2436h.png
  71. TEMPAT SAMPAH
      resources/ios/splash/Default-2688h~iphone.png
  72. TEMPAT SAMPAH
      resources/ios/splash/Default-568h@2x~iphone.png
  73. TEMPAT SAMPAH
      resources/ios/splash/Default-667h.png
  74. TEMPAT SAMPAH
      resources/ios/splash/Default-736h.png
  75. TEMPAT SAMPAH
      resources/ios/splash/Default-Landscape-1792h~iphone.png
  76. TEMPAT SAMPAH
      resources/ios/splash/Default-Landscape-2436h.png
  77. TEMPAT SAMPAH
      resources/ios/splash/Default-Landscape-2688h~iphone.png
  78. TEMPAT SAMPAH
      resources/ios/splash/Default-Landscape-736h.png
  79. TEMPAT SAMPAH
      resources/ios/splash/Default-Landscape@2x~ipad.png
  80. TEMPAT SAMPAH
      resources/ios/splash/Default-Landscape@~ipadpro.png
  81. TEMPAT SAMPAH
      resources/ios/splash/Default-Landscape~ipad.png
  82. TEMPAT SAMPAH
      resources/ios/splash/Default-Portrait@2x~ipad.png
  83. TEMPAT SAMPAH
      resources/ios/splash/Default-Portrait@~ipadpro.png
  84. TEMPAT SAMPAH
      resources/ios/splash/Default-Portrait~ipad.png
  85. TEMPAT SAMPAH
      resources/ios/splash/Default@2x~iphone.png
  86. TEMPAT SAMPAH
      resources/ios/splash/Default@2x~universal~anyany.png
  87. TEMPAT SAMPAH
      resources/ios/splash/Default~iphone.png
  88. 64 63
      src/assets/bankCode.json
  89. 2 2
      src/locales/en.json
  90. 2 2
      src/locales/zh.json
  91. 32 28
      src/main.js
  92. 4 4
      src/views/EditBankPage.vue
  93. 8 3
      yarn.lock

+ 1 - 0
android/app/capacitor.build.gradle

@@ -24,6 +24,7 @@ dependencies {
     implementation project(':capacitor-share')
     implementation project(':capacitor-splash-screen')
     implementation project(':capacitor-status-bar')
+    implementation project(':appsflyer-capacitor-plugin')
     implementation project(':capacitor-openinstall')
 
 }

+ 4 - 1
android/capacitor.settings.gradle

@@ -47,5 +47,8 @@ project(':capacitor-splash-screen').projectDir = new File('../node_modules/@capa
 include ':capacitor-status-bar'
 project(':capacitor-status-bar').projectDir = new File('../node_modules/@capacitor/status-bar/android')
 
+include ':appsflyer-capacitor-plugin'
+project(':appsflyer-capacitor-plugin').projectDir = new File('../node_modules/appsflyer-capacitor-plugin/android')
+
 include ':capacitor-openinstall'
-project(':capacitor-openinstall').projectDir = new File('../node_modules/capacitor-openinstall/android')
+project(':capacitor-openinstall').projectDir = new File('../../../capacitor/capacitor-openinstall/android')

+ 1 - 1
capacitor.config.json

@@ -4,7 +4,7 @@
     "webDir": "dist",
     "bundledWebRuntime": false,
     "server": {
-        "url": "http://192.168.6.215:5174/",
+        "url": "http://192.168.6.215:5173/",
         "clearText": true
     },
     "android": {

+ 13 - 0
ios/.gitignore

@@ -0,0 +1,13 @@
+App/build
+App/Pods
+App/Podfile.lock
+App/App/public
+DerivedData
+xcuserdata
+
+# Cordova plugins for Capacitor
+capacitor-cordova-ios-plugins
+
+# Generated Config files
+App/App/capacitor.config.json
+App/App/config.xml

+ 406 - 0
ios/App/App.xcodeproj/project.pbxproj

@@ -0,0 +1,406 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 48;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		2FAD9763203C412B000D30F8 /* config.xml in Resources */ = {isa = PBXBuildFile; fileRef = 2FAD9762203C412B000D30F8 /* config.xml */; };
+		50379B232058CBB4000EE86E /* capacitor.config.json in Resources */ = {isa = PBXBuildFile; fileRef = 50379B222058CBB4000EE86E /* capacitor.config.json */; };
+		504EC3081FED79650016851F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504EC3071FED79650016851F /* AppDelegate.swift */; };
+		504EC30D1FED79650016851F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30B1FED79650016851F /* Main.storyboard */; };
+		504EC30F1FED79650016851F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30E1FED79650016851F /* Assets.xcassets */; };
+		504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC3101FED79650016851F /* LaunchScreen.storyboard */; };
+		50B271D11FEDC1A000F3C39B /* public in Resources */ = {isa = PBXBuildFile; fileRef = 50B271D01FEDC1A000F3C39B /* public */; };
+		A084ECDBA7D38E1E42DFC39D /* Pods_App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+		2FAD9762203C412B000D30F8 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = config.xml; sourceTree = "<group>"; };
+		50379B222058CBB4000EE86E /* capacitor.config.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = capacitor.config.json; sourceTree = "<group>"; };
+		504EC3041FED79650016851F /* App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = App.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		504EC3071FED79650016851F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
+		504EC30C1FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
+		504EC30E1FED79650016851F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
+		504EC3111FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
+		504EC3131FED79650016851F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+		50B271D01FEDC1A000F3C39B /* public */ = {isa = PBXFileReference; lastKnownFileType = folder; path = public; sourceTree = "<group>"; };
+		AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_App.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+		AF51FD2D460BCFE21FA515B2 /* Pods-App.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-App.release.xcconfig"; path = "Pods/Target Support Files/Pods-App/Pods-App.release.xcconfig"; sourceTree = "<group>"; };
+		FC68EB0AF532CFC21C3344DD /* Pods-App.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-App.debug.xcconfig"; path = "Pods/Target Support Files/Pods-App/Pods-App.debug.xcconfig"; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		504EC3011FED79650016851F /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				A084ECDBA7D38E1E42DFC39D /* Pods_App.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		27E2DDA53C4D2A4D1A88CE4A /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		504EC2FB1FED79650016851F = {
+			isa = PBXGroup;
+			children = (
+				504EC3061FED79650016851F /* App */,
+				504EC3051FED79650016851F /* Products */,
+				7F8756D8B27F46E3366F6CEA /* Pods */,
+				27E2DDA53C4D2A4D1A88CE4A /* Frameworks */,
+			);
+			sourceTree = "<group>";
+		};
+		504EC3051FED79650016851F /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				504EC3041FED79650016851F /* App.app */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		504EC3061FED79650016851F /* App */ = {
+			isa = PBXGroup;
+			children = (
+				50379B222058CBB4000EE86E /* capacitor.config.json */,
+				504EC3071FED79650016851F /* AppDelegate.swift */,
+				504EC30B1FED79650016851F /* Main.storyboard */,
+				504EC30E1FED79650016851F /* Assets.xcassets */,
+				504EC3101FED79650016851F /* LaunchScreen.storyboard */,
+				504EC3131FED79650016851F /* Info.plist */,
+				2FAD9762203C412B000D30F8 /* config.xml */,
+				50B271D01FEDC1A000F3C39B /* public */,
+			);
+			path = App;
+			sourceTree = "<group>";
+		};
+		7F8756D8B27F46E3366F6CEA /* Pods */ = {
+			isa = PBXGroup;
+			children = (
+				FC68EB0AF532CFC21C3344DD /* Pods-App.debug.xcconfig */,
+				AF51FD2D460BCFE21FA515B2 /* Pods-App.release.xcconfig */,
+			);
+			name = Pods;
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		504EC3031FED79650016851F /* App */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 504EC3161FED79650016851F /* Build configuration list for PBXNativeTarget "App" */;
+			buildPhases = (
+				6634F4EFEBD30273BCE97C65 /* [CP] Check Pods Manifest.lock */,
+				504EC3001FED79650016851F /* Sources */,
+				504EC3011FED79650016851F /* Frameworks */,
+				504EC3021FED79650016851F /* Resources */,
+				9592DBEFFC6D2A0C8D5DEB22 /* [CP] Embed Pods Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = App;
+			productName = App;
+			productReference = 504EC3041FED79650016851F /* App.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		504EC2FC1FED79650016851F /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				LastSwiftUpdateCheck = 0920;
+				LastUpgradeCheck = 0920;
+				TargetAttributes = {
+					504EC3031FED79650016851F = {
+						CreatedOnToolsVersion = 9.2;
+						LastSwiftMigration = 1100;
+						ProvisioningStyle = Automatic;
+					};
+				};
+			};
+			buildConfigurationList = 504EC2FF1FED79650016851F /* Build configuration list for PBXProject "App" */;
+			compatibilityVersion = "Xcode 8.0";
+			developmentRegion = en;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+				Base,
+			);
+			mainGroup = 504EC2FB1FED79650016851F;
+			productRefGroup = 504EC3051FED79650016851F /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				504EC3031FED79650016851F /* App */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		504EC3021FED79650016851F /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */,
+				50B271D11FEDC1A000F3C39B /* public in Resources */,
+				504EC30F1FED79650016851F /* Assets.xcassets in Resources */,
+				50379B232058CBB4000EE86E /* capacitor.config.json in Resources */,
+				504EC30D1FED79650016851F /* Main.storyboard in Resources */,
+				2FAD9763203C412B000D30F8 /* config.xml in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+		6634F4EFEBD30273BCE97C65 /* [CP] Check Pods Manifest.lock */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+				"${PODS_ROOT}/Manifest.lock",
+			);
+			name = "[CP] Check Pods Manifest.lock";
+			outputPaths = (
+				"$(DERIVED_FILE_DIR)/Pods-App-checkManifestLockResult.txt",
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			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";
+			showEnvVarsInLog = 0;
+		};
+		9592DBEFFC6D2A0C8D5DEB22 /* [CP] Embed Pods Frameworks */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			name = "[CP] Embed Pods Frameworks";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-App/Pods-App-frameworks.sh\"\n";
+			showEnvVarsInLog = 0;
+		};
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		504EC3001FED79650016851F /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				504EC3081FED79650016851F /* AppDelegate.swift in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+		504EC30B1FED79650016851F /* Main.storyboard */ = {
+			isa = PBXVariantGroup;
+			children = (
+				504EC30C1FED79650016851F /* Base */,
+			);
+			name = Main.storyboard;
+			sourceTree = "<group>";
+		};
+		504EC3101FED79650016851F /* LaunchScreen.storyboard */ = {
+			isa = PBXVariantGroup;
+			children = (
+				504EC3111FED79650016851F /* Base */,
+			);
+			name = LaunchScreen.storyboard;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+		504EC3141FED79650016851F /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_NONNULL = YES;
+				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				CODE_SIGN_IDENTITY = "iPhone Developer";
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = dwarf;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_TESTABILITY = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu11;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+				MTL_ENABLE_DEBUG_INFO = YES;
+				ONLY_ACTIVE_ARCH = YES;
+				SDKROOT = iphoneos;
+				SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+			};
+			name = Debug;
+		};
+		504EC3151FED79650016851F /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_NONNULL = YES;
+				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				CODE_SIGN_IDENTITY = "iPhone Developer";
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				ENABLE_NS_ASSERTIONS = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu11;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+				MTL_ENABLE_DEBUG_INFO = NO;
+				SDKROOT = iphoneos;
+				SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+				VALIDATE_PRODUCT = YES;
+			};
+			name = Release;
+		};
+		504EC3171FED79650016851F /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = FC68EB0AF532CFC21C3344DD /* Pods-App.debug.xcconfig */;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CODE_SIGN_STYLE = Automatic;
+				CURRENT_PROJECT_VERSION = 1;
+				INFOPLIST_FILE = App/Info.plist;
+				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+				MARKETING_VERSION = 1.0;
+				OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
+				PRODUCT_BUNDLE_IDENTIFIER = com.bigauction.mobile;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+				SWIFT_VERSION = 5.0;
+				TARGETED_DEVICE_FAMILY = "1,2";
+			};
+			name = Debug;
+		};
+		504EC3181FED79650016851F /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = AF51FD2D460BCFE21FA515B2 /* Pods-App.release.xcconfig */;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CODE_SIGN_STYLE = Automatic;
+				CURRENT_PROJECT_VERSION = 1;
+				INFOPLIST_FILE = App/Info.plist;
+				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+				MARKETING_VERSION = 1.0;
+				PRODUCT_BUNDLE_IDENTIFIER = com.bigauction.mobile;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_ACTIVE_COMPILATION_CONDITIONS = "";
+				SWIFT_VERSION = 5.0;
+				TARGETED_DEVICE_FAMILY = "1,2";
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		504EC2FF1FED79650016851F /* Build configuration list for PBXProject "App" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				504EC3141FED79650016851F /* Debug */,
+				504EC3151FED79650016851F /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		504EC3161FED79650016851F /* Build configuration list for PBXNativeTarget "App" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				504EC3171FED79650016851F /* Debug */,
+				504EC3181FED79650016851F /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 504EC2FC1FED79650016851F /* Project object */;
+}

+ 7 - 0
ios/App/App.xcodeproj/project.xcworkspace/contents.xcworkspacedata

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "self:App.xcodeproj">
+   </FileRef>
+</Workspace>

+ 10 - 0
ios/App/App.xcworkspace/contents.xcworkspacedata

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "group:App.xcodeproj">
+   </FileRef>
+   <FileRef
+      location = "group:Pods/Pods.xcodeproj">
+   </FileRef>
+</Workspace>

+ 8 - 0
ios/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IDEDidComputeMac32BitWarning</key>
+	<true/>
+</dict>
+</plist>

+ 49 - 0
ios/App/App/AppDelegate.swift

@@ -0,0 +1,49 @@
+import UIKit
+import Capacitor
+
+@UIApplicationMain
+class AppDelegate: UIResponder, UIApplicationDelegate {
+
+    var window: UIWindow?
+
+    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
+        // Override point for customization after application launch.
+        return true
+    }
+
+    func applicationWillResignActive(_ application: UIApplication) {
+        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+        // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
+    }
+
+    func applicationDidEnterBackground(_ application: UIApplication) {
+        // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
+        // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
+    }
+
+    func applicationWillEnterForeground(_ application: UIApplication) {
+        // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
+    }
+
+    func applicationDidBecomeActive(_ application: UIApplication) {
+        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+    }
+
+    func applicationWillTerminate(_ application: UIApplication) {
+        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
+    }
+
+    func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
+        // Called when the app was launched with a url. Feel free to add additional processing here,
+        // but if you want the App API to support tracking app url opens, make sure to keep this call
+        return ApplicationDelegateProxy.shared.application(app, open: url, options: options)
+    }
+
+    func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
+        // Called when the app was launched with an activity, including Universal Links.
+        // Feel free to add additional processing here, but if you want the App API to support
+        // tracking app url opens, make sure to keep this call
+        return ApplicationDelegateProxy.shared.application(application, continue: userActivity, restorationHandler: restorationHandler)
+    }
+
+}

TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@1x.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x-1.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@3x.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@1x.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x-1.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@3x.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@1x.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x-1.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@3x.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@2x.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@3x.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@1x.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@2x.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-83.5x83.5@2x.png


+ 116 - 0
ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json

@@ -0,0 +1,116 @@
+{
+  "images" : [
+    {
+      "size" : "20x20",
+      "idiom" : "iphone",
+      "filename" : "AppIcon-20x20@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "20x20",
+      "idiom" : "iphone",
+      "filename" : "AppIcon-20x20@3x.png",
+      "scale" : "3x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "iphone",
+      "filename" : "AppIcon-29x29@2x-1.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "iphone",
+      "filename" : "AppIcon-29x29@3x.png",
+      "scale" : "3x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "iphone",
+      "filename" : "AppIcon-40x40@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "iphone",
+      "filename" : "AppIcon-40x40@3x.png",
+      "scale" : "3x"
+    },
+    {
+      "size" : "60x60",
+      "idiom" : "iphone",
+      "filename" : "AppIcon-60x60@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "60x60",
+      "idiom" : "iphone",
+      "filename" : "AppIcon-60x60@3x.png",
+      "scale" : "3x"
+    },
+    {
+      "size" : "20x20",
+      "idiom" : "ipad",
+      "filename" : "AppIcon-20x20@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "20x20",
+      "idiom" : "ipad",
+      "filename" : "AppIcon-20x20@2x-1.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "ipad",
+      "filename" : "AppIcon-29x29@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "ipad",
+      "filename" : "AppIcon-29x29@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "ipad",
+      "filename" : "AppIcon-40x40@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "ipad",
+      "filename" : "AppIcon-40x40@2x-1.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "76x76",
+      "idiom" : "ipad",
+      "filename" : "AppIcon-76x76@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "76x76",
+      "idiom" : "ipad",
+      "filename" : "AppIcon-76x76@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "83.5x83.5",
+      "idiom" : "ipad",
+      "filename" : "AppIcon-83.5x83.5@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "1024x1024",
+      "idiom" : "ios-marketing",
+      "filename" : "AppIcon-512@2x.png",
+      "scale" : "1x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 6 - 0
ios/App/App/Assets.xcassets/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 23 - 0
ios/App/App/Assets.xcassets/Splash.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "splash-2732x2732-2.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "splash-2732x2732-1.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "splash-2732x2732.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

TEMPAT SAMPAH
ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png


TEMPAT SAMPAH
ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png


+ 32 - 0
ios/App/App/Base.lproj/LaunchScreen.storyboard

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="17132" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
+    <device id="retina4_7" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="17105"/>
+        <capability name="System colors in document resources" minToolsVersion="11.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <scenes>
+        <!--View Controller-->
+        <scene sceneID="EHf-IW-A2E">
+            <objects>
+                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
+                    <imageView key="view" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Splash" id="snD-IY-ifK">
+                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
+                        <autoresizingMask key="autoresizingMask"/>
+                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                    </imageView>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="53" y="375"/>
+        </scene>
+    </scenes>
+    <resources>
+        <image name="Splash" width="1366" height="1366"/>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>

+ 19 - 0
ios/App/App/Base.lproj/Main.storyboard

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14111" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
+    <device id="retina4_7" orientation="portrait">
+        <adaptation id="fullscreen"/>
+    </device>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
+    </dependencies>
+    <scenes>
+        <!--Bridge View Controller-->
+        <scene sceneID="tne-QT-ifu">
+            <objects>
+                <viewController id="BYZ-38-t0r" customClass="CAPBridgeViewController" customModule="Capacitor" sceneMemberID="viewController"/>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
+            </objects>
+        </scene>
+    </scenes>
+</document>

+ 49 - 0
ios/App/App/Info.plist

@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>en</string>
+	<key>CFBundleDisplayName</key>
+        <string>FirstCash</string>
+	<key>CFBundleExecutable</key>
+	<string>$(EXECUTABLE_NAME)</string>
+	<key>CFBundleIdentifier</key>
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>$(PRODUCT_NAME)</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>$(MARKETING_VERSION)</string>
+	<key>CFBundleVersion</key>
+	<string>$(CURRENT_PROJECT_VERSION)</string>
+	<key>LSRequiresIPhoneOS</key>
+	<true/>
+	<key>UILaunchStoryboardName</key>
+	<string>LaunchScreen</string>
+	<key>UIMainStoryboardFile</key>
+	<string>Main</string>
+	<key>UIRequiredDeviceCapabilities</key>
+	<array>
+		<string>armv7</string>
+	</array>
+	<key>UISupportedInterfaceOrientations</key>
+	<array>
+		<string>UIInterfaceOrientationPortrait</string>
+		<string>UIInterfaceOrientationLandscapeLeft</string>
+		<string>UIInterfaceOrientationLandscapeRight</string>
+	</array>
+	<key>UISupportedInterfaceOrientations~ipad</key>
+	<array>
+		<string>UIInterfaceOrientationPortrait</string>
+		<string>UIInterfaceOrientationPortraitUpsideDown</string>
+		<string>UIInterfaceOrientationLandscapeLeft</string>
+		<string>UIInterfaceOrientationLandscapeRight</string>
+	</array>
+	<key>UIViewControllerBasedStatusBarAppearance</key>
+	<true/>
+</dict>
+</plist>

+ 40 - 0
ios/App/Podfile

@@ -0,0 +1,40 @@
+require_relative '../../node_modules/@capacitor/ios/scripts/pods_helpers'
+
+platform :ios, '13.0'
+use_frameworks!
+
+# workaround to avoid Xcode caching of Pods that requires
+# Product -> Clean Build Folder after new Cordova plugins installed
+# Requires CocoaPods 1.6 or newer
+install! 'cocoapods', :disable_input_output_paths => true
+
+def capacitor_pods
+  pod 'Capacitor', :path => '../../node_modules/@capacitor/ios'
+  pod 'CapacitorCordova', :path => '../../node_modules/@capacitor/ios'
+  pod 'CapacitorCommunityMedia', :path => '../../node_modules/@capacitor-community/media'
+  pod 'CapacitorActionSheet', :path => '../../node_modules/@capacitor/action-sheet'
+  pod 'CapacitorApp', :path => '../../node_modules/@capacitor/app'
+  pod 'CapacitorAppLauncher', :path => '../../node_modules/@capacitor/app-launcher'
+  pod 'CapacitorBrowser', :path => '../../node_modules/@capacitor/browser'
+  pod 'CapacitorCamera', :path => '../../node_modules/@capacitor/camera'
+  pod 'CapacitorClipboard', :path => '../../node_modules/@capacitor/clipboard'
+  pod 'CapacitorDevice', :path => '../../node_modules/@capacitor/device'
+  pod 'CapacitorFilesystem', :path => '../../node_modules/@capacitor/filesystem'
+  pod 'CapacitorHaptics', :path => '../../node_modules/@capacitor/haptics'
+  pod 'CapacitorKeyboard', :path => '../../node_modules/@capacitor/keyboard'
+  pod 'CapacitorNetwork', :path => '../../node_modules/@capacitor/network'
+  pod 'CapacitorShare', :path => '../../node_modules/@capacitor/share'
+  pod 'CapacitorSplashScreen', :path => '../../node_modules/@capacitor/splash-screen'
+  pod 'CapacitorStatusBar', :path => '../../node_modules/@capacitor/status-bar'
+  pod 'AppsflyerCapacitorPlugin', :path => '../../node_modules/appsflyer-capacitor-plugin'
+  pod 'CapacitorOpeninstall', :path => '../../../../capacitor/capacitor-openinstall'
+end
+
+target 'App' do
+  capacitor_pods
+  # Add your Pods here
+end
+
+post_install do |installer|
+  assertDeploymentTarget(installer)
+end

+ 2 - 1
package.json

@@ -34,8 +34,9 @@
     "@vant/area-data": "^1.3.2",
     "@vueuse/components": "^9.10.0",
     "@vueuse/core": "^9.6.0",
+    "appsflyer-capacitor-plugin": "^6.9.2",
     "axios": "^1.2.0",
-    "capacitor-openinstall": "https://github.com/x1ongzhu/capacitor-openinstall.git",
+    "capacitor-openinstall": "link:/Users/drew/Projects/capacitor/capacitor-openinstall",
     "cordova-plugin-android-notch": "^1.0.3",
     "date-fns": "^2.29.3",
     "eruda": "^2.6.1",

TEMPAT SAMPAH
resources/ios/icon.png


TEMPAT SAMPAH
resources/ios/icon/icon-1024.png


TEMPAT SAMPAH
resources/ios/icon/icon-108@2x.png


TEMPAT SAMPAH
resources/ios/icon/icon-20.png


TEMPAT SAMPAH
resources/ios/icon/icon-20@2x.png


TEMPAT SAMPAH
resources/ios/icon/icon-20@3x.png


TEMPAT SAMPAH
resources/ios/icon/icon-24@2x.png


TEMPAT SAMPAH
resources/ios/icon/icon-27.5@2x.png


TEMPAT SAMPAH
resources/ios/icon/icon-29.png


TEMPAT SAMPAH
resources/ios/icon/icon-29@2x.png


TEMPAT SAMPAH
resources/ios/icon/icon-29@3x.png


TEMPAT SAMPAH
resources/ios/icon/icon-40.png


TEMPAT SAMPAH
resources/ios/icon/icon-40@2x.png


TEMPAT SAMPAH
resources/ios/icon/icon-40@3x.png


TEMPAT SAMPAH
resources/ios/icon/icon-44@2x.png


TEMPAT SAMPAH
resources/ios/icon/icon-50.png


TEMPAT SAMPAH
resources/ios/icon/icon-50@2x.png


TEMPAT SAMPAH
resources/ios/icon/icon-60.png


TEMPAT SAMPAH
resources/ios/icon/icon-60@2x.png


TEMPAT SAMPAH
resources/ios/icon/icon-60@3x.png


TEMPAT SAMPAH
resources/ios/icon/icon-72.png


TEMPAT SAMPAH
resources/ios/icon/icon-72@2x.png


TEMPAT SAMPAH
resources/ios/icon/icon-76.png


TEMPAT SAMPAH
resources/ios/icon/icon-76@2x.png


TEMPAT SAMPAH
resources/ios/icon/icon-83.5@2x.png


TEMPAT SAMPAH
resources/ios/icon/icon-86@2x.png


TEMPAT SAMPAH
resources/ios/icon/icon-98@2x.png


TEMPAT SAMPAH
resources/ios/icon/icon.png


TEMPAT SAMPAH
resources/ios/icon/icon@2x.png


TEMPAT SAMPAH
resources/ios/splash.png


TEMPAT SAMPAH
resources/ios/splash/Default-1792h~iphone.png


TEMPAT SAMPAH
resources/ios/splash/Default-2436h.png


TEMPAT SAMPAH
resources/ios/splash/Default-2688h~iphone.png


TEMPAT SAMPAH
resources/ios/splash/Default-568h@2x~iphone.png


TEMPAT SAMPAH
resources/ios/splash/Default-667h.png


TEMPAT SAMPAH
resources/ios/splash/Default-736h.png


TEMPAT SAMPAH
resources/ios/splash/Default-Landscape-1792h~iphone.png


TEMPAT SAMPAH
resources/ios/splash/Default-Landscape-2436h.png


TEMPAT SAMPAH
resources/ios/splash/Default-Landscape-2688h~iphone.png


TEMPAT SAMPAH
resources/ios/splash/Default-Landscape-736h.png


TEMPAT SAMPAH
resources/ios/splash/Default-Landscape@2x~ipad.png


TEMPAT SAMPAH
resources/ios/splash/Default-Landscape@~ipadpro.png


TEMPAT SAMPAH
resources/ios/splash/Default-Landscape~ipad.png


TEMPAT SAMPAH
resources/ios/splash/Default-Portrait@2x~ipad.png


TEMPAT SAMPAH
resources/ios/splash/Default-Portrait@~ipadpro.png


TEMPAT SAMPAH
resources/ios/splash/Default-Portrait~ipad.png


TEMPAT SAMPAH
resources/ios/splash/Default@2x~iphone.png


TEMPAT SAMPAH
resources/ios/splash/Default@2x~universal~anyany.png


TEMPAT SAMPAH
resources/ios/splash/Default~iphone.png


+ 64 - 63
src/assets/bankCode.json

@@ -1,65 +1,66 @@
 [
-    { "code": " AB", "name": "ALLBANK(A Thirft Bank)" },
-    { "code": " Asenso", "name": "Asenso" },
-    { "code": " AUB", "name": "Asia United Bank Corporation" },
-    { "code": " BNB", "name": "BDO NeTwork Bank" },
-    { "code": " Unibank", "name": "BDO Unibank" },
-    { "code": " bpi", "name": "BPI Bank" },
-    { "code": "A Subsidiary of BPI", "name": "BanKo" },
-    { "code": " BM", "name": "Bangko Mabuhay" },
-    { "code": " BC", "name": "Bank of Commerce" },
-    { "code": " Bayad", "name": "Bayad" },
-    { "code": " CARD Bank", "name": "CARD Bank" },
-    { "code": " CTBC", "name": "CTBC Bank (Philippines) Corporation" },
-    { "code": " CB", "name": "Camalig Bank" },
-    { "code": " CLB", "name": "Cebuana Lhuillier Bank / Cebuana Xpress" },
-    { "code": " CBS", "name": "China Bank Savings" },
-    { "code": " CBC", "name": "China Banking Corporation" },
-    { "code": " Coins", "name": "Coins.ph (DCPay)" },
-    { "code": " DBP", "name": "Development Bank of the Philippines" },
-    { "code": " DCDB", "name": "Dumaguete City Development Bank" },
-    { "code": " DB", "name": "Dungganon Bank" },
-    { "code": " EWBC", "name": "East West Banking Corporation" },
-    { "code": " ESB", "name": "Equicom Savings Bank" },
-    { "code": " gcash", "name": "Gcash" },
-    { "code": " GP", "name": "GrabPay" },
-    { "code": " IB", "name": "ING Bank N.V." },
-    { "code": " ISLA", "name": "ISLA Bank" },
-    { "code": " JC", "name": "JuanCash" },
-    { "code": " Komo", "name": "Komo / EastWest Rural Bank" },
-    { "code": " LBOB", "name": "LANDBANK / OFBank" },
-    { "code": " LSB", "name": "Legazpi Saving Bank" },
-    { "code": " MBS", "name": "Malayan Bank Saving and Mortage Bank" },
-    { "code": " MBP", "name": "Maybank Philippnies" },
-    { "code": " mbt", "name": "Metropolitan Bank and Trust Co" },
-    { "code": " MCCB", "name": "Mindanao Consolidated CoopBank" },
-    { "code": " NB", "name": "Netbank" },
-    { "code": " OP", "name": "OmniPay" },
-    { "code": " PRB", "name": "Partner Rural Bank" },
-    { "code": " PMP", "name": "PayMaya Philippines" },
-    { "code": " PBC", "name": "Philippine Bank of Communications" },
-    { "code": " PBB", "name": "Philippine Business Bank" },
-    { "code": " PNB", "name": "Philippine National Bank" },
-    { "code": " PSB", "name": "Philippine Savings Bank" },
-    { "code": " PTC", "name": "Philippine Trust Company" },
-    { "code": " PDB", "name": "Producers Bank" },
-    { "code": " QB", "name": "Queenbank" },
-    { "code": " QCRB", "name": "Quezon Capital Rural Bank" },
-    { "code": " RSB", "name": "RCBC Saving Bank" },
-    { "code": " RCBC", "name": "RCBC/DiskarTech" },
-    { "code": " RBB", "name": "Robinsons Bank Corporation" },
-    { "code": " SB", "name": "Seabank" },
-    { "code": " SBC", "name": "Security Bank Corporation" },
-    { "code": " SP", "name": "ShopeePay" },
-    { "code": " SCB", "name": "Standard Chartered Bank" },
-    { "code": " STP", "name": "Starpay" },
-    { "code": " SLB", "name": "Sterling Bank of Asia" },
-    { "code": " SSB", "name": "Sun Savings Bank" },
-    { "code": " TC", "name": "TayoCash" },
-    { "code": " USB", "name": "UCPB Savings Bank" },
-    { "code": " USSC", "name": "USSC Monet Services" },
-    { "code": " UBP", "name": "Union Bank of the Philippines" },
-    { "code": " UCPB", "name": "United Coconut Planters Bank (UCPB)" },
-    { "code": " VB", "name": "Veterans Bank" },
-    { "code": " WDB", "name": "Wealth Development Bank" }
+    { "code": "gcash", "name": "GCASH" },
+    { "code": "AB", "name": "ALLBANK(A Thirft Bank)" },
+    { "code": "Asenso", "name": "Asenso" },
+    { "code": "AUB", "name": "Asia United Bank Corporation" },
+    { "code": "BNB", "name": "BDO NeTwork Bank" },
+    { "code": "Unibank", "name": "BDO Unibank" },
+    { "code": "bpi", "name": "BPI Bank" },
+    { "code": "BK", "name": "BanKo,A Subsidiary of BPI" },
+    { "code": "BM", "name": "Bangko Mabuhay" },
+    { "code": "BC", "name": "Bank of Commerce" },
+    { "code": "Bayad", "name": "Bayad" },
+    { "code": "CARD Bank", "name": "CARD Bank" },
+    { "code": "CTBC", "name": "CTBC Bank (Philippines) Corporation" },
+    { "code": "CB", "name": "Camalig Bank" },
+    { "code": "CLB", "name": "Cebuana Lhuillier Bank / Cebuana Xpress" },
+    { "code": "CBS", "name": "China Bank Savings" },
+    { "code": "CBC", "name": "China Banking Corporation" },
+    { "code": "Coins", "name": "Coins.ph (DCPay)" },
+    { "code": "DBP", "name": "Development Bank of the Philippines" },
+    { "code": "DCDB", "name": "Dumaguete City Development Bank" },
+    { "code": "DB", "name": "Dungganon Bank" },
+    { "code": "EWBC", "name": "East West Banking Corporation" },
+    { "code": "ESB", "name": "Equicom Savings Bank" },
+    { "code": "gcash", "name": "Gcash" },
+    { "code": "GP", "name": "GrabPay" },
+    { "code": "IB", "name": "ING Bank N.V." },
+    { "code": "ISLA", "name": "ISLA Bank" },
+    { "code": "JC", "name": "JuanCash" },
+    { "code": "Komo", "name": "Komo / EastWest Rural Bank" },
+    { "code": "LBOB", "name": "LANDBANK / OFBank" },
+    { "code": "LSB", "name": "Legazpi Saving Bank" },
+    { "code": "MBS", "name": "Malayan Bank Saving and Mortage Bank" },
+    { "code": "MBP", "name": "Maybank Philippnies" },
+    { "code": "mbt", "name": "Metropolitan Bank and Trust Co" },
+    { "code": "MCCB", "name": "Mindanao Consolidated CoopBank" },
+    { "code": "NB", "name": "Netbank" },
+    { "code": "OP", "name": "OmniPay" },
+    { "code": "PRB", "name": "Partner Rural Bank" },
+    { "code": "PMP", "name": "PayMaya Philippines" },
+    { "code": "PBC", "name": "Philippine Bank of Communications" },
+    { "code": "PBB", "name": "Philippine Business Bank" },
+    { "code": "PNB", "name": "Philippine National Bank" },
+    { "code": "PSB", "name": "Philippine Savings Bank" },
+    { "code": "PTC", "name": "Philippine Trust Company" },
+    { "code": "PDB", "name": "Producers Bank" },
+    { "code": "QB", "name": "Queenbank" },
+    { "code": "QCRB", "name": "Quezon Capital Rural Bank" },
+    { "code": "RSB", "name": "RCBC Saving Bank" },
+    { "code": "RCBC", "name": "RCBC/DiskarTech" },
+    { "code": "RBB", "name": "Robinsons Bank Corporation" },
+    { "code": "SB", "name": "Seabank" },
+    { "code": "SBC", "name": "Security Bank Corporation" },
+    { "code": "SP", "name": "ShopeePay" },
+    { "code": "SCB", "name": "Standard Chartered Bank" },
+    { "code": "STP", "name": "Starpay" },
+    { "code": "SLB", "name": "Sterling Bank of Asia" },
+    { "code": "SSB", "name": "Sun Savings Bank" },
+    { "code": "TC", "name": "TayoCash" },
+    { "code": "USB", "name": "UCPB Savings Bank" },
+    { "code": "USSC", "name": "USSC Monet Services" },
+    { "code": "UBP", "name": "Union Bank of the Philippines" },
+    { "code": "UCPB", "name": "United Coconut Planters Bank (UCPB)" },
+    { "code": "VB", "name": "Veterans Bank" },
+    { "code": "WDB", "name": "Wealth Development Bank" }
 ]

+ 2 - 2
src/locales/en.json

@@ -249,8 +249,8 @@
         "addBankCard": "Add Bank Account",
         "editBankCard": "Edit Bank Account",
         "deleteBankCard": "Delete Bank Account",
-        "cardNumber": "Card Number",
-        "cardName": "Name on Card",
+        "account": "Account",
+        "name": "Name",
         "phone": "Phone Number",
         "mail": "Mail",
         "saveBankCard": "Save Bank Account",

+ 2 - 2
src/locales/zh.json

@@ -248,8 +248,8 @@
         "addBankCard": "添加银行卡",
         "editBankCard": "编辑银行卡",
         "deleteBankCard": "删除银行卡",
-        "cardNumber": "银行卡号",
-        "cardName": "持卡人姓名",
+        "account": "银行卡号",
+        "name": "持卡人姓名",
         "phone": "手机号",
         "mail": "邮箱",
         "saveBankCard": "保存银行卡",

+ 32 - 28
src/main.js

@@ -71,33 +71,37 @@ if (navigator.language === 'zh-CN') {
 } else {
     setDefaultOptions({ locale: enUS })
 }
-if (Capacitor.isNativePlatform()) {
-    StatusBar.setOverlaysWebView({ overlay: true })
-    StatusBar.setStyle({ style: Style.Dark })
-    if (Capacitor.getPlatform() === 'android') {
-        const style = document.documentElement.style
 
-        window.AndroidNotch.getInsetTop(
-            px => {
-                style.setProperty('--ion-safe-area-top', px + 'px')
-            },
-            err => console.error('Failed to get insets top:', err)
-        )
-    }
-    Openinstall.init()
-    Openinstall.addListener('wakeUp', data => {
-        console.log('wakeUp', data)
-        if (data && data.data) {
-            let params = JSON.parse(data.data)
-            if (params.invitor) {
-                localStorage.setItem('invitor', params.invitor)
-            }
+document.addEventListener('deviceready', () => {
+    console.log('deviceready')
+    if (Capacitor.isNativePlatform()) {
+        StatusBar.setOverlaysWebView({ overlay: true })
+        StatusBar.setStyle({ style: Style.Dark })
+        if (Capacitor.getPlatform() === 'android') {
+            const style = document.documentElement.style
+
+            window.AndroidNotch.getInsetTop(
+                px => {
+                    style.setProperty('--ion-safe-area-top', px + 'px')
+                },
+                err => console.error('Failed to get insets top:', err)
+            )
         }
-    })
-    Openinstall.getInstallCanRetry(data => {
-        console.log('getInstallCanRetry', data)
-    })
-    setTimeout(() => {
-        SplashScreen.hide()
-    }, 1000)
-}
+        Openinstall.init()
+        Openinstall.addListener('wakeUp', data => {
+            console.log('wakeUp', data)
+            if (data && data.data) {
+                let params = JSON.parse(data.data)
+                if (params.invitor) {
+                    localStorage.setItem('invitor', params.invitor)
+                }
+            }
+        })
+        Openinstall.getInstallCanRetry(data => {
+            console.log('getInstallCanRetry', data)
+        })
+        setTimeout(() => {
+            SplashScreen.hide()
+        }, 1000)
+    }
+})

+ 4 - 4
src/views/EditBankPage.vue

@@ -19,11 +19,11 @@
             </div>
 
             <div class="input-sec">
-                <div class="title">{{ $t('bank.cardNumber') }}</div>
+                <div class="title">{{ $t('bank.account') }}</div>
                 <div class="input-wrapper">
                     <ion-input
                         typeof="number"
-                        :placeholder="$t('bank.cardNumber')"
+                        :placeholder="$t('bank.account')"
                         clear-input
                         type="number"
                         inputmode="decimal"
@@ -34,9 +34,9 @@
             </div>
 
             <div class="input-sec">
-                <div class="title">{{ $t('bank.cardName') }}</div>
+                <div class="title">{{ $t('bank.name') }}</div>
                 <div class="input-wrapper">
-                    <ion-input :placeholder="$t('bank.cardName')" clear-input v-model="formData.name"></ion-input>
+                    <ion-input :placeholder="$t('bank.name')" clear-input v-model="formData.name"></ion-input>
                 </div>
             </div>
 

+ 8 - 3
yarn.lock

@@ -1742,6 +1742,11 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
   dependencies:
     color-convert "^2.0.1"
 
+appsflyer-capacitor-plugin@^6.9.2:
+  version "6.9.2"
+  resolved "https://registry.npmmirror.com/appsflyer-capacitor-plugin/-/appsflyer-capacitor-plugin-6.9.2.tgz#bf6f198076c2f62683afdbbe1c09e2eac583f4de"
+  integrity sha512-Q0hXy4rV0GZ2K0378w2txvws2yC1wpf0kTpO10S6NXqCFOPtF0/PV3amrvTbD7muCo5G7gJ/jWGDlu4jdRcAPQ==
+
 arch@^2.1.0:
   version "2.2.0"
   resolved "https://registry.npmmirror.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11"
@@ -2032,9 +2037,9 @@ caniuse-lite@^1.0.30001400:
   resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz#40337f1cf3be7c637b061e2f78582dc1daec0614"
   integrity sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow==
 
-"capacitor-openinstall@https://github.com/x1ongzhu/capacitor-openinstall.git":
-  version "0.0.1"
-  resolved "https://github.com/x1ongzhu/capacitor-openinstall.git#11171401b7a99f691e503c93daa5c2edf5474844"
+"capacitor-openinstall@link:../../capacitor/capacitor-openinstall":
+  version "0.0.0"
+  uid ""
 
 caw@^2.0.0, caw@^2.0.1:
   version "2.0.1"