From 52dced2906259ca6ebc8cff252c2d9eadf254a77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Qu=E1=BB=91c=20Kh=C3=A1nh?= Date: Tue, 3 Sep 2024 23:51:43 +0700 Subject: [PATCH] feat(mobile): prebuild expo and setup revenuecat (#265) --- apps/mobile/.env.example | 3 +- apps/mobile/android/.gitignore | 16 + apps/mobile/android/app/build.gradle | 203 ++ apps/mobile/android/app/debug.keystore | Bin 0 -> 2257 bytes apps/mobile/android/app/proguard-rules.pro | 14 + .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 40 + .../main/java/ai/sixpm/app/MainActivity.kt | 61 + .../main/java/ai/sixpm/app/MainApplication.kt | 55 + .../res/drawable-hdpi/splashscreen_image.png | Bin 0 -> 27632 bytes .../res/drawable-mdpi/splashscreen_image.png | Bin 0 -> 27632 bytes .../res/drawable-xhdpi/splashscreen_image.png | Bin 0 -> 27632 bytes .../drawable-xxhdpi/splashscreen_image.png | Bin 0 -> 27632 bytes .../drawable-xxxhdpi/splashscreen_image.png | Bin 0 -> 27632 bytes .../res/drawable/rn_edit_text_material.xml | 37 + .../src/main/res/drawable/splashscreen.xml | 3 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3370 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 3370 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4985 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2153 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 2153 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 3253 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4525 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 4525 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 6700 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7476 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 7476 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10991 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10138 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 10138 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 14555 bytes .../app/src/main/res/values-night/colors.xml | 1 + .../app/src/main/res/values/colors.xml | 6 + .../app/src/main/res/values/strings.xml | 7 + .../app/src/main/res/values/styles.xml | 17 + apps/mobile/android/build.gradle | 45 + apps/mobile/android/gradle.properties | 59 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43453 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + apps/mobile/android/gradlew | 249 ++ apps/mobile/android/gradlew.bat | 92 + .../react-settings-plugin/build.gradle.kts | 19 + .../expo/plugins/ReactSettingsPlugin.kt | 10 + apps/mobile/android/sentry.properties | 4 + apps/mobile/android/settings.gradle | 66 + apps/mobile/app.json | 11 +- apps/mobile/app/(app)/(tabs)/_layout.tsx | 6 +- apps/mobile/app/(app)/(tabs)/settings.tsx | 30 +- apps/mobile/app/(app)/paywall.tsx | 265 ++- apps/mobile/assets/images/adaptive-icon.png | Bin 22892 -> 17989 bytes apps/mobile/assets/images/icon.png | Bin 29400 -> 20175 bytes .../assets/images/partial-react-logo.png | Bin 5075 -> 0 bytes apps/mobile/assets/images/react-logo.png | Bin 6341 -> 0 bytes apps/mobile/assets/images/react-logo@2x.png | Bin 14225 -> 0 bytes apps/mobile/assets/images/react-logo@3x.png | Bin 21252 -> 0 bytes apps/mobile/assets/images/splash.png | Bin 30838 -> 26728 bytes .../components/home/wallet-statistics.tsx | 4 +- .../components/setting/profile-card.tsx | 21 +- .../setting/select-default-currency.tsx | 8 + apps/mobile/eas.json | 7 + apps/mobile/hooks/use-purchases.ts | 51 + apps/mobile/ios/.gitignore | 30 + apps/mobile/ios/.xcode.env | 11 + apps/mobile/ios/6pm.xcodeproj/project.pbxproj | 598 +++++ .../xcshareddata/xcschemes/6pm.xcscheme | 88 + .../6pm.xcworkspace/contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + apps/mobile/ios/6pm/6pm-Bridging-Header.h | 3 + apps/mobile/ios/6pm/6pm.entitlements | 12 + apps/mobile/ios/6pm/AppDelegate.h | 7 + apps/mobile/ios/6pm/AppDelegate.mm | 62 + .../App-Icon-1024x1024@1x.png | Bin 0 -> 21553 bytes .../AppIcon.appiconset/Contents.json | 14 + .../ios/6pm/Images.xcassets/Contents.json | 6 + .../SplashScreen.imageset/Contents.json | 21 + .../SplashScreen.imageset/image.png | Bin 0 -> 27632 bytes .../Contents.json | 21 + .../SplashScreenBackground.imageset/image.png | Bin 0 -> 68 bytes apps/mobile/ios/6pm/Info.plist | 94 + apps/mobile/ios/6pm/PrivacyInfo.xcprivacy | 48 + apps/mobile/ios/6pm/SplashScreen.storyboard | 51 + apps/mobile/ios/6pm/Supporting/Expo.plist | 16 + apps/mobile/ios/6pm/main.m | 10 + apps/mobile/ios/6pm/noop-file.swift | 4 + apps/mobile/ios/Podfile | 79 + apps/mobile/ios/Podfile.lock | 2108 +++++++++++++++++ apps/mobile/ios/Podfile.properties.json | 4 + apps/mobile/ios/sentry.properties | 4 + apps/mobile/package.json | 6 +- package.json | 1 + pnpm-lock.yaml | 92 + 93 files changed, 4740 insertions(+), 102 deletions(-) create mode 100644 apps/mobile/android/.gitignore create mode 100644 apps/mobile/android/app/build.gradle create mode 100644 apps/mobile/android/app/debug.keystore create mode 100644 apps/mobile/android/app/proguard-rules.pro create mode 100644 apps/mobile/android/app/src/debug/AndroidManifest.xml create mode 100644 apps/mobile/android/app/src/main/AndroidManifest.xml create mode 100644 apps/mobile/android/app/src/main/java/ai/sixpm/app/MainActivity.kt create mode 100644 apps/mobile/android/app/src/main/java/ai/sixpm/app/MainApplication.kt create mode 100644 apps/mobile/android/app/src/main/res/drawable-hdpi/splashscreen_image.png create mode 100644 apps/mobile/android/app/src/main/res/drawable-mdpi/splashscreen_image.png create mode 100644 apps/mobile/android/app/src/main/res/drawable-xhdpi/splashscreen_image.png create mode 100644 apps/mobile/android/app/src/main/res/drawable-xxhdpi/splashscreen_image.png create mode 100644 apps/mobile/android/app/src/main/res/drawable-xxxhdpi/splashscreen_image.png create mode 100644 apps/mobile/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 apps/mobile/android/app/src/main/res/drawable/splashscreen.xml create mode 100644 apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 apps/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 apps/mobile/android/app/src/main/res/values-night/colors.xml create mode 100644 apps/mobile/android/app/src/main/res/values/colors.xml create mode 100644 apps/mobile/android/app/src/main/res/values/strings.xml create mode 100644 apps/mobile/android/app/src/main/res/values/styles.xml create mode 100644 apps/mobile/android/build.gradle create mode 100644 apps/mobile/android/gradle.properties create mode 100644 apps/mobile/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 apps/mobile/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 apps/mobile/android/gradlew create mode 100644 apps/mobile/android/gradlew.bat create mode 100644 apps/mobile/android/react-settings-plugin/build.gradle.kts create mode 100644 apps/mobile/android/react-settings-plugin/src/main/kotlin/expo/plugins/ReactSettingsPlugin.kt create mode 100644 apps/mobile/android/sentry.properties create mode 100644 apps/mobile/android/settings.gradle delete mode 100644 apps/mobile/assets/images/partial-react-logo.png delete mode 100644 apps/mobile/assets/images/react-logo.png delete mode 100644 apps/mobile/assets/images/react-logo@2x.png delete mode 100644 apps/mobile/assets/images/react-logo@3x.png create mode 100644 apps/mobile/hooks/use-purchases.ts create mode 100644 apps/mobile/ios/.gitignore create mode 100644 apps/mobile/ios/.xcode.env create mode 100644 apps/mobile/ios/6pm.xcodeproj/project.pbxproj create mode 100644 apps/mobile/ios/6pm.xcodeproj/xcshareddata/xcschemes/6pm.xcscheme create mode 100644 apps/mobile/ios/6pm.xcworkspace/contents.xcworkspacedata create mode 100644 apps/mobile/ios/6pm.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 apps/mobile/ios/6pm/6pm-Bridging-Header.h create mode 100644 apps/mobile/ios/6pm/6pm.entitlements create mode 100644 apps/mobile/ios/6pm/AppDelegate.h create mode 100644 apps/mobile/ios/6pm/AppDelegate.mm create mode 100644 apps/mobile/ios/6pm/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png create mode 100644 apps/mobile/ios/6pm/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 apps/mobile/ios/6pm/Images.xcassets/Contents.json create mode 100644 apps/mobile/ios/6pm/Images.xcassets/SplashScreen.imageset/Contents.json create mode 100644 apps/mobile/ios/6pm/Images.xcassets/SplashScreen.imageset/image.png create mode 100644 apps/mobile/ios/6pm/Images.xcassets/SplashScreenBackground.imageset/Contents.json create mode 100644 apps/mobile/ios/6pm/Images.xcassets/SplashScreenBackground.imageset/image.png create mode 100644 apps/mobile/ios/6pm/Info.plist create mode 100644 apps/mobile/ios/6pm/PrivacyInfo.xcprivacy create mode 100644 apps/mobile/ios/6pm/SplashScreen.storyboard create mode 100644 apps/mobile/ios/6pm/Supporting/Expo.plist create mode 100644 apps/mobile/ios/6pm/main.m create mode 100644 apps/mobile/ios/6pm/noop-file.swift create mode 100644 apps/mobile/ios/Podfile create mode 100644 apps/mobile/ios/Podfile.lock create mode 100644 apps/mobile/ios/Podfile.properties.json create mode 100644 apps/mobile/ios/sentry.properties diff --git a/apps/mobile/.env.example b/apps/mobile/.env.example index 9aea6897..47027ffe 100644 --- a/apps/mobile/.env.example +++ b/apps/mobile/.env.example @@ -6,4 +6,5 @@ SENTRY_PROJECT= SENTRY_AUTH_TOKEN= EXPO_PUBLIC_SENTRY_DSN= EXPO_PUBLIC_POSTHOG_API_KEY= -EXPO_PUBLIC_POSTHOG_HOST= \ No newline at end of file +EXPO_PUBLIC_POSTHOG_HOST= +EXPO_PUBLIC_REVENUECAT_PROJECT_IOS_API_KEY= \ No newline at end of file diff --git a/apps/mobile/android/.gitignore b/apps/mobile/android/.gitignore new file mode 100644 index 00000000..8a6be077 --- /dev/null +++ b/apps/mobile/android/.gitignore @@ -0,0 +1,16 @@ +# OSX +# +.DS_Store + +# Android/IntelliJ +# +build/ +.idea +.gradle +local.properties +*.iml +*.hprof +.cxx/ + +# Bundle artifacts +*.jsbundle diff --git a/apps/mobile/android/app/build.gradle b/apps/mobile/android/app/build.gradle new file mode 100644 index 00000000..be96e786 --- /dev/null +++ b/apps/mobile/android/app/build.gradle @@ -0,0 +1,203 @@ +apply plugin: "com.android.application" +apply plugin: "org.jetbrains.kotlin.android" +apply plugin: "com.facebook.react" + +def projectRoot = rootDir.getAbsoluteFile().getParentFile().getAbsolutePath() + +static def versionToNumber(major, minor, patch) { + return patch * 100 + minor * 10000 + major * 1000000 +} + +def getRNVersion() { + def version = providers.exec { + workingDir(projectDir) + commandLine("node", "-e", "console.log(require('react-native/package.json').version);") + }.standardOutput.asText.get().trim() + + def coreVersion = version.split("-")[0] + def (major, minor, patch) = coreVersion.tokenize('.').collect { it.toInteger() } + + return versionToNumber( + major, + minor, + patch + ) +} +def rnVersion = getRNVersion() + +/** + * This is the configuration block to customize your React Native Android app. + * By default you don't need to apply any configuration, just uncomment the lines you need. + */ +react { + entryFile = file(["node", "-e", "require('expo/scripts/resolveAppEntry')", projectRoot, "android", "absolute"].execute(null, rootDir).text.trim()) + reactNativeDir = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsoluteFile() + hermesCommand = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsolutePath() + "/sdks/hermesc/%OS-BIN%/hermesc" + codegenDir = new File(["node", "--print", "require.resolve('@react-native/codegen/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim()).getParentFile().getAbsoluteFile() + + // Use Expo CLI to bundle the app, this ensures the Metro config + // works correctly with Expo projects. + cliFile = new File(["node", "--print", "require.resolve('@expo/cli', { paths: [require.resolve('expo/package.json')] })"].execute(null, rootDir).text.trim()) + bundleCommand = "export:embed" + + /* Folders */ + // The root of your project, i.e. where "package.json" lives. Default is '..' + // root = file("../") + // The folder where the react-native NPM package is. Default is ../node_modules/react-native + // reactNativeDir = file("../node_modules/react-native") + // The folder where the react-native Codegen package is. Default is ../node_modules/@react-native/codegen + // codegenDir = file("../node_modules/@react-native/codegen") + + /* Variants */ + // The list of variants to that are debuggable. For those we're going to + // skip the bundling of the JS bundle and the assets. By default is just 'debug'. + // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. + // debuggableVariants = ["liteDebug", "prodDebug"] + + /* Bundling */ + // A list containing the node command and its flags. Default is just 'node'. + // nodeExecutableAndArgs = ["node"] + + // + // The path to the CLI configuration file. Default is empty. + // bundleConfig = file(../rn-cli.config.js) + // + // The name of the generated asset file containing your JS bundle + // bundleAssetName = "MyApplication.android.bundle" + // + // The entry file for bundle generation. Default is 'index.android.js' or 'index.js' + // entryFile = file("../js/MyApplication.android.js") + // + // A list of extra flags to pass to the 'bundle' commands. + // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle + // extraPackagerArgs = [] + + /* Hermes Commands */ + // The hermes compiler command to run. By default it is 'hermesc' + // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" + // + // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" + // hermesFlags = ["-O", "-output-source-map"] + + if (rnVersion >= versionToNumber(0, 75, 0)) { + /* Autolinking */ + autolinkLibrariesWithApp() + } +} + +/** + * Set this to true to Run Proguard on Release builds to minify the Java bytecode. + */ +def enableProguardInReleaseBuilds = (findProperty('android.enableProguardInReleaseBuilds') ?: false).toBoolean() + +/** + * The preferred build flavor of JavaScriptCore (JSC) + * + * For example, to use the international variant, you can use: + * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` + * + * The international variant includes ICU i18n library and necessary data + * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that + * give correct results when using with locales other than en-US. Note that + * this variant is about 6MiB larger per architecture than default. + */ +def jscFlavor = 'org.webkit:android-jsc:+' + +apply from: new File(["node", "--print", "require('path').dirname(require.resolve('@sentry/react-native/package.json'))"].execute().text.trim(), "sentry.gradle") + +android { + ndkVersion rootProject.ext.ndkVersion + + buildToolsVersion rootProject.ext.buildToolsVersion + compileSdk rootProject.ext.compileSdkVersion + + namespace 'ai.sixpm.app' + defaultConfig { + applicationId 'ai.sixpm.app' + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion + versionCode 1 + versionName "1.0.0" + } + signingConfigs { + debug { + storeFile file('debug.keystore') + storePassword 'android' + keyAlias 'androiddebugkey' + keyPassword 'android' + } + } + buildTypes { + debug { + signingConfig signingConfigs.debug + } + release { + // Caution! In production, you need to generate your own keystore file. + // see https://reactnative.dev/docs/signed-apk-android. + signingConfig signingConfigs.debug + shrinkResources (findProperty('android.enableShrinkResourcesInReleaseBuilds')?.toBoolean() ?: false) + minifyEnabled enableProguardInReleaseBuilds + proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + crunchPngs (findProperty('android.enablePngCrunchInReleaseBuilds')?.toBoolean() ?: true) + } + } + packagingOptions { + jniLibs { + useLegacyPackaging (findProperty('expo.useLegacyPackaging')?.toBoolean() ?: false) + } + } +} + +// Apply static values from `gradle.properties` to the `android.packagingOptions` +// Accepts values in comma delimited lists, example: +// android.packagingOptions.pickFirsts=/LICENSE,**/picasa.ini +["pickFirsts", "excludes", "merges", "doNotStrip"].each { prop -> + // Split option: 'foo,bar' -> ['foo', 'bar'] + def options = (findProperty("android.packagingOptions.$prop") ?: "").split(","); + // Trim all elements in place. + for (i in 0.. 0) { + println "android.packagingOptions.$prop += $options ($options.length)" + // Ex: android.packagingOptions.pickFirsts += '**/SCCS/**' + options.each { + android.packagingOptions[prop] += it + } + } +} + +dependencies { + // The version of react-native is set by the React Native Gradle Plugin + implementation("com.facebook.react:react-android") + + def isGifEnabled = (findProperty('expo.gif.enabled') ?: "") == "true"; + def isWebpEnabled = (findProperty('expo.webp.enabled') ?: "") == "true"; + def isWebpAnimatedEnabled = (findProperty('expo.webp.animated') ?: "") == "true"; + + if (isGifEnabled) { + // For animated gif support + implementation("com.facebook.fresco:animated-gif:${reactAndroidLibs.versions.fresco.get()}") + } + + if (isWebpEnabled) { + // For webp support + implementation("com.facebook.fresco:webpsupport:${reactAndroidLibs.versions.fresco.get()}") + if (isWebpAnimatedEnabled) { + // Animated webp support + implementation("com.facebook.fresco:animated-webp:${reactAndroidLibs.versions.fresco.get()}") + } + } + + if (hermesEnabled.toBoolean()) { + implementation("com.facebook.react:hermes-android") + } else { + implementation jscFlavor + } +} + +if (rnVersion < versionToNumber(0, 75, 0)) { + apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim(), "../native_modules.gradle"); + applyNativeModulesAppBuildGradle(project) +} diff --git a/apps/mobile/android/app/debug.keystore b/apps/mobile/android/app/debug.keystore new file mode 100644 index 0000000000000000000000000000000000000000..364e105ed39fbfd62001429a68140672b06ec0de GIT binary patch literal 2257 zcmchYXEfYt8;7T1^dLH$VOTZ%2NOdOH5j5LYLtZ0q7x-V8_6gU5)#7dkq{HTmsfNq zB3ZqcAxeY^G10@?efK?Q&)M(qInVv!xjx+IKEL}p*K@LYvIzo#AZG>st5|P)KF1_Z;y){W{<7K{nl!CPuE z_^(!C(Ol0n8 zK13*rzAtW>(wULKPRYLd7G18F8#1P`V*9`(Poj26eOXYyBVZPno~Cvvhx7vPjAuZo zF?VD!zB~QG(!zbw#qsxT8%BSpqMZ4f70ZPn-3y$L8{EVbbN9$H`B&Z1quk9tgp5FM zuxp3pJ0b8u|3+#5bkJ4SRnCF2l7#DyLYXYY8*?OuAwK4E6J{0N=O3QNVzQ$L#FKkR zi-c@&!nDvezOV$i$Lr}iF$XEcwnybQ6WZrMKuw8gCL^U#D;q3t&HpTbqyD%vG=TeDlzCT~MXUPC|Leb-Uk+ z=vnMd(|>ld?Fh>V8poP;q;;nc@en$|rnP0ytzD&fFkCeUE^kG9Kx4wUh!!rpjwKDP zyw_e|a^x_w3E zP}}@$g>*LLJ4i0`Gx)qltL}@;mDv}D*xR^oeWcWdPkW@Uu)B^X&4W1$p6}ze!zudJ zyiLg@uggoMIArBr*27EZV7djDg@W1MaL+rcZ-lrANJQ%%>u8)ZMWU@R2qtnmG(acP z0d_^!t>}5W zpT`*2NR+0+SpTHb+6Js4b;%LJB;B_-ChhnU5py}iJtku*hm5F0!iql8Hrpcy1aYbT z1*dKC5ua6pMX@@iONI?Hpr%h;&YaXp9n!ND7-=a%BD7v&g zOO41M6EbE24mJ#S$Ui0-brR5ML%@|ndz^)YLMMV1atna{Fw<;TF@>d&F|!Z>8eg>>hkFrV)W+uv=`^F9^e zzzM2*oOjT9%gLoub%(R57p-`TXFe#oh1_{&N-YN z<}artH|m=d8TQuKSWE)Z%puU|g|^^NFwC#N=@dPhasyYjoy(fdEVfKR@cXKHZV-`06HsP`|Ftx;8(YD$fFXumLWbGnu$GMqRncXYY9mwz9$ap zQtfZB^_BeNYITh^hA7+(XNFox5WMeG_LtJ%*Q}$8VKDI_p8^pqX)}NMb`0e|wgF7D zuQACY_Ua<1ri{;Jwt@_1sW9zzdgnyh_O#8y+C;LcZq6=4e^cs6KvmK@$vVpKFGbQ= z$)Eux5C|Fx;Gtmv9^#Y-g@7Rt7*eLp5n!gJmn7&B_L$G?NCN`AP>cXQEz}%F%K;vUs{+l4Q{}eWW;ATe2 zqvXzxoIDy(u;F2q1JH7Sf;{jy_j})F+cKlIOmNfjBGHoG^CN zM|Ho&&X|L-36f}Q-obEACz`sI%2f&k>z5c$2TyTSj~vmO)BW~+N^kt`Jt@R|s!){H ze1_eCrlNaPkJQhL$WG&iRvF*YG=gXd1IyYQ9ew|iYn7r~g!wOnw;@n42>enAxBv*A zEmV*N#sxdicyNM=A4|yaOC5MByts}s_Hpfj|y<6G=o=!3S@eIFKDdpR7|FY>L&Wat&oW&cm&X~ z5Bt>Fcq(fgnvlvLSYg&o6>&fY`ODg4`V^lWWD=%oJ#Kbad2u~! zLECFS*??>|vDsNR&pH=Ze0Eo`sC_G`OjoEKVHY|wmwlX&(XBE<@sx3Hd^gtd-fNwUHsylg06p`U2y_={u}Bc + + + + + diff --git a/apps/mobile/android/app/src/main/AndroidManifest.xml b/apps/mobile/android/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..c6994b01 --- /dev/null +++ b/apps/mobile/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apps/mobile/android/app/src/main/java/ai/sixpm/app/MainActivity.kt b/apps/mobile/android/app/src/main/java/ai/sixpm/app/MainActivity.kt new file mode 100644 index 00000000..4e016eef --- /dev/null +++ b/apps/mobile/android/app/src/main/java/ai/sixpm/app/MainActivity.kt @@ -0,0 +1,61 @@ +package ai.sixpm.app + +import android.os.Build +import android.os.Bundle + +import com.facebook.react.ReactActivity +import com.facebook.react.ReactActivityDelegate +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled +import com.facebook.react.defaults.DefaultReactActivityDelegate + +import expo.modules.ReactActivityDelegateWrapper + +class MainActivity : ReactActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + // Set the theme to AppTheme BEFORE onCreate to support + // coloring the background, status bar, and navigation bar. + // This is required for expo-splash-screen. + setTheme(R.style.AppTheme); + super.onCreate(null) + } + + /** + * Returns the name of the main component registered from JavaScript. This is used to schedule + * rendering of the component. + */ + override fun getMainComponentName(): String = "main" + + /** + * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate] + * which allows you to enable New Architecture with a single boolean flags [fabricEnabled] + */ + override fun createReactActivityDelegate(): ReactActivityDelegate { + return ReactActivityDelegateWrapper( + this, + BuildConfig.IS_NEW_ARCHITECTURE_ENABLED, + object : DefaultReactActivityDelegate( + this, + mainComponentName, + fabricEnabled + ){}) + } + + /** + * Align the back button behavior with Android S + * where moving root activities to background instead of finishing activities. + * @see onBackPressed + */ + override fun invokeDefaultOnBackPressed() { + if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.R) { + if (!moveTaskToBack(false)) { + // For non-root activities, use the default implementation to finish them. + super.invokeDefaultOnBackPressed() + } + return + } + + // Use the default back button implementation on Android S + // because it's doing more than [Activity.moveTaskToBack] in fact. + super.invokeDefaultOnBackPressed() + } +} diff --git a/apps/mobile/android/app/src/main/java/ai/sixpm/app/MainApplication.kt b/apps/mobile/android/app/src/main/java/ai/sixpm/app/MainApplication.kt new file mode 100644 index 00000000..b1f45f23 --- /dev/null +++ b/apps/mobile/android/app/src/main/java/ai/sixpm/app/MainApplication.kt @@ -0,0 +1,55 @@ +package ai.sixpm.app + +import android.app.Application +import android.content.res.Configuration + +import com.facebook.react.PackageList +import com.facebook.react.ReactApplication +import com.facebook.react.ReactNativeHost +import com.facebook.react.ReactPackage +import com.facebook.react.ReactHost +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load +import com.facebook.react.defaults.DefaultReactNativeHost +import com.facebook.soloader.SoLoader + +import expo.modules.ApplicationLifecycleDispatcher +import expo.modules.ReactNativeHostWrapper + +class MainApplication : Application(), ReactApplication { + + override val reactNativeHost: ReactNativeHost = ReactNativeHostWrapper( + this, + object : DefaultReactNativeHost(this) { + override fun getPackages(): List { + // Packages that cannot be autolinked yet can be added manually here, for example: + // packages.add(new MyReactNativePackage()); + return PackageList(this).packages + } + + override fun getJSMainModuleName(): String = ".expo/.virtual-metro-entry" + + override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG + + override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED + override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED + } + ) + + override val reactHost: ReactHost + get() = ReactNativeHostWrapper.createReactHost(applicationContext, reactNativeHost) + + override fun onCreate() { + super.onCreate() + SoLoader.init(this, false) + if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { + // If you opted-in for the New Architecture, we load the native entry point for this app. + load() + } + ApplicationLifecycleDispatcher.onApplicationCreate(this) + } + + override fun onConfigurationChanged(newConfig: Configuration) { + super.onConfigurationChanged(newConfig) + ApplicationLifecycleDispatcher.onConfigurationChanged(this, newConfig) + } +} diff --git a/apps/mobile/android/app/src/main/res/drawable-hdpi/splashscreen_image.png b/apps/mobile/android/app/src/main/res/drawable-hdpi/splashscreen_image.png new file mode 100644 index 0000000000000000000000000000000000000000..547b261ac7278da575b689d5dafc9f0fe3b8d120 GIT binary patch literal 27632 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 literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/drawable-mdpi/splashscreen_image.png b/apps/mobile/android/app/src/main/res/drawable-mdpi/splashscreen_image.png new file mode 100644 index 0000000000000000000000000000000000000000..547b261ac7278da575b689d5dafc9f0fe3b8d120 GIT binary patch literal 27632 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 literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/drawable-xhdpi/splashscreen_image.png b/apps/mobile/android/app/src/main/res/drawable-xhdpi/splashscreen_image.png new file mode 100644 index 0000000000000000000000000000000000000000..547b261ac7278da575b689d5dafc9f0fe3b8d120 GIT binary patch literal 27632 zcmeHvdpy*6`}bFhc8R_3?wdli+rbJEVV&Ep?Yy*9R$`Q6DkG;MV@9_vPd`b8oK4-b zk`R-GVU#U7SI%J&W)j9>VvHFx&-IzH_wK%4&+C3(&tK2;yPw(D>`a;O_xrg%*Y&>M z*Xg6HN9^{k`CRRD48ztO*uTdC!&a@tu+QJEmV=)hegB0%hMg@tu;<&OVKNiXWMpb~ zeNlU7LJ%SROlSI-0bGK)KVOADnx3NfsP(Go!*F;7`tUx9-fONYppTRbGU&s2J9>A2 zDZNRm2q_|@t|8?JDOpORhBSOiQvzvjBux^f*)kLd(v(1&5=c`5X-XhX38X2(e|$3>&O{~%0>MPgg zW})G3ooZL~^i0vU4x`kW$C+W5bUMELKH}%Y(`rgT%T8OABzmO zDM6|dP=XXCpaiMoAb*f@2`E8I3ZMijDS#5BqyS2gk^)kKloUV-Qc?gVNJ#PCGeC|?wwljQH7_g8-0T-G zUJwPtA}f2V;w)nyn=~!YbypN?Z*ZRnTQqwb)l1$R4d@y0WO!v}X2Q}KHm%J59NV?~ zSoXw#ZOilLcP9qO8|9TWnuJSy$74ex?nnZqp@&MTfB*h8drz&QXGn<2KqEY?rN!=- zwlh!4%BWOo!fy`?er!-b3CBdrAN;7IqEhlG;A^dgn(ve}t=3i3M@L5me6naNklD1) zI6gEqv;=M}C@7einD8`8U5VX^jy&KmkGU&tunIGbQQCln(bLoWS&NZiPuk|wO4=G5 z8#{K|$46Ur`^i_GoyWJIeEJ0z6<#V?^6KTwyLmP8DkYD1g8pN)`g^GK+f*OhgceXK zTzVsj)iV10vVshjqRqe6r-aog=Btgqx|!{KLd{4szBYbpq6gOqJN-=LZj?F#SB5iF zeT-5MufPn)=eLw^fMYL?CJjTiG1RBuc%C}-rC_8bYpFEDnx8sdH90Xc(&IyERxqI5 zKqiZFURK2ac<|$O4fC|@eepRDo?8whET~pb57a9ASY$FUtGc~1Zna9N_xvl|VRW!$ zJr-rz2iwlDD9v!pW!EEf^p+XWg0jd$j`PWrinbZi^2**|0(;w~;Lgs@S-=d)xDs<$ z0enVTcEcSSmZ4uMC@2i|UzndL@(K?(7lgr;B~PB*2CMsIg>P-O=E9L3wrBR{bQ$bv zt)8AnL!M)!IZ3bwa1}<-GcaJ;F6D~8AO(WCBO|TV)z!m?f^*b93j;og0ZWW4r>O!1bHOtA$bY|GXMr zz{CrC^|o)nLSPswI^%GyFJJBjP;usp$krG}_{Wd8nlX%K|6s5Ah4-FzSv2k8nQv%> zmJFV6*2RzY(`>aXU(y%z>1jzxNwiOI52f1W%3xu(aktLNVS|wYBd?142m@mXMqGxY zedIPR;dD%GgvYW58BeOJz^>dz@tzpF(VnKNa;X5Jf$GSir5U`incgxpTvr=$_WXH$ zq=>PcWHBbD-PE`AC}K4ccl;99YTGeK>LUWXTnU%CT}&oEhFfQ-*wfwps-fYa+r_aQ zv7^zP_8u^m#iqBr{PayCpIvDiqtw5FL2hhp4F8yC4>x}N=-1iR#d)cY_XLn**wkgo z<`4b8c_5j-^_mwyJhPhl^pJ zYq;D`ZT74es<Z)vs!I)@FLGyJEHUsV%&Bem)c~ zUbB4h(YV0(zt(HmlD^{4Pbv_8L2NUdAllZKiojJ;a%*yOvhV4IO(6EY&#@XyPb&tc zEm!N+%}x7iGbhsrXe#V;NPjagRH-E;fOo=MvC>K3A*G9!bl1n%4Yd#^-<4YNMsfoO zYc2(_z_xG;FCPp{9M#2r29G_J=xK~$wwE^TyFSW@NT%Wkstqk|=8NMI(EECTX;SP- zvkA-6lN`j-FYMR=KA~+#G;GQm9gPTLHl-S>gV;ujyIUx>T38h2SBWf&xpw-j4{x$h zg<6AtQ#L5u3IdKhIRyy?Jjvc{uZvA0Sp8scxkyN9=qC(p@b1bla%)I6_9>y!G`#Dg zm2Fb?X+`d2wNhGxE!JQ)@qQAS@6Cjf*_Bg54WPHC>e?7(mWLMK=hTx7i;!*Otr7$Zc4ht`2;*o9u3Nby# zin{@f)Y8%@}Tky!+SBTI$5INwQRab zjDpv-qm9WyyxAn;`?Xri)H8t2#ShuxLLMt<_+=c12^=L}6^}Txa;n<$(`-@^aSKlH zUew?bzZ9$SO~A&cEXQ2C(P#2nO`KL_ZgPXz+|`Z69@>GQKD>F|25WF^g>|APZJU`H zz3rMxR2I72P|=($Bx0DbSRxg!?t12{nPKhk@Lh$jjbve~Xbavlh3T)$yq`q6N74 zbbq01NV+?d;~(0s)NEfBg9I*(D9@i+ad%5gril zHfizpLp;YYaj3gfs!WaLGY57mbE8Y%)J@ak8-tTh|~pMvn!B&%$7WBGgD7@#M^CelLS zj^dHc(wMzGHdu&Z1&EgRUDsG6qE}T_oumsV`)J|D_^P?%3?io&2{1oD|GaXzAxXD9 zaP%NaBR@ai+1a@s*ptL&k+#EMf%$?L`OqS3{<@$yK1XbKK4wzRYi2jI*`(76%LCr&ho71<9S z46&an;BjCxYAE)+Zh&at7t~rc=1m}&712rNIR3kQkf}PUzrX)=Ye&8l=edHxNDzg8 z5^^9QGH_~(@P(lmYE@MxN;>XP#JD~Wo{(iNn6B+%Fj_o~KEqzuA?J=#Iey$G5fbF^ z(7BJ};d32D%-#WE=wRL4`&a|-vuAa|&1^*+TT1v7u$d1f(iGdJB{mV0adT5$2_)~~ zr6B*IWVia@izc7|CBZ%L58;P+;nx(AfW3LT0Y%TD5p_yX(a*W_X4ot<8*-%H4&qwU2ct#Jd>C{q^-7ms%?6BNkv5(MDN2} z6EKW(9`Srl-w8LHOekf-13`NbMUo~aCs#4f0yxp$QPc$o@ydGm@ZkthH!RvKSu~j2 z9}5uwiCK>@bh3Q*#Nbls(DTbDD}r_6t!DQtX?$}d{E;MEkgRuByxz%*scOElTAYzG z_{D64F0L6!Pq9x&IMFK911?wPe8`UXK66Hg3Ph1HU&fEm&y%F4{i`SQ@A-OOif zw!d5CTz)xe>EfVW(Ae7?fpAJhBJq;R=75pTf`<=1BO)xJ(!y$pV*fED+)lPf)l=sr zo6UUx;($Mcw*IN3Yt=;)&?L%54HZ*Ebai#j3G9uii*6e^Q{EgE$hs8C4>!3k%RIqLKo^;EC3XU_t+euf$1B+9-F$Q-S?6rFm^sgQOX z$V;IqRuxCw0p5hn>)oM_r`=Rg-M$h_(fT{)?oS+)RY*MsLc9W!Tg7a~FLmNam4$=K zM){06_o&c$zUD5JmL`@=P`$Z+iWL$u#D1fEAkl85aks1?MiPlJ?>SJZT(9PXv-7$#rG%7Z&}o+4`GD9M=7P&(>JYCoX%=J(lY*S&#_j)#uvG3;{;K}r(#nr6hS@Zo(h!J*se%;_=7~F{cB*q=kR#>FhVu28PDu+!u_zu zF3V~?cE@H5w(HpKWNwZef!+7nGy`hx&CBaL!meRmKg0BXrD=vBMl>z@MXoL$-0}zo z%(0C>ub;bomtYPj3h{gNW!Np9ojXm|#q9-M zI;_9~;;VQ}tD62XzRmAHJer;OZItP`^XGHq#ENqT#rY}9Z81q{Wx)d^Esq%3wOaJE zjV3?oslX4Dbe$Zc-}wFwyR#jXXoBnm*F{wtQ(7JW^>eJIFle*^;L)dyE~+RzglvHk zd~7JW%gRiK;yL1+xI<9G2B={Z7EXmHp*UVT0u}(lu+W6k(o*mwq@y1jHZBWAw6R|U zIiRd~ztFAq-TN7aJ<@e858Q%b+!OE@Xy#vAmU)+@O6>Qcl~Cp_iz^p>tKZ*-BLCD3 zI(MLzB9IaOYyMh%ekAQjB*#IN<6t#a$Hjjs^N)mI9s9$B;qp7{VJ&Ev8zX(`>4)@8 zGKfK%gN*K;o_c>X&G=>Ex|7hRvA(nax*BeZ@=iqe{%J`J+nEi&$o8+z^g|u8yyhd_ zeyAJ%jR0`h|NfB@mB6Kcko^DRjg@bq{)28>>0d#J|5KT2tbtbH>@gcr;Bd1Ut7r0{ zjto1lFk)k+>i|~*cX;d{Rr=@s*Azak7ViIFuFt*;PW9BRqOj55EYnV6$NSLAYNGZg z8LfVO9d!{9@ZmpXeJslL473*iWS%=};KhEgLtLXO+d{zaOH2R03_gU0iLEG?!Hxj@ zG50RW&XgsH4~SnQ7mX2e0rwbN>~cVgCSQAfF~~*^88({aByn-9I|TAGSuDU7aMS@l znfGm1hz#3K2f=?gq6O$;W9Px~^S=E}8v*f24nQEgW0Y25gCxNEgB{3QpSi=+A#2N( ziyQ#D5pxRM-0prRPa%L%QK+!&j2^|^2SB=Sqbh@d)Y|V%@t3`_m`dHhrhM? zl7hOHh-{9E??6^*fyS9b^lw_*bqxF@tG{r(BGG8|G-K(xf#AE)%IYc5b1slqLrcq7 zChHUr0)@W18RHoJ`xn5geuf&FaE~CGJk5pO(_#0=ob^H-q9ggYWoc&G_F0G5ELQ)< z(nxt9Dz?`|1VOxQA53y`1I>u}8-24*DMp5o4oToIa!_7_%!u?MJGBIb-x!+S6-8j7 zM#A+CmbcZ!EebJ>8-dPZhXU3O_M^(&ueiAQFUyex46COS+wLwB%E~Y@2L#Onhu1)r zg&Gl2i^xo=t*pFf0pA?fiN>ayo<*aUb6&eU$_FKpu&Td-4NYT_bqoTsvVXCu!<#=y>@=ZP&zrtK?>m@$BP?Sh-*JB7Oe{C zZCkT5=CLd?BItVphm}{E&{I} zOKbMe-RjykdN=0y3c)?pQGnbyuO5}RlGFwq#hdEvXQZ}4aXJCY@{@khlr|FkT|P>_ zxOB3m$$F(2XV(p@7Ve5$5+mBSH`8bf?_5->Q6cC-e`_+ z-vyQ^up~U;Fw;5h_r@zUY>1m*SF}d5%aHg9)l*cl_52|^bwKi!2Mv>FfXT-np#+72 z2|4whxUQQ+S)6HlvqQRroH=n}|D9uWekDB}3ZQqW7Q}Wfp;QA@Bwok+{G|JpTG>mT z#825;%`hOj-2TfH|Mv%#m74qzcU?1bbB^MQ0zew7TMxy#5ocatSOjw2s`0L(+`XW& z>7h-Rj%QeM&p}h$?-MjfR$<-hu+&F=70c9S@4Po4u40V*iirLJegypn8i$yq9o`DT z9jjqL{G9mA3~%R{KQ~8D2U>jO6jwJas3dc9^Ez@4CBxSnpmfLz0No+j-cS4%3H8Xy zS|kvq!rs*8A}O(|269-pC9G+Es<<1P^67aU0pB#$Dr>EoFln{npA*j53MmfxsQ==Q zhY&q~4G9lD33=+1P{T(~f;RG^E$WEo_3$_>S!_Zdty%ojgr{kGj<>QcacAw&rCpQa z!WNpTqNFreTG$RmMBOfERj(k9pI=$EkU)ig^!<+Pc$+jxaCM=MJJ7t{wc>A>`xII= zv1cL_Vd!|n#(1khJy-6oJEoA!;Fdl*1x<7px1R$fi;HCj`1pi*db*QiW#M?>ME6W^ zzwD(G&;mpA7KF?G%L=M+$qz_Oi>XQT5dj22PQ&5c~JajpL63&7WuG9|qC>&hx8M*Wm^i$KI z7P-_vh?-$ge+oB3UEiZCZvVUET|UPi`2ZM=)0>Snl&DS!^mtT!ENon2Of9)(0kS8y zfHow;m+1ql+Dy%gyuY!^su}^zg-<_=na!LM56KeaF%?^9$RF@Fw= zs>17ldQ3q*aq3;j&=K{svw=XASs+)>yEHk5GL$Y2Xn+VEQm-PE_9Iq)#6^p7&;~j> zemtnta|l%XCOaMmRHG*=Lrs7QATW8|Aan4-c&oW~$DUYVPw~F)tbuZ3p7!Fjc2{9l zR*aTST9q$28d4r@{vE*x^7Ot#TB3zI&Zq&|oW2lCPpSF{b5G<9yVP&5z;+J3j2j33 zYOIdrm#BugCWB-?&^rSx7*ptfd8!U&KSDH2;_@cEA_ov?Ww3X}km9Z{q6<%;-Bq1K zUA`ehGyii;c-kfId&&}3v_-Ut6HTp;+uJkVl3@L znm`fkIT18J(IXCVlg^)GuQR}#{QI6}m6k@IIRGHN`01vG#m?4qrj5ZBsnA?|eVfi9 zTxW79BBGFIE5bpq>+L_GQ6ipv`?djOx597)6m5^O(K zAzuQ(7sNRnyi$7#UZlR$#jijhh7pB+(`+Dvr4Km%TvWjr1Z zRMY_#)8L>3OCL}NFQ_bAK^xF?5Wg#tD}i~L<*Y17zCfMKKd6&dC0>!_n^Fns8z&U{ z2BARlb1)hc-GJe(Cv=3y$Kyx#9n|4X$Jl0+p-!Y)+;e_5C>OQ?6XizqNQfaYa_C(j zul0k@7Md+MVlNn~vL4!fSz+&~=0QwjXB>HR`zaV4d>U($%%b5=OqdV3gsziYGjO7; ztv{rE_BK3ThB+to2!-m?3b76bS+CHAWNObOO}Ka#VgC~J17XhV!+|3h${`joiQ0~< z*1)2)%Kip#F#eiTl#AA|2;ThoEIiSGHa!X{X^cgtE!jrgA*~?;=U}4Dvt5P1jBCOy z+RwMO&L;G$z5p$MdYtGZZV7+a4LqtT)mSo*bcO_d)UC$ckSSTphN^AjGX>g zEQV{N%@+(?*u$H97pQ&4kH(UU9*?4K8{c_Xadk*21mfxk&kI19?1dJ8bE z7L5z~S_^!fKG}c2(Iehk<>LjIJ&T*dn0P_L*t^nvU;{)j!LF(w1K$7I z8q<#lz`oiP@P1EsKV%Atxmg#tq2U$AeTy!<3kF5B&g7T{E=BdO$wySV5HiZcu1w) z7u-=hgE;-C2Z~qa)`O+GaAbWHh`Ng}poeCllOqjR*J?lK7ftaI!coG5O_hNHX{`XD z>bU|u%1t{vm2$=_riJ`>UDdaNFn;F3Xulbm4l+!M)X|S%Ys#-6xO1we`r(++zLFB7 z&!>utNOK0Wzpl0anOld3%y1GT7kNAJ29jO|xR%Ez&=bH#nJkjOHJ__o%O5_AYaKtXwe;R;V`HEXjFb2akKP06Dbd%mVd7Q~Y6#@bjza&(8-jTE3%CLD z8Ay$8baZq)e0c47)!cIha)z-_3uIz9r`b^FWB^5pRc*3x2zc7b8I zFJW>Y2&NtLO4UT|mfcGm{5u6W?{C>i|NT^Wrd zA+*7~&la_UA+V!TvWHGy$4F&SM5v{kWI!Ck-9u@m0bLLX)gLMVvH1teTX@jRn170b zmb|eByLEO}2#50&@pv)K2kd}YuiXuEry!Fie22@pe9j_bD?syumyO(&YEZ8+!YrUcz{7B2GVPo{S^}Wy+FHtXm zLm_ZHhKEkCz{xKbwYoYhM)L%O+TA?#Xn2(YRg?N)O?buAU}(s@Sv|$ME%_4tNxXa| z=k8|P)u`?C`scr*kN-CsdH=4B`RAV7a=+}qVY5=YN7PQ2LJq^kvQ;{w2>z5C`!Ae(vs*u cn*S8*7G+c&7|L`YJnX>tc6$oHbN|Qx1nvwB^Z)<= literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/drawable-xxhdpi/splashscreen_image.png b/apps/mobile/android/app/src/main/res/drawable-xxhdpi/splashscreen_image.png new file mode 100644 index 0000000000000000000000000000000000000000..547b261ac7278da575b689d5dafc9f0fe3b8d120 GIT binary patch literal 27632 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 literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/drawable-xxxhdpi/splashscreen_image.png b/apps/mobile/android/app/src/main/res/drawable-xxxhdpi/splashscreen_image.png new file mode 100644 index 0000000000000000000000000000000000000000..547b261ac7278da575b689d5dafc9f0fe3b8d120 GIT binary patch literal 27632 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 literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/drawable/rn_edit_text_material.xml b/apps/mobile/android/app/src/main/res/drawable/rn_edit_text_material.xml new file mode 100644 index 00000000..5c25e728 --- /dev/null +++ b/apps/mobile/android/app/src/main/res/drawable/rn_edit_text_material.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + diff --git a/apps/mobile/android/app/src/main/res/drawable/splashscreen.xml b/apps/mobile/android/app/src/main/res/drawable/splashscreen.xml new file mode 100644 index 00000000..c8568e16 --- /dev/null +++ b/apps/mobile/android/app/src/main/res/drawable/splashscreen.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..3941bea9 --- /dev/null +++ b/apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 00000000..3941bea9 --- /dev/null +++ b/apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d546596f61a3182c85e31a5fcfad4ee17dcd96b9 GIT binary patch literal 3370 zcmc&%dpy(a`==CX(rn4Y5_1|!PH7G)nPfb)B{Iq!LZl)TIb=C(6CN>aNYoq~Jt3!Z zmOO~IOd@hVCFe8w-unIVdwu`<{`dXj(O+CNCWlJN!Fdk-qN@Q|+marVEqXc`ZL+MNoWszAp)B0nOZQ#4Qv#|tvy+s2B)Ryt`e zQ(V^Or1h4p$i8AOpTSv{RsBkki>qs{r4l^KNHBaC3kz(V!S3w(22=uJ6j*bpF(<)z0U;kt7rEIj%ugbCI@Q`%v(g(iz1Al7ah}@O!2nZC}2K8OI<7W(VrQLE>qZ*2+Bj-A<7h#9(b0>!*i>;{e1Uq_v&T15)$&GI-oIl%?@h||DUBBJT~ z+@PF~uP=xFQ1G3rNkS4@vzrU;oUX2>=6D6gq!vwaez6y!!`{=2 z%PP-HN)9pMcL!=h&#?RYK5h-852R>$4$@tpIs^nTK7GQ8Q@{Z{h^CBeSH&Yo_Cukg z?5GpJjvYUKyfxfXsnIF+^!xYG5^IYbi*ny7(dZi9y%g;D`PK`=@fP!IW9b@dY6iX9HBxGc=GitCKH3FS>h@LzcD3tEQ^_9F)6+k?iy}GM z7Iz2g_6)WHf4M#t(S3dTn6NdU3AWtR!1;6&S&`P0?F(PZ?<%-{OdY74sgfx`5dRXx zX7`LwUyZ<1*Q}Ii$*HNsE7jWyn6UEE3YFcvcL%PGB-xeS2}OH9G;n;sK)6y-EDWuM zgG8pDevoLt9U#+vGjYeZr}Xw%yoJ7lqa&#d_fY;kqRC-xo+c||@{^_t$?bIiJjJ^d zkfsXxq=WH@=8Ch{DCa$bGuJ>M^C|r|UD_BYi{HFKBFhR)k#RK(diY$pr>Ccnk531O zV`y)Glx`OBU}Uf{>So_t`nim=si?CsnRoA6+&o(Dl)9IQGx2fWYw}fRqPUE;4mP{4 zUieIFO%2b3)@d_66zcyxyuD6I*R8~@yXxO-B=hgA&vE<$S zVhwkiou3pGNG9Mhmvb%4yhr#+Qc}0Fva-+tizo@Lo6oAN({s3m_U(T=HKE{w$sc+5 zs`X|XnY!IDfnH|f2PQjP+*p)+_mY2r!I$D2u&u2v%mDhpgbyPw4r-<#_R;t1>uv;Y zt;#}wTZZ5<_;Dr3Z~ANF_&5qT-S;k~pg;u}sib%sD;mKa#GbUdldAbkMpc?xjspM5JVZK>WVFrrAB@$@kGyZmb)Y05R6~K{QkX{$|e`A+YG- z=_yAgu+EnU#-Cpqh&(#KwbBo3Bop_5M?oj;`*`Ur=dkz&rCII)j0v z+Nnf>-4p>_n8Ssla{mQ++zZYPGdVG=qO>5(kkK~XQ%XV7untPK7m-v{F;`Qfe}z)F zpa)D$q2XMH%ccBIGBWN05g1^h6s~5PlmNNT_v-KU=&Www7LHZ??GX8ikp+v8#(}n- z8y1mqLklDgh2guj?>|XOh69QbJ%q*p{AP(jm?z^Ff_(f-yK)jrUS3`m*h=MOl#C{cK=lg4UH8 z$fdXcb}lBu$BQd2x$Y*a>-R&7IydKqWr~1%jBXTR;@UY5dxKt=AIN|~#JQ72UC#8+6RndSb&D(4i9o_ixAt*`lqgQ_9U z1S0?_^R0sNE~le_7A-ID(aal54+-_1;zAqC?~b7#EGx^yAlAyF6!(F;M%j4D=q$k0 zQ+@Z-a$*qLqzS%y8dd`^^BiV;!iGxjK&jIq_4W16MK+nqX=x*A_xfsmNCPCPXO>DL zv@!q1MP)-pqh9}~O|!GA5~ps-=B@NShy~G^DKyl4{wxG4Lo?5wn4UJokn_#t>-moc z*1YlTA?FcT^XpTEFn$%ai>!5cltyvs38_3Eoj>jSvGZ%kEc5lf*!}(O|L1hr93mv- z^=s3AutrW^Fnr2c-3HMlt<=77r7BPk@ETAT;DSDcemh&Y|LyWuk6~}^pADZs!%tLi zs(THHz?K4PmZrMKCnpEY$pTS_@5Qwo{|*?P&~oY%!AYdcx4SAxH}b#{$F23H-sr83 z6%B1|6T7m83xA^xZEYjoyn)>NXF)F@AQ7M6iK0=#wz(~vVs0xxxIv}gaZpeqC>#L8 zlgg9o>UA9*2fYSGG+;3Q#1r-=$hhHKpoluUhuPibf2l(Dk;DxSUM%d|R}UU||4n&P zhzp}3-!me)9bdmvhtTL4Lv^|=-RudL`N3IT`O2$@KY!i=F3siR2d!&CBnL*4w$qrVN$N)d-YoRy_`=VHmU&U6 z`_tvpx8r~!C*YHbL?VC4Iw#~i`oMyNpI_qDN(~)D~#oqeqc< z5Rq%&H}os-&5W+j4K>gXI*oYK^Q}W%zOBP%EcV>!6d~O2}I~f_72D)kMWu@yX z_EnhMGk6h-?7~24^_KByJ-E@1@Y@G19r7Au^8|(@9t|$LU~Mhz>G{Vf!PQma?lh3h z;cnOT5in6`?n>H=E9@!{STgo5_Y*x%APu2gX>|G@UweA!`#BuWkN)cP(*9rx*2(BP zW-WkILd$hg6+4VdR}7xIF?~B^L-&}~%kRN?o$fnO8t;$>taZ~=5z4tHT;}JQIx!*P z|VmZ8q<=PXvVW!|B7k6PcW z3HV;ty*}-_#YIj218*^|uKc*q?kC?jHEH`!!WGO@zYoQp8SO2<3p7VmutQS~TI&ld zD~K9GlLe3@Jc+yuj-7*r<2S3>6PmGluW7%21&dJl2p)i!R{1!VRe8{c77ZH?G6WR) z!`Q;(*w{aNYoq~Jt3!Z zmOO~IOd@hVCFe8w-unIVdwu`<{`dXj(O+CNCWlJN!Fdk-qN@Q|+marVEqXc`ZL+MNoWszAp)B0nOZQ#4Qv#|tvy+s2B)Ryt`e zQ(V^Or1h4p$i8AOpTSv{RsBkki>qs{r4l^KNHBaC3kz(V!S3w(22=uJ6j*bpF(<)z0U;kt7rEIj%ugbCI@Q`%v(g(iz1Al7ah}@O!2nZC}2K8OI<7W(VrQLE>qZ*2+Bj-A<7h#9(b0>!*i>;{e1Uq_v&T15)$&GI-oIl%?@h||DUBBJT~ z+@PF~uP=xFQ1G3rNkS4@vzrU;oUX2>=6D6gq!vwaez6y!!`{=2 z%PP-HN)9pMcL!=h&#?RYK5h-852R>$4$@tpIs^nTK7GQ8Q@{Z{h^CBeSH&Yo_Cukg z?5GpJjvYUKyfxfXsnIF+^!xYG5^IYbi*ny7(dZi9y%g;D`PK`=@fP!IW9b@dY6iX9HBxGc=GitCKH3FS>h@LzcD3tEQ^_9F)6+k?iy}GM z7Iz2g_6)WHf4M#t(S3dTn6NdU3AWtR!1;6&S&`P0?F(PZ?<%-{OdY74sgfx`5dRXx zX7`LwUyZ<1*Q}Ii$*HNsE7jWyn6UEE3YFcvcL%PGB-xeS2}OH9G;n;sK)6y-EDWuM zgG8pDevoLt9U#+vGjYeZr}Xw%yoJ7lqa&#d_fY;kqRC-xo+c||@{^_t$?bIiJjJ^d zkfsXxq=WH@=8Ch{DCa$bGuJ>M^C|r|UD_BYi{HFKBFhR)k#RK(diY$pr>Ccnk531O zV`y)Glx`OBU}Uf{>So_t`nim=si?CsnRoA6+&o(Dl)9IQGx2fWYw}fRqPUE;4mP{4 zUieIFO%2b3)@d_66zcyxyuD6I*R8~@yXxO-B=hgA&vE<$S zVhwkiou3pGNG9Mhmvb%4yhr#+Qc}0Fva-+tizo@Lo6oAN({s3m_U(T=HKE{w$sc+5 zs`X|XnY!IDfnH|f2PQjP+*p)+_mY2r!I$D2u&u2v%mDhpgbyPw4r-<#_R;t1>uv;Y zt;#}wTZZ5<_;Dr3Z~ANF_&5qT-S;k~pg;u}sib%sD;mKa#GbUdldAbkMpc?xjspM5JVZK>WVFrrAB@$@kGyZmb)Y05R6~K{QkX{$|e`A+YG- z=_yAgu+EnU#-Cpqh&(#KwbBo3Bop_5M?oj;`*`Ur=dkz&rCII)j0v z+Nnf>-4p>_n8Ssla{mQ++zZYPGdVG=qO>5(kkK~XQ%XV7untPK7m-v{F;`Qfe}z)F zpa)D$q2XMH%ccBIGBWN05g1^h6s~5PlmNNT_v-KU=&Www7LHZ??GX8ikp+v8#(}n- z8y1mqLklDgh2guj?>|XOh69QbJ%q*p{AP(jm?z^Ff_(f-yK)jrUS3`m*h=MOl#C{cK=lg4UH8 z$fdXcb}lBu$BQd2x$Y*a>-R&7IydKqWr~1%jBXTR;@UY5dxKt=AIN|~#JQ72UC#8+6RndSb&D(4i9o_ixAt*`lqgQ_9U z1S0?_^R0sNE~le_7A-ID(aal54+-_1;zAqC?~b7#EGx^yAlAyF6!(F;M%j4D=q$k0 zQ+@Z-a$*qLqzS%y8dd`^^BiV;!iGxjK&jIq_4W16MK+nqX=x*A_xfsmNCPCPXO>DL zv@!q1MP)-pqh9}~O|!GA5~ps-=B@NShy~G^DKyl4{wxG4Lo?5wn4UJokn_#t>-moc z*1YlTA?FcT^XpTEFn$%ai>!5cltyvs38_3Eoj>jSvGZ%kEc5lf*!}(O|L1hr93mv- z^=s3AutrW^Fnr2c-3HMlt<=77r7BPk@ETAT;DSDcemh&Y|LyWuk6~}^pADZs!%tLi zs(THHz?K4PmZrMKCnpEY$pTS_@5Qwo{|*?P&~oY%!AYdcx4SAxH}b#{$F23H-sr83 z6%B1|6T7m83xA^xZEYjoyn)>NXF)F@AQ7M6iK0=#wz(~vVs0xxxIv}gaZpeqC>#L8 zlgg9o>UA9*2fYSGG+;3Q#1r-=$hhHKpoluUhuPibf2l(Dk;DxSUM%d|R}UU||4n&P zhzp}3-!me)9bdmvhtTL4Lv^|=-RudL`N3IT`O2$@KY!i=F3siR2d!&CBnL*4w$qrVN$N)d-YoRy_`=VHmU&U6 z`_tvpx8r~!C*YHbL?VC4Iw#~i`oMyNpI_qDN(~)D~#oqeqc< z5Rq%&H}os-&5W+j4K>gXI*oYK^Q}W%zOBP%EcV>!6d~O2}I~f_72D)kMWu@yX z_EnhMGk6h-?7~24^_KByJ-E@1@Y@G19r7Au^8|(@9t|$LU~Mhz>G{Vf!PQma?lh3h z;cnOT5in6`?n>H=E9@!{STgo5_Y*x%APu2gX>|G@UweA!`#BuWkN)cP(*9rx*2(BP zW-WkILd$hg6+4VdR}7xIF?~B^L-&}~%kRN?o$fnO8t;$>taZ~=5z4tHT;}JQIx!*P z|VmZ8q<=PXvVW!|B7k6PcW z3HV;ty*}-_#YIj218*^|uKc*q?kC?jHEH`!!WGO@zYoQp8SO2<3p7VmutQS~TI&ld zD~K9GlLe3@Jc+yuj-7*r<2S3>6PmGluW7%21&dJl2p)i!R{1!VRe8{c77ZH?G6WR) z!`Q;(*w{MEh}LkmW0z0^CCQO1xv=PP=|Tj7rnQ9z0r=~7+iuYMf0z`suk>1qP-MX zLQK7;la9*?^&eQ#$5_28UUNO|zu&*#gZ?7;Tru0M)}EE~k-*PKoR*YCrQuf$*LuYq zSg4mYwU(UDJyWBY74;q(!_*G-(ooqkwzvHJC*MIeU zc;5d2{t`V^!PPKpwo}d$)$2#?g{=8JyEC)$PLr12G~V4u+Tgj)^5ugI6)zm3o>(PE zc4#6Bcg0Qxc#9qg=21;X50F#pyl3b-jG@m}vu4b4;nKGCGyVsJjKm_c+I-+=+!ezb zA7P$Nb{LCxg0!z_e;VGU?ZfM>A{|I}*w~yTzGv^^q$dt3GS)VekN)yV(URiDh7{?B zt0dlV`tpMh-ua9;Mw6`HER3PibNaG`gm;HLc`2Bdw3~&Y*>?Kk!CCn}9WzCfsGob; zp5F~EewRr#W!k>RmlMxDHZzSDAJlD5yx(PnJ_+ZWPAf&<*hI+jh^B1?FtuKn=74uU z9Y^yay9N?Ay%8oo3@6Mvsl-nQ2YMCh_++!WEX)*la!Lz$wJgG9#ILq+h&w6e&BL=7 zm%Qa^zTi$A<4#O@bAf33SSdTM^Put;%N6Cn(Knn*(%A>20}CNnc*o}Q(Itic)zpSO zag?RJBoex$hU8OXM4vj9hq$sX!;m(3=vAKqG2wrtn5Er z%->k^_BKJGgt3mr#yUg`Q!xl5Gcyl2H)Ud?yu4h`+4(gV%iPk^GN&L%o10>_Nqg}J zv;mTDPADtiUS3}A%f6+dYIi-0d@=gHg+*%^p4a;%`o#-Q9mrEn<)HOi*CCN-YNzk^ z_5ue~wo@4Pf=`s?6x5@BoKka@3N~6BI6BsJb%`8?O<~?0Eng=6D&eKM`>1wKq27ti zxj!A*7P`@5uBDa0up>6LLa&Kyq{~NL18;sjpxU3S_y!oT;HNlGc(aC_J{pzRG(y9{ z^u5)ul1)oOV>Ur~?1n0XFC?s<1O$`{iq2?y_|XXUs3bZTSwj~1LRWo%e#V!Vl$f#5 zbPY|Pu0;|tTMqNrvd9nLqLU0Gey4N7EoPEL|D{Y%SE<9h8u+3n6`4wNf*Z z3$)!=!XzYWV(ndoY=XW!4-XG#)7RD20TX|wNcV3p6+Zh$3aZKopTvyBID3tf)i;h{P^)F(#z|hyPuueCr*nH*KPqQPle+%w0 zjEs!n)glSjlFo18mOFB<^IOM}?p|JjogC(v<qkBruHdNr?d3u z1T_oN>({ros*(cN{AS}eSmOyvFUSiO7Q_$U5!<{2xA${1lrA;|UrN&;(V6Sv!&6t3WWl0eEVj(ySr;?X<1ueZ(02)Dn6dh(P^UIvtRYt!^XzO*yVP=KTA|YJ)|uI zvHg?3sk~bAbh_W>4KBL<&{%DTJaon+$U8BPzn4M>3jAhUN$O%ZtAVjO^!+Mi#B;l~rx zdpkph%7;JF`GY2Xv7k`yiw1!UbZ^Q_b^n_De3ne^St2 zBj-hfIQ6?cnPjH{)#D1%dK0rtdxYY&-}&YeTrK4xk?4Q6}so^=H@0WD<$=)8@o2AU{)F*AFs0cp85tTu?CRlxGbKEr3~u2Ru&5?=!lRKg)LDp1$v4|3 za~1uI^b?(IMW4LVE7AshB1jK4lFSNt(p+IJnIjI!z!5wi5_$|ZGBKIIe)TXB($ujM z%e_a#Zs2ja5U_uaX>S!0w2-9$`N?kHRa_=>apc$;%p86gCor?Cdl< zlpT#l{+a$aWErND>(>i2xV>u%ljhZH5!t!NrJL5&6ruytN&>Y~#v>rGmsu62$#$3J z-ND?`VoIDXdr0A>qE9JTq@hM|&fWcuTO+qmHb4Fwc^a&f8+m$YyhK%Xv1Jfcdwx|K z($20*0ee57*tiD-7fM9;fQ7X2{w*T4(`+)@Nm404{1kO|z#=vkRt*Mh{)_!1N)4QRe3Eo}QWN8*dF=+N6uMC9~3z zrKXT>;x7jmmrwPcH??jW*A#M z0UDo>a9{rW_wP6tH#eO6Mzx^}^2WMhM#5l-BCrzl zAODUeusY#C|9~ajgE%45Uvu-^5(7752&~lLS!ouY!Pj%NB{^crXQftbYUhG%$VhTb zqKR@9Wz^7NynI=&be)nY$#GNaJJJZ6q<}3pHFrV2&PbZKV7vS1TT+2G8<1PwfcSf> z&k??SdP4M6L-zv$>Y&M;1sUI1d5AW>9lmh<`zIzgHWEqd1i|9^gnJ(82w&?LNbdNO z9KdEeK&N#}JqfH<#rln41xAgb`x+WC(4*ty;^9$BBJ+-RnqRO5n-K)>1!xaCI5BY} zE`-AR&ASG2ML^&M60)E#@4r~DTL5I9!LuIJ!|P)0Qd8VnzyYUo0ZHJL2+4seDJvIK zhR)Jn1c7BH&nW~JfiMn?WlI_;ugL)F#tu^`&jF>uc8bE)kN;RE1C9dTvF+|Ml|0qE z*<#8DI)UM_G10gP&wNTmPPJAtgdqm!;^DzY6ICjiMQ#LgDNOX8zXu|Lzder5r|`bX z5(?d4&pfl`=!nkb`|kyEp3jGixP#7{5!d2IL+>x83Zx5BQ~$vMc+>-PQAUu%FIlZ; zv94=q&?9s=15B!=3u$Q3fNPGR9UB4>F$EkLyv<4f@jZEUoM>mjOH)ak`yP0#o=?N6O77ngYrp zA@tO?qKh*E?=KW6FPpR;jZ^`i_LFHM zk-mp*_Zcsr_s04AxNo&lpu+J9dVw3Kg^K=`{Haom{GqFS_wRQf4CM!|Y)pf=xZ=nQ zaJ$w?uC@cs*ZC1mgYQm{R@T1N=`rj&ypiuwe8=s+DQ{fV(4Z9_9s|;+JV4_g_vbqO{QR(Y;jMA$f2QJ~#LXnLfIfDdH3)l2oy2g51RNQq zc)Y6S4|<@p_CPEdX;jqIWC?%=00mNsRs6{fn6%DkRvnDGdh0zWtV7r8Kw6CV6%%tC z>d&wER-U1!-m#m^3CH9}F{Z{zF`~>D!I9c!chX7g)q2>LqZZlPLjiP4ef8k~gs@J4 zmk+r_S%0A(_u&;5n+32fVOH^OI4@|*>-6MM&e2+6?>fO2|)=N%NrXFj@^2|`JSEG z%XY;jC0*#Hm6aNYP6iOUbiW{lSjy~otSwAdisF5|#|3$+Awniiw+y2(vvFM3;Ph=` zqS*STR}j5og8V-dn@%v47-Ps*r{~Ylt|+_dM+JSkibKfIgV}`elliL+q5EDOGjfay zvANg%Z=3?w9|r8ouWb8ec-UiabslMiF4)=Gaq;q!W3>%l;25)uYzbX&)Z*(FzjN6u z05rtX=#J20Yl75&4Grep@xKpw?y_)ugX*0+><{8L1RY*b>o$LuO(4GeYNR#oAtK_Z zl#rI!?aHoO#*$bv9o^B|*C9Z)hhes$c_))^ZdCg%I2DK?Mj7IwW!*>LEti!~`VZU& zWQcmMHlu;P1I4RWJh%oV3kWZuLPre70);YwETq(}uX|BbQ}-)xSOXj0C}2ImzU`E6 zJG_7O&yv>n$iIJ@nwm^swS5%P5_~=xIU~eT)}#cwLtD=^#>22wYe`XhDo6XTZ`=Il zQ{}T2Yc$z_@%?$qp5JPF=AWspYpETjIp>F)0oTV1F;&+g+Fq~-*JOZiNps;WGEf5U z_zzML8iEuf3q92_P4s(vK)j7J(c55O0BW19n`m5GWC7>l;rYE>UUjxJ8yYGkk*vV3 zC{HvX$>@Vxqr{XcgVpzb_+QKHm<};y zS68}AyCPz!uVE7f_NmHi7Rl^RB~Jsbofwf_qtA$ZHRzHi35)oat~+RtwayUhC?0%i z85eo;f+G~Mr?drCg-fGsl6Sivpu<$2P1_fLHmzZpmhTdpcb2y8V8EBo6&_UjvRtvt z*+je`n>M-oKJ#U}63M$IWcJCl?Ae^aycpt^+-#5q%*54fmelnSJ?GJNlgKBFa2x}r92h$5aC)!ORk=xNz!jNsOWUa6-$>}vxryAzLVBNCP>$1BnH}9&FWapUfD*pfeG_~{hoPqkQ=JwTgQ}9XcoQ|devQqs~ G^#1@)Lb8eg literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..c15ec4ae7bd01ba990a30dbe303f789f269811ed GIT binary patch literal 2153 zcmbuBYdlo@8pkP{;iv`^np}p>n4#lRHnNorYG$;@HFgsnB)JUbn%R*WmkfKPX53>K zX18sTj9foQ@x8pKb9qPFw#0u{*dO#` z=&=&3(7#OCW%=q^Wr8A1-J6S6qX?aN7yo4gO#K^f!eBrf>1Bk<7nXvV&a2PUU7mIC z+28#wIA5iTVTIOVsCw|;ho8(w6y-$N-i2cow|70zvJC~2M8fR)avr0Xrl7YB3t z-@QZT;?vk{LvJ4+MT*Q}RN#?ZJbg%dpa1UDGfNNK552EB$)bst4iQ<$eQa#3pt$%_ ze0*ME;i2cVN23g7ej1!vZG$Pb_6HsPMl^CgImC9^ISuI|__fB5^Viy4n{eE-=stnKJPo5;(!l+NNq}NL zy{~?}!nd9>H#a}kbiC8jZ<>ovPfy1^9El~mx@KP~C8rZ!cO=`3#p1;6^*Jx&gWNt4 zZx0*h=-AU-J8)HGzq4-UYPT%c)6*0Cyw>ZcE_PQ>sQ78V@PX%cSbNa)JCU0>k6+qY#ss$f4x zZEeJ5>)I14UUpi_hA5k;yTFu^NO#7HXf(J)a_;>X+W^gBT#Ik^y?ZJ^YQl1#hCBX= z_EP(%>EpJq@ZW$S`O8Po*TZ1w?dWST6VWQGHV_^nh?KjGo&Co8Jp6j)n%S8r?K(R z`FWHFUdI{Ib?^H#Yr>QR0^+62y=O0BPfod%3wYjndFoZ(Cb0vf)jlmzV)-jC9ys9p zD?nR-8)l;qd20E?9r5g~=2{mVw=GUsKQOQJc8;Fn4(ch4oK82P~WevBtSb zdO!4XOblJ&z(+NWd{e*aEVFjRbCCN0$eoH-bzE7$$O@@Bf3e-=K}bzuQ4wo0QtfhL zqL!yYdJyM0i$r=A@>ECF+B$MVxH3E7bVysf4@T81%||}p_$9Y_W4_{UM)caJ04-jZ z991^EB4=3S-Z1t`5;qO}(astTTSm3UF9r^ko+vgzEKO!+NE)xDJrr`=`MqhU^<#k;S@Kv=2e$d5&Qr2FuKB@(L) z#Xx^jyAJR|Re33?8CaA(MScW6$z-Ui8Bim@ZdA6|pVAAtz1T43q=NCM{5RT~q*rGako4K+GLf_hKN^1hg~5T-m}Q@YYyS2&Fm3FCVoSe^|{xK15s98SgMb zESQAfK-y zCksSZjayTPN9abmcs1)g`?UiT6Ca>B98Q70MWy!zqf96z@QKp{h+cETvML_U8XO$- z&+N_dmgvz=r=Wn_+uJ95`(|bg9=bC1p96EPZ*MLEpSZE3nKhrK8VieC+LK>b2Fzka z-QP8?j9s`IaKF2Z7*PVm&XMhk{HNMw86I{C*K|ixp=Sw%C{cHZ8(w9$b*Wtp%u!Hj zP9m?H0=`M?j%2gfqyqy3*F&G`1a_A@-T^7;gRsFS#BijMkzx;&4om+59%r1ZuuG<4 z{(yzuHw7!Jut$%5s>UU$0a&Bi=;NnPpDrjU5Td<|=vX%lLx4vj$+m_gRlXuoUH&zo?24a!qR`^#{k}$a5uG4{V|+ zgd!$$Zm{r}C43*(Vc4*JDQ5149dO@Nx5?vgxoSoP0d945_1Em|`sQYA6PEk?WaN{& zYgxe@hle!U7L~xgxn;}C))v3x7st|B1Bp{t0z_6@TQ|_Kjd{jot5l#!41b%vlk|dV z?^^M)>A!4mNb|4{Pw0&Ei>;4G&zRr66d9RaRfVqgZNd23bXr=7HY5HR zRjL_tWJH7H{}G;)RO0z?I|E87;l?k*=Z2V9!oo5yG)1Zy?Gf~Pftdj6Rm>NWLn~wd zN#$JG8ElD3=B?VX9@W%XSX=Wxd^mFK*fGYy^OOej60ncnaw0svWDTnxs0US8hMetw3KJ*2WaEObro_7DN|vL$I#eaGzo|H}Rc Z-fabGdZmEIN$3W@5HdJtf>SME``?#75kdd} literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..c15ec4ae7bd01ba990a30dbe303f789f269811ed GIT binary patch literal 2153 zcmbuBYdlo@8pkP{;iv`^np}p>n4#lRHnNorYG$;@HFgsnB)JUbn%R*WmkfKPX53>K zX18sTj9foQ@x8pKb9qPFw#0u{*dO#` z=&=&3(7#OCW%=q^Wr8A1-J6S6qX?aN7yo4gO#K^f!eBrf>1Bk<7nXvV&a2PUU7mIC z+28#wIA5iTVTIOVsCw|;ho8(w6y-$N-i2cow|70zvJC~2M8fR)avr0Xrl7YB3t z-@QZT;?vk{LvJ4+MT*Q}RN#?ZJbg%dpa1UDGfNNK552EB$)bst4iQ<$eQa#3pt$%_ ze0*ME;i2cVN23g7ej1!vZG$Pb_6HsPMl^CgImC9^ISuI|__fB5^Viy4n{eE-=stnKJPo5;(!l+NNq}NL zy{~?}!nd9>H#a}kbiC8jZ<>ovPfy1^9El~mx@KP~C8rZ!cO=`3#p1;6^*Jx&gWNt4 zZx0*h=-AU-J8)HGzq4-UYPT%c)6*0Cyw>ZcE_PQ>sQ78V@PX%cSbNa)JCU0>k6+qY#ss$f4x zZEeJ5>)I14UUpi_hA5k;yTFu^NO#7HXf(J)a_;>X+W^gBT#Ik^y?ZJ^YQl1#hCBX= z_EP(%>EpJq@ZW$S`O8Po*TZ1w?dWST6VWQGHV_^nh?KjGo&Co8Jp6j)n%S8r?K(R z`FWHFUdI{Ib?^H#Yr>QR0^+62y=O0BPfod%3wYjndFoZ(Cb0vf)jlmzV)-jC9ys9p zD?nR-8)l;qd20E?9r5g~=2{mVw=GUsKQOQJc8;Fn4(ch4oK82P~WevBtSb zdO!4XOblJ&z(+NWd{e*aEVFjRbCCN0$eoH-bzE7$$O@@Bf3e-=K}bzuQ4wo0QtfhL zqL!yYdJyM0i$r=A@>ECF+B$MVxH3E7bVysf4@T81%||}p_$9Y_W4_{UM)caJ04-jZ z991^EB4=3S-Z1t`5;qO}(astTTSm3UF9r^ko+vgzEKO!+NE)xDJrr`=`MqhU^<#k;S@Kv=2e$d5&Qr2FuKB@(L) z#Xx^jyAJR|Re33?8CaA(MScW6$z-Ui8Bim@ZdA6|pVAAtz1T43q=NCM{5RT~q*rGako4K+GLf_hKN^1hg~5T-m}Q@YYyS2&Fm3FCVoSe^|{xK15s98SgMb zESQAfK-y zCksSZjayTPN9abmcs1)g`?UiT6Ca>B98Q70MWy!zqf96z@QKp{h+cETvML_U8XO$- z&+N_dmgvz=r=Wn_+uJ95`(|bg9=bC1p96EPZ*MLEpSZE3nKhrK8VieC+LK>b2Fzka z-QP8?j9s`IaKF2Z7*PVm&XMhk{HNMw86I{C*K|ixp=Sw%C{cHZ8(w9$b*Wtp%u!Hj zP9m?H0=`M?j%2gfqyqy3*F&G`1a_A@-T^7;gRsFS#BijMkzx;&4om+59%r1ZuuG<4 z{(yzuHw7!Jut$%5s>UU$0a&Bi=;NnPpDrjU5Td<|=vX%lLx4vj$+m_gRlXuoUH&zo?24a!qR`^#{k}$a5uG4{V|+ zgd!$$Zm{r}C43*(Vc4*JDQ5149dO@Nx5?vgxoSoP0d945_1Em|`sQYA6PEk?WaN{& zYgxe@hle!U7L~xgxn;}C))v3x7st|B1Bp{t0z_6@TQ|_Kjd{jot5l#!41b%vlk|dV z?^^M)>A!4mNb|4{Pw0&Ei>;4G&zRr66d9RaRfVqgZNd23bXr=7HY5HR zRjL_tWJH7H{}G;)RO0z?I|E87;l?k*=Z2V9!oo5yG)1Zy?Gf~Pftdj6Rm>NWLn~wd zN#$JG8ElD3=B?VX9@W%XSX=Wxd^mFK*fGYy^OOej60ncnaw0svWDTnxs0US8hMetw3KJ*2WaEObro_7DN|vL$I#eaGzo|H}Rc Z-fabGdZmEIN$3W@5HdJtf>SME``?#75kdd} literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..78d9bdcc5fd3c6ed32d2c8d3abac60241e8d30c1 GIT binary patch literal 3253 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 b`*yk06>qD}!X<#~$QdI8vzvuT`|$q(hJr*f literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..7391e2882c0bfd3bae9fde9a563a66369f9f61f9 GIT binary patch literal 4525 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 D4-bF` literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..7391e2882c0bfd3bae9fde9a563a66369f9f61f9 GIT binary patch literal 4525 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 D4-bF` literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..5bc53940033fa52fd0fcc71380d15d4c55d6a2cd GIT binary patch literal 6700 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 literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..6bba82a27031da7bad8d374799b49191b31717db GIT binary patch literal 7476 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 vJ+AYl=q1(*f{+5)}&%QTjs7+`cm3Z0&^Ma@ literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..6bba82a27031da7bad8d374799b49191b31717db GIT binary patch literal 7476 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 vJ+AYl=q1(*f{+5)}&%QTjs7+`cm3Z0&^Ma@ literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..e5dc83ed92ffbc255966030f248fd0bfc1589bc9 GIT binary patch literal 10991 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 J96odFe*o9v|Cj&( literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/apps/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..779db2074f3ba62655a225596cc8cda6ab87ede4 GIT binary patch literal 10138 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 J96odFe*o9v|Cj&( literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/apps/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..96937e5e8af5d7c77e4ee76f4ba1887f8bf05573 GIT binary patch literal 14555 zcmZv@c|6qJ8#j(&M1vW`$UgQ+hGYnlv2R(*5?RJlQJG{bWQhhNCTmEytt4bgDaF`H zXjLki$QFgjuAXapzR&CR`{Q@dtK8;u&iR~kuI+ujudAdZHl{q>ySZ6dSa{6Mi1sWj ztToI(JCN{AkB!QWq~G5r6r zo3Y^OoVs*227Kwr*9O8bSsx(I7%0DF+mGm{%X`YajH7s>MYQed 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 literal 0 HcmV?d00001 diff --git a/apps/mobile/android/app/src/main/res/values-night/colors.xml b/apps/mobile/android/app/src/main/res/values-night/colors.xml new file mode 100644 index 00000000..3c05de5b --- /dev/null +++ b/apps/mobile/android/app/src/main/res/values-night/colors.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/mobile/android/app/src/main/res/values/colors.xml b/apps/mobile/android/app/src/main/res/values/colors.xml new file mode 100644 index 00000000..f387b901 --- /dev/null +++ b/apps/mobile/android/app/src/main/res/values/colors.xml @@ -0,0 +1,6 @@ + + #ffffff + #ffffff + #023c69 + #ffffff + \ No newline at end of file diff --git a/apps/mobile/android/app/src/main/res/values/strings.xml b/apps/mobile/android/app/src/main/res/values/strings.xml new file mode 100644 index 00000000..ad8eb44c --- /dev/null +++ b/apps/mobile/android/app/src/main/res/values/strings.xml @@ -0,0 +1,7 @@ + + 6pm + contain + false + automatic + 1.0.0 + \ No newline at end of file diff --git a/apps/mobile/android/app/src/main/res/values/styles.xml b/apps/mobile/android/app/src/main/res/values/styles.xml new file mode 100644 index 00000000..ab7cb49e --- /dev/null +++ b/apps/mobile/android/app/src/main/res/values/styles.xml @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/apps/mobile/android/build.gradle b/apps/mobile/android/build.gradle new file mode 100644 index 00000000..9ae2aca2 --- /dev/null +++ b/apps/mobile/android/build.gradle @@ -0,0 +1,45 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + ext { + buildToolsVersion = findProperty('android.buildToolsVersion') ?: '34.0.0' + minSdkVersion = Integer.parseInt(findProperty('android.minSdkVersion') ?: '23') + compileSdkVersion = Integer.parseInt(findProperty('android.compileSdkVersion') ?: '34') + targetSdkVersion = Integer.parseInt(findProperty('android.targetSdkVersion') ?: '34') + kotlinVersion = findProperty('android.kotlinVersion') ?: '1.9.23' + + ndkVersion = "26.1.10909125" + } + repositories { + google() + mavenCentral() + } + dependencies { + classpath('com.android.tools.build:gradle') + classpath('com.facebook.react:react-native-gradle-plugin') + classpath('org.jetbrains.kotlin:kotlin-gradle-plugin') + } +} + +apply plugin: "com.facebook.react.rootproject" + +allprojects { + repositories { + maven { + // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm + url(new File(['node', '--print', "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim(), '../android')) + } + maven { + // Android JSC is installed from npm + url(new File(['node', '--print', "require.resolve('jsc-android/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim(), '../dist')) + } + + google() + mavenCentral() + maven { url 'https://www.jitpack.io' } + } +} +// @generated begin expo-camera-import - expo prebuild (DO NOT MODIFY) sync-f244f4f3d8bf7229102e8f992b525b8602c74770 +def expoCameraMavenPath = new File(["node", "--print", "require.resolve('expo-camera/package.json')"].execute(null, rootDir).text.trim(), "../android/maven") +allprojects { repositories { maven { url(expoCameraMavenPath) } } } +// @generated end expo-camera-import \ No newline at end of file diff --git a/apps/mobile/android/gradle.properties b/apps/mobile/android/gradle.properties new file mode 100644 index 00000000..40220def --- /dev/null +++ b/apps/mobile/android/gradle.properties @@ -0,0 +1,59 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m +org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true + +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true + +# Enable AAPT2 PNG crunching +android.enablePngCrunchInReleaseBuilds=true + +# Use this property to specify which architecture you want to build. +# You can also override it from the CLI using +# ./gradlew -PreactNativeArchitectures=x86_64 +reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 + +# Use this property to enable support to the new architecture. +# This will allow you to use TurboModules and the Fabric render in +# your application. You should enable this flag either if you want +# to write custom TurboModules/Fabric components OR use libraries that +# are providing them. +newArchEnabled=false + +# Use this property to enable or disable the Hermes JS engine. +# If set to false, you will be using JSC instead. +hermesEnabled=true + +# Enable GIF support in React Native images (~200 B increase) +expo.gif.enabled=true +# Enable webp support in React Native images (~85 KB increase) +expo.webp.enabled=true +# Enable animated webp support (~3.4 MB increase) +# Disabled by default because iOS doesn't support animated webp +expo.webp.animated=false + +# Enable network inspector +EX_DEV_CLIENT_NETWORK_INSPECTOR=true + +# Use legacy packaging to compress native libraries in the resulting APK. +expo.useLegacyPackaging=false diff --git a/apps/mobile/android/gradle/wrapper/gradle-wrapper.jar b/apps/mobile/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..e6441136f3d4ba8a0da8d277868979cfbc8ad796 GIT binary patch literal 43453 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 yu?e%!_ptzGB|8GrCfu%p?(_ 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
NnX)EH+Nua)3Y(c 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 '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/apps/mobile/android/gradlew.bat b/apps/mobile/android/gradlew.bat new file mode 100644 index 00000000..7101f8e4 --- /dev/null +++ b/apps/mobile/android/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/apps/mobile/android/react-settings-plugin/build.gradle.kts b/apps/mobile/android/react-settings-plugin/build.gradle.kts new file mode 100644 index 00000000..b4f6668e --- /dev/null +++ b/apps/mobile/android/react-settings-plugin/build.gradle.kts @@ -0,0 +1,19 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + +plugins { + kotlin("jvm") version "1.9.24" + id("java-gradle-plugin") +} + +repositories { + mavenCentral() +} + +gradlePlugin { + plugins { + create("reactSettingsPlugin") { + id = "com.facebook.react.settings" + implementationClass = "expo.plugins.ReactSettingsPlugin" + } + } +} diff --git a/apps/mobile/android/react-settings-plugin/src/main/kotlin/expo/plugins/ReactSettingsPlugin.kt b/apps/mobile/android/react-settings-plugin/src/main/kotlin/expo/plugins/ReactSettingsPlugin.kt new file mode 100644 index 00000000..c54f6c7a --- /dev/null +++ b/apps/mobile/android/react-settings-plugin/src/main/kotlin/expo/plugins/ReactSettingsPlugin.kt @@ -0,0 +1,10 @@ +package expo.plugins + +import org.gradle.api.Plugin +import org.gradle.api.initialization.Settings + +class ReactSettingsPlugin : Plugin { + override fun apply(settings: Settings) { + // Do nothing, just register the plugin. + } +} diff --git a/apps/mobile/android/sentry.properties b/apps/mobile/android/sentry.properties new file mode 100644 index 00000000..f5974608 --- /dev/null +++ b/apps/mobile/android/sentry.properties @@ -0,0 +1,4 @@ +defaults.url=https://sentry.io/ +defaults.org=get6pm +defaults.project=6pm-mobile +# Using SENTRY_AUTH_TOKEN environment variable \ No newline at end of file diff --git a/apps/mobile/android/settings.gradle b/apps/mobile/android/settings.gradle new file mode 100644 index 00000000..91c22d2b --- /dev/null +++ b/apps/mobile/android/settings.gradle @@ -0,0 +1,66 @@ +pluginManagement { + def version = providers.exec { + commandLine("node", "-e", "console.log(require('react-native/package.json').version);") + }.standardOutput.asText.get().trim() + def (_, reactNativeMinor, reactNativePatch) = version.split("-")[0].tokenize('.').collect { it.toInteger() } + + includeBuild(new File(["node", "--print", "require.resolve('@react-native/gradle-plugin/package.json')"].execute(null, rootDir).text.trim()).getParentFile().toString()) + if(reactNativeMinor == 74 && reactNativePatch <= 3){ + includeBuild("react-settings-plugin") + } +} + +plugins { id("com.facebook.react.settings") } + +def getRNMinorVersion() { + def version = providers.exec { + commandLine("node", "-e", "console.log(require('react-native/package.json').version);") + }.standardOutput.asText.get().trim() + + def coreVersion = version.split("-")[0] + def (major, minor, patch) = coreVersion.tokenize('.').collect { it.toInteger() } + + return minor +} + +if (getRNMinorVersion() >= 75) { + extensions.configure(com.facebook.react.ReactSettingsExtension) { ex -> + if (System.getenv('EXPO_UNSTABLE_CORE_AUTOLINKING') == '1') { + println('\u001B[32mUsing expo-modules-autolinking as core autolinking source\u001B[0m') + def command = [ + 'node', + '--no-warnings', + '--eval', + 'require(require.resolve(\'expo-modules-autolinking\', { paths: [require.resolve(\'expo/package.json\')] }))(process.argv.slice(1))', + 'react-native-config', + '--json', + '--platform', + 'android' + ].toList() + ex.autolinkLibrariesFromCommand(command) + } else { + ex.autolinkLibrariesFromCommand() + } + } +} + +rootProject.name = '6pm' + +dependencyResolutionManagement { + versionCatalogs { + reactAndroidLibs { + from(files(new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim(), "../gradle/libs.versions.toml"))) + } + } +} + +apply from: new File(["node", "--print", "require.resolve('expo/package.json')"].execute(null, rootDir).text.trim(), "../scripts/autolinking.gradle"); +useExpoModules() + +if (getRNMinorVersion() < 75) { + apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim(), "../native_modules.gradle"); + applyNativeModulesSettingsGradle(settings) +} + +include ':app' +includeBuild(new File(["node", "--print", "require.resolve('@react-native/gradle-plugin/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim()).getParentFile()) diff --git a/apps/mobile/app.json b/apps/mobile/app.json index 5b01e549..d1e4e09f 100644 --- a/apps/mobile/app.json +++ b/apps/mobile/app.json @@ -29,8 +29,11 @@ }, "permissions": [ "android.permission.CAMERA", - "android.permission.RECORD_AUDIO" - ] + "android.permission.RECORD_AUDIO", + "android.permission.USE_BIOMETRIC", + "android.permission.USE_FINGERPRINT" + ], + "package": "ai.sixpm.app" }, "web": { "bundler": "metro", @@ -79,9 +82,7 @@ } }, "owner": "sixpm", - "runtimeVersion": { - "policy": "appVersion" - }, + "runtimeVersion": "1.0.0", "updates": { "url": "https://u.expo.dev/5853e031-3bfb-41fe-bfb6-c49f746c4adc" } diff --git a/apps/mobile/app/(app)/(tabs)/_layout.tsx b/apps/mobile/app/(app)/(tabs)/_layout.tsx index f4790af5..2f47aca4 100644 --- a/apps/mobile/app/(app)/(tabs)/_layout.tsx +++ b/apps/mobile/app/(app)/(tabs)/_layout.tsx @@ -18,12 +18,15 @@ import { import { usePostHog } from 'posthog-react-native' import { useEffect } from 'react' import { View, useWindowDimensions } from 'react-native' +import Purchases from 'react-native-purchases' +import { useSafeAreaInsets } from 'react-native-safe-area-context' export default function TabLayout() { const { colorScheme } = useColorScheme() const { i18n } = useLingui() const { user } = useUser() const { width } = useWindowDimensions() + const { bottom } = useSafeAreaInsets() const posthog = usePostHog() @@ -35,6 +38,7 @@ export default function TabLayout() { email: user?.emailAddresses?.[0]?.emailAddress, name: user?.fullName, }) + Purchases.logIn(user.id) }, [user, posthog]) return ( @@ -50,7 +54,7 @@ export default function TabLayout() { backgroundColor: theme[colorScheme ?? 'light'].background, borderColor: theme[colorScheme ?? 'light'].border, borderTopColor: theme[colorScheme ?? 'light'].border, - bottom: 36, + bottom: bottom ? 36 : 16, marginHorizontal: (width - (8 * 5 + 48 * 4 + 16)) / 2, paddingVertical: 0, paddingBottom: 0, diff --git a/apps/mobile/app/(app)/(tabs)/settings.tsx b/apps/mobile/app/(app)/(tabs)/settings.tsx index 81a26bbb..9e33b574 100644 --- a/apps/mobile/app/(app)/(tabs)/settings.tsx +++ b/apps/mobile/app/(app)/(tabs)/settings.tsx @@ -12,6 +12,7 @@ import { Badge } from '@/components/ui/badge' import { Button } from '@/components/ui/button' import { Switch } from '@/components/ui/switch' import { Text } from '@/components/ui/text' +import { useUserEntitlements } from '@/hooks/use-purchases' import { useScheduleNotification } from '@/hooks/use-schedule-notification' import { useSeed } from '@/hooks/use-seed' import { useColorScheme } from '@/hooks/useColorScheme' @@ -65,6 +66,7 @@ export default function SettingsScreen() { useUserSettingsStore() const { startSeed } = useSeed() const { draftTransactions } = useTransactionStore() + const { isPro } = useUserEntitlements() async function handleCopyVersion() { const fullVersion = `${Application.nativeApplicationVersion} - ${Updates.updateId ?? 'Embedded'}` @@ -94,19 +96,21 @@ export default function SettingsScreen() { className="bg-card" > - - - + {!isPro && ( + + + + )} {t(i18n)`General`} diff --git a/apps/mobile/app/(app)/paywall.tsx b/apps/mobile/app/(app)/paywall.tsx index 52a5249d..9d776605 100644 --- a/apps/mobile/app/(app)/paywall.tsx +++ b/apps/mobile/app/(app)/paywall.tsx @@ -1,23 +1,32 @@ import { AmountFormat } from '@/components/common/amount-format' import { Marquee } from '@/components/common/marquee' +import { toast } from '@/components/common/toast' import { PaywallIllustration } from '@/components/svg-assets/paywall-illustration' import { Button } from '@/components/ui/button' import { Tabs, TabsList, TabsTrigger } from '@/components/ui/tabs' import { Text } from '@/components/ui/text' +import { usePurchasesPackages } from '@/hooks/use-purchases' +import { cn } from '@/lib/utils' import { t } from '@lingui/macro' import { useLingui } from '@lingui/react' +import { useMutation } from '@tanstack/react-query' import { BlurView } from 'expo-blur' -import { Link } from 'expo-router' +import { Link, useRouter } from 'expo-router' import { CheckCircleIcon } from 'lucide-react-native' import { cssInterop } from 'nativewind' import { useState } from 'react' import { + ActivityIndicator, + Alert, Image, type ImageSourcePropType, Pressable, ScrollView, + TouchableOpacity, View, } from 'react-native' +import type { PurchasesPackage } from 'react-native-purchases' +import Purchases from 'react-native-purchases' cssInterop(BlurView, { className: { @@ -50,9 +59,94 @@ function FeatureCard({ source, title, className }: FeatureCardProps) { ) } +function PackageCard({ + data, + selected, + onSelect, +}: { data: PurchasesPackage; selected: boolean; onSelect?: () => void }) { + const { i18n } = useLingui() + + const isAnnual = data.identifier.includes('annually') + + return ( + + {isAnnual && ( + + + {t(i18n)`Best value`} + + + )} + + {isAnnual ? 12 : 1} + + {t(i18n)`months`} + + + + + ) +} + export default function PaywallScreen() { const { i18n } = useLingui() const [plan, setPlan] = useState<'growth' | 'wealth'>('growth') + const [duration, setDuration] = useState<'monthly' | 'annually'>('annually') + const { data } = usePurchasesPackages() + const router = useRouter() + const { mutateAsync, isPending } = useMutation({ + mutationFn: Purchases.purchasePackage, + onSuccess() { + router.back() + toast.success(t(i18n)`Thank you! You have unlocked 6pm Pro!`) + }, + }) + const { mutateAsync: mutateRestore, isPending: isRestoring } = useMutation({ + mutationFn: Purchases.restorePurchases, + onSuccess(result) { + if (Object.keys(result.entitlements.active).length) { + toast.success(t(i18n)`Purchases restored successfully!`) + router.back() + Purchases.syncPurchases() + } else { + Alert.alert(t(i18n)`No active subscriptions found`) + } + }, + onError(error) { + toast.error(error.message) + }, + }) + const selectedPackage = data?.find( + (i) => i.identifier === `rc_${plan}_${duration}`, + ) const proFeatures = [ { @@ -88,86 +182,105 @@ export default function PaywallScreen() { ], } + const handlePurchases = async () => { + if (!selectedPackage) { + return + } + await mutateAsync(selectedPackage) + } + return ( - - - {t(i18n)`Complete control over your finances`} - - - - {proFeatures.map((item, index) => ( - - ))} - - - { - setPlan(value as 'growth' | 'wealth') - }} + + - - - {t(i18n)`Growth`} - - - {t(i18n)`Wealth`} - - - - - {plans[plan].map((item) => ( - - - {item} - - ))} - - - - - 1 - - month - - + + {t(i18n)`Complete control over your finances`} + + + + {proFeatures.map((item, index) => ( + + ))} - - - - - {t(i18n)`Best value`} + + { + setPlan(value as 'growth' | 'wealth') + }} + > + + + {t(i18n)`Growth`} + + + {t(i18n)`Wealth`} + + + + + {plans[plan].map((item) => ( + + + {item} + + ))} + + + {data + ?.filter((i) => i.identifier?.includes(plan)) + ?.map((pkg) => ( + { + setDuration( + pkg.identifier.includes('annually') + ? 'annually' + : 'monthly', + ) + }} + /> + ))} + + + + mutateRestore()}> + + {t(i18n)`Restore purchases`} - - - 12 - - months + + + + {t(i18n)`Privacy policy`} - + + + + + {isPending || + (isRestoring && ( + + - - - - - - Privacy Policy - - - - + ))} + ) } diff --git a/apps/mobile/assets/images/adaptive-icon.png b/apps/mobile/assets/images/adaptive-icon.png index e7239dede401b149cbc28395a35fba25ca5d4a22..2689d780c1a1c0aba6ae7bb94bfbc7af47b9b12a 100644 GIT binary patch literal 17989 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
    @XU5sESW62Bf8FPyfM<>O)b?hl^L4d=ZNwmdR81 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 literal 29400 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%0AlsOcAiFf4YLgzj19K>AG;@^y8Y<8^rn2k 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 diff --git a/apps/mobile/assets/images/partial-react-logo.png b/apps/mobile/assets/images/partial-react-logo.png deleted file mode 100644 index 66fd9570e4fac42bca15352def191c563100b2ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5075 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 diff --git a/apps/mobile/assets/images/react-logo.png b/apps/mobile/assets/images/react-logo.png deleted file mode 100644 index 9d72a9ffcbb39d89709073e1a7edd8ba414932c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6341 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

    OG^bt6yG2??7FhdGVc8feK}syBta)V!iG4 z$o~}bbGxD?6+AO}7P4*(*#J^GW z9_q>8Eq;Hka`bWFJJ%Lk_JRyqHy%QW!vrbc#vTN_7xup-MPxx}bGFo<>R09sVXFq; z*-c&#_0?|+RtwVnv?#8lm;9?HeTfC+;kEA|F+0%a*l@e@$^`h6KGHZ~?C#dWphSVe z?5GxyUmXw>mDjMOHvvDbmtB~a|ET_yy>BG~;IN5Q5X(K(7k?A3e-B@Qx@HsNy8k2C zO=ky@0aChPw3mgOK0N4Mv1gU&Zx}9@^6g$mC`Ka({;Fkf!r~Ejg^uvLnd#yHL)dj< z481P*i!BQB$8Zn zL~s0*lU~BBX()P+kJxl~7NIOK0?Q5UoRh2fUf1H%zy{8$h57uNglAO#l-$f+)QTp}end<^6IKni zco8izU7nz|UyRSRF`Thh+)-7>uE~vZ)CNE8Z0WUzsP`^iP#}@0BHc6ao=;a}@9KR4 zQL!QM{>5yT7NzMnVCgm6Fv-YIImyo>mMEHPEiw5jjTxZT58@+c~h$e zn{y0aZ;T3mR@r>vunq@(2&=F^oE5hEwXjX}2xI@Jm@|KeDr_G(V;y8Gdm3Zkha@2k zV=LMB>?G?%Bx}~O3@w&K_GI6eOo=RGr_hvSY!gcMeK+Ghdf(r^f57+mbDirt=eh55 zKj(h#&!?^vIjpVRqJ21$pk1AGcxn+X?5#9iEG~wC)e$!cb_ExzJz;gF8ti`#xQ!i& z=n)Cu68cnr--wkF0AgV*+=|M+-7I6X<2I`dGN+CdD=>tPto(6RDy!eleHJrO=ryWe zP+B-3rDuEjzAReiwJP1D)h-7Wa^yhtfA`2EOx!dUWg)+T+kL?gjWUU=ew65n&jn()fTo!A~n z5s0U>W&|I#Y479?%*ex5bmGt~RnofnS9FK;VMxh@UMNi_TbFz^oXusdnpAncdI~s# zwxEN`0G&9u#@#;!DFlZbEb19$Bjk!?Ow3UV>T-qVmj_e*T=Aps}!g zphm9YZmD;F0G}4NML2KgM_$XsMDP0+AB2(?YYM>7DO;Q6drs-UYq+jwpTrJ+xx#$O zLX<*7)dc`01)U^)T~H-$&ntfPOp1s1vJcx%&;LY+mAUEUl}+Wnu*;UPtd-uyPm4@6 z;2f}SXEuoPTo#ABC7G(cLLkWtVPu}WE#Zm4!@-L>7z4wTE#S}JB=W2_e5v@8UhY}| zKG|pNLY?W2YMPtOyhFZFe)%^_S~TmiMkndt6NKY?U^C1Ldd=f;`AV{5a zW~zeq87hi+P1VHU##D>*V}{ujJ{am!o!}2k`KElHB4hwoIlgvD3g5h?yw8sd+~B!5 za9o$N4u^s=lHFGPnf?Jqf94)JPhS;v>gysDtVvy3;fwbWeL-TUBvD_3ruW`T#EU&! z-%@GHZg?31d-G~CBXWHOudzgBftgb(Q8GEZg%x(BM5h1 zP7F%-{1{t>;0*ZszWw6AuH&X}hr<_d6nl1JoUnb=8n|#;YXa$J$K>vl&-(3S?dthI zsD1RcSiIMmmLg4h&q>DVPqze;Vs$YdkNQ{d^%_m#@0aW2Hp$&%1fDplnWVduG%~S5 zJY}5pIc`VLDV}S;c60?NSJ4MgXRE3FE_2lfNLGm^SM#oa%?C;j_%ZY;!%XHAD@e^q zFumT^ru(T;$aWY>mj|AYfV1DU-ysiJWi*<#Q3#DN>$wik|3Wx%c;eo^I`zG3NH?-W zRWf!^kUs7KkRV(nU zwr0?1(|lA5N&3}p!_nxE2U3c+M;pW+ANdao1;uJx!(L`XnaTkgexNXbrbsjKE1p(P zTXkXTLNIt~H;q87g`AU`3*RC;kg^IfTrnMm0YbGP5?2TXsx)bURF5A79nl(Z_E6js zu6hHo4*&*wFmS7%=gizPD7=!6!4CA=6)pPHBG`>#66)}k=jXetwfhR^*BOk)(FUI; z%bt5Vy7yB1>KmnFedBp!Xdj9=LoAiOljB~99PlL%5RhV^e{TzHUrcv7Mkp8r4j!hM zPb7JS4o`%+YUsb|a&F2i3LN~La%kA^PifV;Lwwus&PcTFqqX4PL}Yw3{;A&VBiZ|P zuWi7&jSBmQOVDCGgTvD;sb9;igzleE*x4K53jTr5J=Qu;^3?i#Q%Q7+!T!mJo3dCZUJ1#3tL1VOo-)9 z^YNAQV9A@OVwdbDK$(x=0cowNr3y=IZwd1fM^6eI^wVSx2jvo5?Sl16KaOjvOF2g)8B7SMFwNxga(Iokp_V!L z;MSfYEu^XUSOvEJ<%^r1*YP70J-HT2BnE-#piw@H>=4X!`$do5*a|v{vK6Iq^2PGszUO zM;ku)a^ZDS4)V?7pXxd3PA8%9@*5HnA1-7V*)*X+T+B$j7{N|A9p6axoA8h zH6j__w6dL!IM%yr);1J} zPy)!QmDO|yd;d@r&qW62JR1t@#M^w96MyX%j!Bciv}F6lZNDWm-g=WM1?qXe1zGR0 z>d0MAoxHR0bAh-25U4qk0oshMC!8SzzC&9!->VXS>vsC1Gj$gN->etKgH@ z+)QJ_wKO#Yf(mkavnu@&W96&}cM#j&&iB4TZ{8*%6a5!~Wa`!55N*B)Q^0&u?pf%R z>{=$n!hc4W>w@x8qxi2j0}}%I^tK9Ju!bf?KC2G@abtE2VfuQreNoQ`Itdj)9Dgo@ z`L|v5ayVtiIsW)N$0Rmq)*wJSgHuJ9Qeedhp%63SRLeWJ?~UXQ|3)voZp~!5;dsfo zs($cS06+-NcP&RPe+Y!V_%lm~&zo$!GBI~qamR7>TUClVdjH|-R_@T*Wu~S1o!!IG z^ZpRC@Xg#xPrnJe&itKNz4lEIHuRN{$Ot#@*xg?jvORoK=Na!g@WKgf8stGf$k$K6 zoR0zjPzYIP2wRu^tM0Eq#y7OBvG|%vev4LI%`P?cHVlElpeiU1`Hvt zT?rA{X7YmC(e5AEZM_GQEaMwH66hTy>_=@ok1|WBZWPh%+Q?7>95oYz4Sj6`9npS~ z6TSU$u=wTO=KV|m>`LMn*Y~guvjhmN^ttZVyWlpXAe~u<^?UD*cXDu84#`QSgtH^M zBKpUg{SNE+l%N1?uIduxd*!$8fgyJ_@@=K+7-rHn&uXGLC&;M;r3^=QySl)~p~vO1 z`=mzavNRjL>}4S{eyI&l%&KQlVsRQS%(7q6il+`DRFE`Q$6!U+j1oQ0}|cfZ4u2ZW1cnRJd*Yvu`YYF6keq$Xk#zF2TAE zVyF7zOLmtMtJvIj31Qf8L8MD3tj`GDv}?(VV31q!kb@d{CQKM2Ae|Bsi}i;j4XPv! zcf!>+$U&-$+NccOIHKRIy4dMMwZKs9eFzKWX#$#9Dv*Vn*0gi7qf`$+ z!QLFdJE&4CX`y!jFJ_?vZ-#bEWMSpVu~M?V7Gtxt(>u$0G`qpQLt!$YKFfVqFO2b{_V5DR8*~<+0)p z_e)adVsYEN#jbu>HGgvCrg79C>ApJ_s^dtw?4CII;iO$saoni_&4{+Ig84rmDe=mq z2Y%W6wYC<>uMm`zuWa}ogrQ)^JT+@Vi5T{4?{zxTjO)Ck%kE&9s3)&TfhU6XbZ!^U zHzTQIjF%|#dd(DG>dZt+7GE`>;XB+pwAF+9zuO*9LTz$H9fsp}Ua@HwX5U0T{>m8c zB&&(J{yyCbd!=jHkM_NC#w3KSJbLstyidNH|BNh#9guyMJw2IKPkyh#S@uq1(p0t* zTg|RUOBE&;QqD~AU@q#@b?$l}T$AK+G`iNrX`p7t(8_jfzqE6dev|0lwRY4RhAH&M zBqUmuVXYa+4q0q0)u>_sruz}0**XC0HcMx&UK739Dz)kpxVknZTaocDJ+016Jo_S_ zWr~@D<@)!6*K{Q)bQdm4`L)E|_7MPS@?$*BEX^|2eu)=ZEVL3^7N_IZ>0V7s{yXWt zx8PhKC&Z{UEAO1H)Qi0x|5hFX#^HeZ=A~Z?fKqX8>wK~8al?hmj3=5C6lsnm~52kxJ2i0xylXd^+jSxV-w&8W%`u`^<0J>~bmTIU|gl5U7TNJ4j(*vutZ6@ZSQFjVfg;DaSMy-P0-d5x8?N`st?lg<*xA_k? zUgA~Cs+R5+x4)lsY5ZvAma#5K3!TZs43&__=lUCGje9eaY;1u*Fl~w)r(4pQUi$m+^TdamwMYu^RRzo-@N$$ jyN2=qx*-4dokl1mV_EiUnZ^KVCD|=41I-!@$LRk6Gg55#86_tbQNmw>fCNDSMUrGm2LVxn zfS?44B1k?2;gH!Lxc6YYQ1qE|4qg!1t7@qN zP#R0Qcbgah`~55Gs(O9|i-QCNfCn^ZIURmxx1kF!TcU=I!R2ZcauSc=K~525uqOay z^kK+}j+cl4o_N&B2;oWP0UewT2%-Cf44%LrYIMj+4c`$j9B2o4%fWjG5)bg910Nm{ zJHTTH9v|_^19Sv@f`rc=k${L#knjl-Vh8vH37;S#c7RWi@Cgz=L4uBePmu5l5)u&c z2@*a*LhJyaAmI}v#18NY5vYo< z=hOUgKhBGNdV6m(mq0H2)z`!qJ;AP46H71Ba}!T_;b?Qr91d%i?)~eH-1FK|J&!bg zvw}kMG@sr3^yjv6xP)TLN3ZA+`&Jdz{~?!W6oUGfjMz`o>z#WC;(aO?f`+a)V7nJq zx|f&V{w#l?^T^h6$y=()sIsJ{3Tu*cw_hv=nI4)3V2Wb|1nV6!1#>T zk&~0lDJ!$ynR5;t`TF(i&W?O$<2tU8lEtfjcmMpjZ*EHPjH&QX|DuSDjEw53m>VCo zqzhvgin$%?lZ8x%cXl4FuC9JtS5=xFX#4PCY~OFZAy9dB2!u)_J-1WwK!0D zLLLTGtP^LeY(Bl!ClVBkqcqsnn|OIf2W?~Xf|;y?17y8|K9Z$l#}EAdcfX9`q)liQ zRyYdTo*JdF2Mg^vurB=IVd zX{EE#@87>=X%sYCFzW(s4}F(MPWW#wmL?E^{3ISSpl55xj&6Mz#1ZsSl4=JI{BwC?8BIf0*e?LxHT(6c~_({}qMl$cey+bA22+tMQB~=fLCXxAxWtwNfwpM6Azv_zT zY_QK$IABr!Tgk0qCxaBSIzlPuYAvcds`i$N^={?yRCYmb6fpe@$_d>nXfej^G*FZl zR7@t^D39H^swU-D9_G<^Ld1|@7{%Nii)BGdrr1TSf()TeMxR$3JeS+ z0HWh?1j{imZz1PM72QyDkV%!RiwmDm1RHqj2G=4g(oQnzp+0C9ik`emRUY-v?L4~} zvhO@2WBmO5VVk$4=##BmV(3s{z3Ijrz&vwTuRf^}OA)qIB*^ZL3`L6!b=t0yOrF>D zK8ln^Q==(I)n7oYM7_y>x#lzgGY^ru8rO)FXp+eBnkIAaO&k(06?1X~?X9+r3czP6 zpXcoT0Wi%zI7lq@n66L_Bq1q^rRI<#@*b>qw-%rY+F!7s1tCK#16u%d%A~@Pr>Mrx zRy)r=bKgfhxzMDlGM8A0g8!hM69j6X&}XtcS<| z`V%77>`rHfN`)6EGJB@&J6!c4j=uZp=r*@7|}iV2xWYzI5Zp4eh+r($ebbBonKE00jV)9+1Nq zqf)3kr+3E>RTcJDf~n^v&z~I}7+?i}y9JsuTE9S_THVdfEiU#-(@x@2Z*y}q0YFRf zLkrC88E?EvrTIpaf`<0c-cJXKLqQGUOB zm0besZa3e{Qc}iwDi7Snj@C-U$^QH(3Ra4imroV?qb4;`DAXzjg=5DTAFY_L!Se+j2mVvAK+ zy9_`L49anaHPR)V%*(U0WL9$Eq*G)g?0QGHih)?#b%f1#JkWQcOCCp_bc!!0Cx-z1 zJVi#RV&(Mh&9z`R%cu~yIx#V>t2Ai`P9@@shS`>~;=55d0(iweGhy_S-FK!1Jn7I+ zluOBYqZtl9w9&RM6gPgm8^f)9(yeg`dpYe*OR+e!!E*0zneuKKbb`Qc#mJO|;O=Nv zk(lD({RQ|&8%TUG%rBcWgohXKrM(@@iBRbaVVch0tH+ITe6Mto$Ljy&Kc{hDN+L z^KkFiR9WV}vxJeXT)@<0X%Y~pp#i{I7_G-=*$iVyvEz-!-U^0PHo^(on>F2m!a+NE z!S6QQbrV-=U{nTRjgE+bC)7g^LBU=<+jD5=#a0=g#jcQ=&G(cdEyESc%ock;SaV(l ztxE@=pU$-fAKT+^gUb^axY-|MWQ;kaij(_IV1oXL>zLu=-gZ#f=zsF~k$tVt(nBGW zN+Qq`0R1v+vfay)(RyNas!fyFV`zVWJh-?bV(L|1#>3p9x;viEBh_LcWM<)6P$eno zF+`!lAJ@v4aMB0Oy$tp+;4x^~+Vb1m&OE$h>izZBV@e0xHFpT&1VADUhFI!KufJ~m z#^E%cB)t5Cl(vBd{qpgnN1FHNl7DP|cZ0$yv7h>ZmNn1HI zKS`2wc`XAfje%H;oKU3<`b&?BqGF(qyjUE&1imCUD?IWhR#woQigzU(?XJ>+)GN?f zNap5^*%TG)b;`m?Euy8zo|5H{`Zlbm`>iyQ=GfV)p&cB~fDpU6W0{i;m{px)5i;hi zI48EUFphi5F`YpfxO8hnnkF{BjvIzf575k z8o^M&FZuDPba~%PF75G?9$su9KNDJAqQLh^C*2r| z)90$Z=HBLaL1%Vh=C6P`_c_)_gHlwWiw7>Y)los%RLycokZLG!TEHTzaXamhOVZt$ z4Wz0<#XS@pVZ4)JsiLHP6M7?aTd;0t$Ht%~Si;+uPMF&~&Y=ctgtk7fTyq@o<;lVU&*y zc*Cqc>!zd@*-80LJ58;0nu*1BY^?HDxbg$zk%0BCWqP;{WQ^y-%e0)_%1oG={a)^U zo&Fc%}zy4O$@Y8Bg*OP?Umi{U)9)ZQRjMcz2|yHz}lyL)gf``K2gw*_)dF& zx%LY<9P2M9i(TXX_X$u1NB0xRo7mxUE6v!1n}fw{%ZkTM=WATM&?_c__ zwzB4sbR>(=f-Izz5*6V;Jx($4MFBVBse@vK(ma}d8LZ6uF>3VHUdlVY2QqhmJCxTp zG&BG(&v!HjL5D*gLn$g$a?##NIp|8|^4Bi@E%O&ik-W>a5ktFUxC13eOBgDS`dpNg z-|wY1;#BYxbwms_aIcsG7;%0P)u+01CN56g~OV~kD!e{c{j^ZIhCpb8w z+2OS|HzL%V9b93UMI=r*T9%T5egv={_Iuo)`1yid^=V;Wp34FWn7NOrZf^07wHg|F zV91axdP1ci0|Dho7|e6C`BSm3Pqak+D>R2G{vH|(YYV~Es{|sty=-7$&~NG39>LS8 z5APNj6w`n#VMJQLAOeGsO&D>33WtXcOwmOUD|(TW6C>2Da`ITNNK3sJNj!!fqxLN2?!?0eI>J=K+sDd5^c~ zdH?IB%0(8z*@r&9^Zho!bL#h8U+?n0d-n)Ie)MsF$JhJeuy93W4v(W({10#ZUtA9N zx3s7O&?$-Z9PaPU(Le#qBIu;>I9eqS=lmO=Bzw*+x+KBLC^rIV5T% zo#yuTT*|Mp->XDG$UDR&dhQ|4HG`NSGvWp8gW^nsYK^VlgDYL2^T zVPVm4>Fg|c+z<2Y{18#u!1y>fKPY&qK^uOA)5WKmpv@nZyX0w~h;of&Bmv4*wx3Fy8oSq)k8FH-x*55iP zD6{#Wr@cXb=g*%eI^nSVBQQA$~{4}K#JvKH5ggZs{-ka$}V}o$DFnd7I zjUpX_v12LBrU9#6N78OKi?y}&KhNs7XVP?{J)8$CZ_6~kHQQp$+^W){)VTNe!1=ja z&8=Tvb`Z)`bqCCx*Le~j9}icFpkicu?qq5Vb+SK^5Njx{eo*jUd-2}Y{`X!`az{xE zm%M&==_G@^AbjkDtsY-%gh<5w66Jgr4f}1j*ABpES6HR#Fe3VMMJ(ra zE_qWnbe|-lGIzEytZwFx-mSjSNZ9E(LzzC=G@MJcyQ5FEVh(%8rY5k-C@Gx;$9clw z>Xf$@xsR`}hMSuOz@F&~` zkXioDn))+2$rF-ieaX!|ADEsb)HO8hRrCe) z-#oZ~awk3i@tg{9AVHke;Ja0Pc8iK`n9XLSNWk-Va~P|m>ZTw2dhXW}0Iw^3mfjhb zWC=Ky1s^udWf=`vF+DBxUij9kyw|L(?gA?T4p=>dkR8YYhLGg14x&pPzi!0PJh{4! z-IZ=weViY^^d9tZLWxOWo?p11eTn5!To+7QUn`t5RapB7sSJs5zGl!v7ao40cXX6X z(!=X1mC{;#><3%}&Q~Yrt)@+1t`^b?vNH}3ax@kcq)e%(_6lZUjnMX$W&?D$!JKL=cm}hYC;ncRcEQSo4)cX!x$xt;Qg$wX1!O=OhG$y zc?fypC?zL1e*iUj25OK!pIkQ#a%6p~wiRbC-?~Z_0JA@1?C{b^&3RZ?pnX`Z4i=n8@?o;MY+g8mpwAdo3pxM7mXyuMMc^6 z_XSYHt%11FfmAAINF-^J5~{2trKhFVpv+#-fN9xHrWZnc%h&_gy;bf*cSv=s>n0Sw zhq9soSwje?aSyWjU*3fm|AhoAk^0{^k{+Xn3L&4w+=Wzo4yhh`)d)DGcEM06VVc6A z5U`~!p=Bg~Q_UW_6=wRa`_u$fs#kQN zon;bMszs$@C4)7dd2D1L3c(8Xd-uM5fN?teQw*o=$;$jiVR)3qNGfbc} zT&5v9CO_hHh1u>je){wY;-n=X_WIAYtqqIA*j4{V+_!Uggn1e!&`?X=2UHVHt(}Wv=^SY}8!TZvyiNyi37pVj_B3o6!$2Nr9(M{q@*xkG; z(UGl5m1Nzb5%Y-jS=VXhI~oeVd$8q|WcE6+hMdE^)g}TTk%dOQ<>U%#Oc9k46T8hP zR!EMq*m-FIsg&jD*x)_u_^w>7G%FjMKS4+U3lWI>+}S(%HeLFOICBm3_}+14+5OC> zQZ{a7w$s<2k$KcCzq{prxQ}c5rGy(|Y76VmbUIECQbx_x7aotx1t^^& zi;3lSBvwm{N-KzH>`Iev8}%JepEq0?8azh@AcVykraa|fHll^YL6Ed(@r+^Q$bcCqd#`vi;8x9Jp)|!7oaa`QPF@g>clca0=G*HhoW|2WbnqMv`b9D zy{>VJ(EdD5Mkwx(^U&ikwe3Em1{Q&>|Drdx<0rgE_2Rm`&*B3`|4kx*Nr5qGLXn1B zi77ojy?4A({9}P8vC_`0fr;C^p49}5)F?2qk1$uyzTQ`opo6rIs*?0*xsneS3Ro>p zF7XxIn41JZhNJ2p3fOO~b&&q}`RR$OuuzSi-Ytq+)%@P7GpX9%Ji})O0CY>`4T^49j+LcS=h@gP4DBI^#Rp+f2wh?m)x#CPu|X(=nJ`j=fn_Jtth1w8FM zJUrw~_e2q$mRD^o43I9lKu~w@5UP3*3M*)2*HiYE6kX%ayg;EnQVK`oCc%MY86N^0HMP9dBLt-M?fF=H)aLSWE;tFQYz z+>eP&wB_U8=}|Ea^!7z>E9@>FMnM3!JV>~L5odPbr2`JEh#^#J$Iu+kYFN8ZV3cJq z1)Naanaw0wx1PzstU*z#$RpAye>pbRFpISqO69aU`2AZjIxq9!-q|KuJvGY|vXKfW z1GuNnhj0icavnBy6@EVx4a^@-wZ#&zPtEp1(Di(wNkBtO+xA#`43UQmf@Ru~F#Yd^ z^Z;aOn?}y*hQ%r$B#XfvNA&6lJtR0T!PUOL8AE3Q_mZl2=1;{ic0Z@)aE;dB9%Y8K z(In6kNW3jeUuN6l3>eB#i8Bx*g_CgePv{S{QGX#}Fl-Ap_ccNHg;k zCc)b!oTsHEW#nlU(1*X*IhtY67cv9UP_vHvx{ISJENeISSxC!f8p0(dClbS@WY(k7jKPfW>D&N~V5)MPRa#|~ZF zJEHoVsG-{U;Gm(vULdY^+@-#Q4-f()gio+Pqgv9^1PkanT(+;WNPBt&CCktHl>eO`{RDUGG&u}9>-3fS=EvbtY#(|C_Y3ltlM_n&CatQsvXx=8`;e{|}4sA;GR~kZ^?u(Y6V#$8F?KK1fx- z;}Wd3;qmDBKZ>y(|3akb@h?PL9{)ll=I>vKq=%(GJn$WlHiYrQ!CMZJ0N}j?A3Bc8 zTYPwg~|M@exT7@bx3Uenjj5&paIMiR0@> neEo>8A7MPebC3V~{OX^9qZcX5OKaDVKzilkb@d`O%dr0fOzHWw literal 30838 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

    d4<5gc-5-M~Z~|PmcV! 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 a!A_q_{~#@XQ}!ofY|d!uYv!HA2mKF?q+baD diff --git a/apps/mobile/components/home/wallet-statistics.tsx b/apps/mobile/components/home/wallet-statistics.tsx index 2508b683..a34892d5 100644 --- a/apps/mobile/components/home/wallet-statistics.tsx +++ b/apps/mobile/components/home/wallet-statistics.tsx @@ -1,3 +1,4 @@ +import { useInitializePurchases } from '@/hooks/use-purchases' import { useTransactionList } from '@/stores/transaction/hooks' import { dayjsExtended } from '@6pm/utilities' import { t } from '@lingui/macro' @@ -40,6 +41,7 @@ export function WalletStatistics({ onCategoryChange, }: WalletStatisticsProps) { const { i18n } = useLingui() + useInitializePurchases() const timeRange = useMemo(() => { if (view === HomeView.SpentThisWeek || view === HomeView.RevenueThisWeek) { @@ -125,7 +127,7 @@ export function WalletStatistics({ // )} className="!border-0 h-auto native:h-auto flex-col items-center gap-3" > - + {options.find((option) => option.value === view)?.label} diff --git a/apps/mobile/components/setting/profile-card.tsx b/apps/mobile/components/setting/profile-card.tsx index e3baea6a..4f5911c8 100644 --- a/apps/mobile/components/setting/profile-card.tsx +++ b/apps/mobile/components/setting/profile-card.tsx @@ -1,5 +1,5 @@ import { useUser } from '@clerk/clerk-expo' -import { PencilIcon } from 'lucide-react-native' +import { CrownIcon, PencilIcon } from 'lucide-react-native' import { Dimensions, Pressable, View } from 'react-native' import { UserAvatar } from '../common/user-avatar' @@ -7,6 +7,9 @@ import { Badge } from '../ui/badge' import { Button } from '../ui/button' import { Text } from '../ui/text' +import { useUserEntitlements } from '@/hooks/use-purchases' +import { t } from '@lingui/macro' +import { useLingui } from '@lingui/react' import { Link } from 'expo-router' import Animated, { type SharedValue, @@ -146,7 +149,9 @@ export const DotsGrid = () => { } export function ProfileCard() { + const { i18n } = useLingui() const { user } = useUser() + const { isWealth, isGrowth, isPro } = useUserEntitlements() return ( @@ -160,8 +165,18 @@ export function ProfileCard() { {user?.fullName ?? user?.primaryEmailAddress?.emailAddress} - - Saver + + {isPro && } + + {isWealth + ? t(i18n)`Wealth` + : isGrowth + ? t(i18n)`Growth` + : t(i18n)`Saver`} + diff --git a/apps/mobile/components/setting/select-default-currency.tsx b/apps/mobile/components/setting/select-default-currency.tsx index 04e915f5..3c51ec94 100644 --- a/apps/mobile/components/setting/select-default-currency.tsx +++ b/apps/mobile/components/setting/select-default-currency.tsx @@ -1,9 +1,11 @@ +import { useUserEntitlements } from '@/hooks/use-purchases' import { sleep } from '@/lib/utils' import { useDefaultCurrency } from '@/stores/user-settings/hooks' import { useUserSettingsStore } from '@/stores/user-settings/store' import type { BottomSheetModal } from '@gorhom/bottom-sheet' import { t } from '@lingui/macro' import { useLingui } from '@lingui/react' +import { useRouter } from 'expo-router' import { ChevronRightIcon, CurrencyIcon } from 'lucide-react-native' import { useRef } from 'react' import { Keyboard, View } from 'react-native' @@ -16,6 +18,8 @@ export function SelectDefaultCurrency() { const { i18n } = useLingui() const sheetRef = useRef(null) const defaultCurrency = useDefaultCurrency() + const { isPro } = useUserEntitlements() + const router = useRouter() const setPreferredCurrency = useUserSettingsStore().setPreferredCurrency return ( <> @@ -23,6 +27,10 @@ export function SelectDefaultCurrency() { label={t(i18n)`Default currency`} icon={CurrencyIcon} onPress={() => { + if (!isPro) { + router.push('/paywall') + return + } Keyboard.dismiss() sheetRef.current?.present() }} diff --git a/apps/mobile/eas.json b/apps/mobile/eas.json index a9ac1d6a..91c35295 100644 --- a/apps/mobile/eas.json +++ b/apps/mobile/eas.json @@ -4,6 +4,13 @@ "appVersionSource": "remote" }, "build": { + "development-simulator": { + "developmentClient": true, + "distribution": "internal", + "ios": { + "simulator": true + } + }, "development": { "developmentClient": true, "distribution": "internal", diff --git a/apps/mobile/hooks/use-purchases.ts b/apps/mobile/hooks/use-purchases.ts new file mode 100644 index 00000000..d1b10894 --- /dev/null +++ b/apps/mobile/hooks/use-purchases.ts @@ -0,0 +1,51 @@ +import { toast } from '@/components/common/toast' +import { useQuery } from '@tanstack/react-query' +import { useEffect } from 'react' +import { Platform } from 'react-native' +import Purchases, { LOG_LEVEL } from 'react-native-purchases' + +export function useInitializePurchases() { + useEffect(() => { + Purchases.setLogLevel(LOG_LEVEL.VERBOSE) + + if (Platform.OS === 'ios') { + if (!process.env.EXPO_PUBLIC_REVENUECAT_PROJECT_IOS_API_KEY) { + toast.error('Missing RevenueCat API key') + } else { + Purchases.configure({ + apiKey: process.env.EXPO_PUBLIC_REVENUECAT_PROJECT_IOS_API_KEY, + }) + } + } + }, []) +} + +export function usePurchasesPackages() { + return useQuery({ + queryKey: ['offerings'], + queryFn: Purchases.getOfferings, + select: (state) => state.current?.availablePackages, + }) +} + +export function useUserEntitlements() { + const { data: customerInfo } = useQuery({ + queryKey: ['entitlements'], + queryFn: Purchases.getCustomerInfo, + }) + + const isWealth = !!customerInfo?.entitlements.active.wealth?.isActive + + const isGrowth = !!customerInfo?.entitlements.active.growth?.isActive + + console.log(customerInfo?.entitlements.active) + + const isPro = isWealth || isGrowth + + return { + customerInfo, + isWealth, + isGrowth, + isPro, + } +} diff --git a/apps/mobile/ios/.gitignore b/apps/mobile/ios/.gitignore new file mode 100644 index 00000000..8beb3443 --- /dev/null +++ b/apps/mobile/ios/.gitignore @@ -0,0 +1,30 @@ +# OSX +# +.DS_Store + +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate +project.xcworkspace +.xcode.env.local + +# Bundle artifacts +*.jsbundle + +# CocoaPods +/Pods/ diff --git a/apps/mobile/ios/.xcode.env b/apps/mobile/ios/.xcode.env new file mode 100644 index 00000000..3d5782c7 --- /dev/null +++ b/apps/mobile/ios/.xcode.env @@ -0,0 +1,11 @@ +# This `.xcode.env` file is versioned and is used to source the environment +# used when running script phases inside Xcode. +# To customize your local environment, you can create an `.xcode.env.local` +# file that is not versioned. + +# NODE_BINARY variable contains the PATH to the node executable. +# +# Customize the NODE_BINARY variable here. +# For example, to use nvm with brew, add the following line +# . "$(brew --prefix nvm)/nvm.sh" --no-use +export NODE_BINARY=$(command -v node) diff --git a/apps/mobile/ios/6pm.xcodeproj/project.pbxproj b/apps/mobile/ios/6pm.xcodeproj/project.pbxproj new file mode 100644 index 00000000..3009fa39 --- /dev/null +++ b/apps/mobile/ios/6pm.xcodeproj/project.pbxproj @@ -0,0 +1,598 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; + 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; + 3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */; }; + 8A85E42C2C874BD700E440E9 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A85E42B2C874BD700E440E9 /* StoreKit.framework */; }; + 96905EF65AED1B983A6B3ABC /* libPods-6pm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 58EEBF8E8E6FB1BC6CAF49B5 /* libPods-6pm.a */; }; + B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */; }; + BB2F792D24A3F905000567C9 /* Expo.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB2F792C24A3F905000567C9 /* Expo.plist */; }; + D7776E943EB34B66A98A6A2C /* noop-file.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B5A0026D5DB42999CBC28FE /* noop-file.swift */; }; + DEE1C0AF3858C12C88E3160B /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 82965772011B75850F546AE9 /* PrivacyInfo.xcprivacy */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 13B07F961A680F5B00A75B9A /* 6pm.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = 6pm.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = 6pm/AppDelegate.h; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = 6pm/AppDelegate.mm; sourceTree = ""; }; + 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = 6pm/Images.xcassets; sourceTree = ""; }; + 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = 6pm/Info.plist; sourceTree = ""; }; + 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = 6pm/main.m; sourceTree = ""; }; + 4540C642BA1A497BB5E0BF0B /* 6pm-Bridging-Header.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = "6pm-Bridging-Header.h"; path = "6pm/6pm-Bridging-Header.h"; sourceTree = ""; }; + 58EEBF8E8E6FB1BC6CAF49B5 /* libPods-6pm.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-6pm.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 6C2E3173556A471DD304B334 /* Pods-6pm.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-6pm.debug.xcconfig"; path = "Target Support Files/Pods-6pm/Pods-6pm.debug.xcconfig"; sourceTree = ""; }; + 7A4D352CD337FB3A3BF06240 /* Pods-6pm.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-6pm.release.xcconfig"; path = "Target Support Files/Pods-6pm/Pods-6pm.release.xcconfig"; sourceTree = ""; }; + 7B5A0026D5DB42999CBC28FE /* noop-file.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = "noop-file.swift"; path = "6pm/noop-file.swift"; sourceTree = ""; }; + 82965772011B75850F546AE9 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = 6pm/PrivacyInfo.xcprivacy; sourceTree = ""; }; + 8A85E42B2C874BD700E440E9 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; }; + AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = SplashScreen.storyboard; path = 6pm/SplashScreen.storyboard; sourceTree = ""; }; + BB2F792C24A3F905000567C9 /* Expo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Expo.plist; sourceTree = ""; }; + ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; + FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-6pm/ExpoModulesProvider.swift"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 96905EF65AED1B983A6B3ABC /* libPods-6pm.a in Frameworks */, + 8A85E42C2C874BD700E440E9 /* StoreKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 13B07FAE1A68108700A75B9A /* 6pm */ = { + isa = PBXGroup; + children = ( + BB2F792B24A3F905000567C9 /* Supporting */, + 13B07FAF1A68108700A75B9A /* AppDelegate.h */, + 13B07FB01A68108700A75B9A /* AppDelegate.mm */, + 13B07FB51A68108700A75B9A /* Images.xcassets */, + 13B07FB61A68108700A75B9A /* Info.plist */, + 13B07FB71A68108700A75B9A /* main.m */, + AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */, + 7B5A0026D5DB42999CBC28FE /* noop-file.swift */, + 4540C642BA1A497BB5E0BF0B /* 6pm-Bridging-Header.h */, + 82965772011B75850F546AE9 /* PrivacyInfo.xcprivacy */, + ); + name = 6pm; + sourceTree = ""; + }; + 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { + isa = PBXGroup; + children = ( + 8A85E42B2C874BD700E440E9 /* StoreKit.framework */, + ED297162215061F000B7C4FE /* JavaScriptCore.framework */, + 58EEBF8E8E6FB1BC6CAF49B5 /* libPods-6pm.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 832341AE1AAA6A7D00B99B32 /* Libraries */ = { + isa = PBXGroup; + children = ( + ); + name = Libraries; + sourceTree = ""; + }; + 83CBB9F61A601CBA00E9B192 = { + isa = PBXGroup; + children = ( + 13B07FAE1A68108700A75B9A /* 6pm */, + 832341AE1AAA6A7D00B99B32 /* Libraries */, + 83CBBA001A601CBA00E9B192 /* Products */, + 2D16E6871FA4F8E400B85C8A /* Frameworks */, + D65327D7A22EEC0BE12398D9 /* Pods */, + D7E4C46ADA2E9064B798F356 /* ExpoModulesProviders */, + ); + indentWidth = 2; + sourceTree = ""; + tabWidth = 2; + usesTabs = 0; + }; + 83CBBA001A601CBA00E9B192 /* Products */ = { + isa = PBXGroup; + children = ( + 13B07F961A680F5B00A75B9A /* 6pm.app */, + ); + name = Products; + sourceTree = ""; + }; + 92DBD88DE9BF7D494EA9DA96 /* 6pm */ = { + isa = PBXGroup; + children = ( + FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */, + ); + name = 6pm; + sourceTree = ""; + }; + BB2F792B24A3F905000567C9 /* Supporting */ = { + isa = PBXGroup; + children = ( + BB2F792C24A3F905000567C9 /* Expo.plist */, + ); + name = Supporting; + path = 6pm/Supporting; + sourceTree = ""; + }; + D65327D7A22EEC0BE12398D9 /* Pods */ = { + isa = PBXGroup; + children = ( + 6C2E3173556A471DD304B334 /* Pods-6pm.debug.xcconfig */, + 7A4D352CD337FB3A3BF06240 /* Pods-6pm.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + D7E4C46ADA2E9064B798F356 /* ExpoModulesProviders */ = { + isa = PBXGroup; + children = ( + 92DBD88DE9BF7D494EA9DA96 /* 6pm */, + ); + name = ExpoModulesProviders; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 13B07F861A680F5B00A75B9A /* 6pm */ = { + isa = PBXNativeTarget; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "6pm" */; + buildPhases = ( + 08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */, + C3FE542CBB0BB7C8652663AC /* [Expo] Configure project */, + 13B07F871A680F5B00A75B9A /* Sources */, + 13B07F8C1A680F5B00A75B9A /* Frameworks */, + 13B07F8E1A680F5B00A75B9A /* Resources */, + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + 800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */, + 22901B98E86A49B196B28594 /* Upload Debug Symbols to Sentry */, + AC07D97465426CB4FBB84585 /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = 6pm; + productName = 6pm; + productReference = 13B07F961A680F5B00A75B9A /* 6pm.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 83CBB9F71A601CBA00E9B192 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1130; + TargetAttributes = { + 13B07F861A680F5B00A75B9A = { + DevelopmentTeam = YFND2EEW8S; + LastSwiftMigration = 1250; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "6pm" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 83CBB9F61A601CBA00E9B192; + productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 13B07F861A680F5B00A75B9A /* 6pm */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 13B07F8E1A680F5B00A75B9A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BB2F792D24A3F905000567C9 /* Expo.plist in Resources */, + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, + 3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */, + DEE1C0AF3858C12C88E3160B /* PrivacyInfo.xcprivacy in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Bundle React Native code and images"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if [[ -f \"$PODS_ROOT/../.xcode.env\" ]]; then\n source \"$PODS_ROOT/../.xcode.env\"\nfi\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\n source \"$PODS_ROOT/../.xcode.env.local\"\nfi\n\n# The project root by default is one level up from the ios directory\nexport PROJECT_ROOT=\"$PROJECT_DIR\"/..\n\nif [[ \"$CONFIGURATION\" = *Debug* ]]; then\n export SKIP_BUNDLING=1\nfi\nif [[ -z \"$ENTRY_FILE\" ]]; then\n # Set the entry JS file using the bundler's entry resolution.\n export ENTRY_FILE=\"$(\"$NODE_BINARY\" -e \"require('expo/scripts/resolveAppEntry')\" \"$PROJECT_ROOT\" ios absolute | tail -n 1)\"\nfi\n\nif [[ -z \"$CLI_PATH\" ]]; then\n # Use Expo CLI\n export CLI_PATH=\"$(\"$NODE_BINARY\" --print \"require.resolve('@expo/cli', { paths: [require.resolve('expo/package.json')] })\")\"\nfi\nif [[ -z \"$BUNDLE_COMMAND\" ]]; then\n # Default Expo CLI command for bundling\n export BUNDLE_COMMAND=\"export:embed\"\nfi\n\n# Source .xcode.env.updates if it exists to allow\n# SKIP_BUNDLING to be unset if needed\nif [[ -f \"$PODS_ROOT/../.xcode.env.updates\" ]]; then\n source \"$PODS_ROOT/../.xcode.env.updates\"\nfi\n# Source local changes to allow overrides\n# if needed\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\n source \"$PODS_ROOT/../.xcode.env.local\"\nfi\n\n/bin/sh `\"$NODE_BINARY\" --print \"require('path').dirname(require.resolve('@sentry/react-native/package.json')) + '/scripts/sentry-xcode.sh'\"` `\"$NODE_BINARY\" --print \"require('path').dirname(require.resolve('react-native/package.json')) + '/scripts/react-native-xcode.sh'\"`\n\n"; + }; + 08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-6pm-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; + }; + 22901B98E86A49B196B28594 /* Upload Debug Symbols to Sentry */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Upload Debug Symbols to Sentry"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh `${NODE_BINARY:-node} --print \"require('path').dirname(require.resolve('@sentry/react-native/package.json')) + '/scripts/sentry-xcode-debug-files.sh'\"`"; + }; + 800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-6pm/Pods-6pm-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/EXApplication/ExpoApplication_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/EXConstants.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/ExpoConstants_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/EXNotifications/ExpoNotifications_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/EXUpdates/EXUpdates.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/ExpoDevice/ExpoDevice_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/ExpoFileSystem/ExpoFileSystem_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/ExpoLocalization/ExpoLocalization_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/ExpoSystemUI/ExpoSystemUI_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/PurchasesHybridCommon/PurchasesHybridCommon.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage/RNCAsyncStorage_resources.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift/ReachabilitySwift.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/RevenueCat/RevenueCat.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/Sentry/Sentry.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/expo-dev-launcher/EXDevLauncher.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/expo-dev-menu/EXDevMenu.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoApplication_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXConstants.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoConstants_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoNotifications_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXUpdates.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoDevice_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoFileSystem_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoLocalization_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoSystemUI_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/PurchasesHybridCommon.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNCAsyncStorage_resources.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ReachabilitySwift.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RevenueCat.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SDWebImage.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Sentry.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXDevLauncher.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXDevMenu.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-6pm/Pods-6pm-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + AC07D97465426CB4FBB84585 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-6pm/Pods-6pm-frameworks.sh", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-6pm/Pods-6pm-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + C3FE542CBB0BB7C8652663AC /* [Expo] Configure project */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "[Expo] Configure project"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-6pm/expo-configure-project.sh\"\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 13B07F871A680F5B00A75B9A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, + 13B07FC11A68108700A75B9A /* main.m in Sources */, + B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */, + D7776E943EB34B66A98A6A2C /* noop-file.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 13B07F941A680F5B00A75B9A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6C2E3173556A471DD304B334 /* Pods-6pm.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = 6pm/6pm.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = YFND2EEW8S; + ENABLE_BITCODE = NO; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "FB_SONARKIT_ENABLED=1", + ); + INFOPLIST_FILE = 6pm/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; + PRODUCT_BUNDLE_IDENTIFIER = ai.sixpm.app; + PRODUCT_NAME = "6pm"; + SWIFT_OBJC_BRIDGING_HEADER = "6pm/6pm-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 13B07F951A680F5B00A75B9A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7A4D352CD337FB3A3BF06240 /* Pods-6pm.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = 6pm/6pm.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = YFND2EEW8S; + INFOPLIST_FILE = 6pm/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE"; + PRODUCT_BUNDLE_IDENTIFIER = ai.sixpm.app; + PRODUCT_NAME = "6pm"; + SWIFT_OBJC_BRIDGING_HEADER = "6pm/6pm-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; + 83CBBA201A601CBA00E9B192 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CC = ""; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++20"; + 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_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + 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_IMPLICIT_RETAIN_SELF = 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_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CXX = ""; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + 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.4; + LD = ""; + LDPLUSPLUS = ""; + LD_RUNPATH_SEARCH_PATHS = ( + /usr/lib/swift, + "$(inherited)", + ); + LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift\"$(inherited)\""; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + OTHER_LDFLAGS = "$(inherited) "; + REACT_NATIVE_PATH = "${PODS_ROOT}/../../../../node_modules/react-native"; + SDKROOT = iphoneos; + USE_HERMES = true; + }; + name = Debug; + }; + 83CBBA211A601CBA00E9B192 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CC = ""; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++20"; + 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_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + 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_IMPLICIT_RETAIN_SELF = 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_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + CXX = ""; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + 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.4; + LD = ""; + LDPLUSPLUS = ""; + LD_RUNPATH_SEARCH_PATHS = ( + /usr/lib/swift, + "$(inherited)", + ); + LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift\"$(inherited)\""; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = "$(inherited) "; + REACT_NATIVE_PATH = "${PODS_ROOT}/../../../../node_modules/react-native"; + SDKROOT = iphoneos; + USE_HERMES = true; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "6pm" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 13B07F941A680F5B00A75B9A /* Debug */, + 13B07F951A680F5B00A75B9A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "6pm" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83CBBA201A601CBA00E9B192 /* Debug */, + 83CBBA211A601CBA00E9B192 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; +} diff --git a/apps/mobile/ios/6pm.xcodeproj/xcshareddata/xcschemes/6pm.xcscheme b/apps/mobile/ios/6pm.xcodeproj/xcshareddata/xcschemes/6pm.xcscheme new file mode 100644 index 00000000..5d15f932 --- /dev/null +++ b/apps/mobile/ios/6pm.xcodeproj/xcshareddata/xcschemes/6pm.xcscheme @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/mobile/ios/6pm.xcworkspace/contents.xcworkspacedata b/apps/mobile/ios/6pm.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..c4c2b2a2 --- /dev/null +++ b/apps/mobile/ios/6pm.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/apps/mobile/ios/6pm.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/apps/mobile/ios/6pm.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/apps/mobile/ios/6pm.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/apps/mobile/ios/6pm/6pm-Bridging-Header.h b/apps/mobile/ios/6pm/6pm-Bridging-Header.h new file mode 100644 index 00000000..e11d920b --- /dev/null +++ b/apps/mobile/ios/6pm/6pm-Bridging-Header.h @@ -0,0 +1,3 @@ +// +// Use this file to import your target's public headers that you would like to expose to Swift. +// diff --git a/apps/mobile/ios/6pm/6pm.entitlements b/apps/mobile/ios/6pm/6pm.entitlements new file mode 100644 index 00000000..3f2ea618 --- /dev/null +++ b/apps/mobile/ios/6pm/6pm.entitlements @@ -0,0 +1,12 @@ + + + + + aps-environment + development + com.apple.developer.applesignin + + Default + + + \ No newline at end of file diff --git a/apps/mobile/ios/6pm/AppDelegate.h b/apps/mobile/ios/6pm/AppDelegate.h new file mode 100644 index 00000000..1658a437 --- /dev/null +++ b/apps/mobile/ios/6pm/AppDelegate.h @@ -0,0 +1,7 @@ +#import +#import +#import + +@interface AppDelegate : EXAppDelegateWrapper + +@end diff --git a/apps/mobile/ios/6pm/AppDelegate.mm b/apps/mobile/ios/6pm/AppDelegate.mm new file mode 100644 index 00000000..b27f8328 --- /dev/null +++ b/apps/mobile/ios/6pm/AppDelegate.mm @@ -0,0 +1,62 @@ +#import "AppDelegate.h" + +#import +#import + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.moduleName = @"main"; + + // You can add your custom initial props in the dictionary below. + // They will be passed down to the ViewController used by React Native. + self.initialProps = @{}; + + return [super application:application didFinishLaunchingWithOptions:launchOptions]; +} + +- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge +{ + return [self bundleURL]; +} + +- (NSURL *)bundleURL +{ +#if DEBUG + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@".expo/.virtual-metro-entry"]; +#else + return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; +#endif +} + +// Linking API +- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary *)options { + return [super application:application openURL:url options:options] || [RCTLinkingManager application:application openURL:url options:options]; +} + +// Universal Links +- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray> * _Nullable))restorationHandler { + BOOL result = [RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler]; + return [super application:application continueUserActivity:userActivity restorationHandler:restorationHandler] || result; +} + +// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries +- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken +{ + return [super application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; +} + +// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries +- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error +{ + return [super application:application didFailToRegisterForRemoteNotificationsWithError:error]; +} + +// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries +- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler +{ + return [super application:application didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler]; +} + +@end diff --git a/apps/mobile/ios/6pm/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png b/apps/mobile/ios/6pm/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..cecc816ef3521b08f1001fe89b969aba13e0d6f4 GIT binary patch literal 21553 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 literal 0 HcmV?d00001 diff --git a/apps/mobile/ios/6pm/Images.xcassets/SplashScreenBackground.imageset/Contents.json b/apps/mobile/ios/6pm/Images.xcassets/SplashScreenBackground.imageset/Contents.json new file mode 100644 index 00000000..3cf84897 --- /dev/null +++ b/apps/mobile/ios/6pm/Images.xcassets/SplashScreenBackground.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "filename": "image.png", + "scale": "1x" + }, + { + "idiom": "universal", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "expo" + } +} \ No newline at end of file diff --git a/apps/mobile/ios/6pm/Images.xcassets/SplashScreenBackground.imageset/image.png b/apps/mobile/ios/6pm/Images.xcassets/SplashScreenBackground.imageset/image.png new file mode 100644 index 0000000000000000000000000000000000000000..33ddf20bb375ee42a98cb8a8c0952ba7f3ac62f3 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1|;Q0k8}blZci7-kP61+AN(u~oWGg>p6AXe Q0tz#Dy85}Sb4q9e0EL(iEdT%j literal 0 HcmV?d00001 diff --git a/apps/mobile/ios/6pm/Info.plist b/apps/mobile/ios/6pm/Info.plist new file mode 100644 index 00000000..7e062cac --- /dev/null +++ b/apps/mobile/ios/6pm/Info.plist @@ -0,0 +1,94 @@ + + + + + CADisableMinimumFrameDurationOnPhone + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + 6pm + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleURLTypes + + + CFBundleURLSchemes + + sixpm + ai.sixpm.app + + + + CFBundleURLSchemes + + exp+6pm + + + + CFBundleVersion + 1 + ITSAppUsesNonExemptEncryption + + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSAllowsLocalNetworking + + + NSCameraUsageDescription + Allow $(PRODUCT_NAME) to access your camera for scanning invoices and transactions + NSFaceIDUsageDescription + Allow $(PRODUCT_NAME) to use Face ID to secure your account + NSMicrophoneUsageDescription + Allow $(PRODUCT_NAME) to access your microphone + NSPhotoLibraryUsageDescription + Allow $(PRODUCT_NAME) accesses your photos for scanning invoices and transactions + NSUserActivityTypes + + $(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route + $(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route + + UILaunchStoryboardName + SplashScreen + UIRequiredDeviceCapabilities + + arm64 + + UIRequiresFullScreen + + UIStatusBarStyle + UIStatusBarStyleDefault + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIUserInterfaceStyle + Automatic + UIViewControllerBasedStatusBarAppearance + + + \ No newline at end of file diff --git a/apps/mobile/ios/6pm/PrivacyInfo.xcprivacy b/apps/mobile/ios/6pm/PrivacyInfo.xcprivacy new file mode 100644 index 00000000..c6b452ea --- /dev/null +++ b/apps/mobile/ios/6pm/PrivacyInfo.xcprivacy @@ -0,0 +1,48 @@ + + + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPITypeReasons + + C617.1 + 0A2A.1 + 3B52.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryDiskSpace + NSPrivacyAccessedAPITypeReasons + + E174.1 + 85F4.1 + + + + NSPrivacyCollectedDataTypes + + NSPrivacyTracking + + + diff --git a/apps/mobile/ios/6pm/SplashScreen.storyboard b/apps/mobile/ios/6pm/SplashScreen.storyboard new file mode 100644 index 00000000..ed03a529 --- /dev/null +++ b/apps/mobile/ios/6pm/SplashScreen.storyboard @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apps/mobile/ios/6pm/Supporting/Expo.plist b/apps/mobile/ios/6pm/Supporting/Expo.plist new file mode 100644 index 00000000..a199236e --- /dev/null +++ b/apps/mobile/ios/6pm/Supporting/Expo.plist @@ -0,0 +1,16 @@ + + + + + EXUpdatesCheckOnLaunch + ALWAYS + EXUpdatesEnabled + + EXUpdatesLaunchWaitMs + 0 + EXUpdatesRuntimeVersion + 1.0.0 + EXUpdatesURL + https://u.expo.dev/5853e031-3bfb-41fe-bfb6-c49f746c4adc + + \ No newline at end of file diff --git a/apps/mobile/ios/6pm/main.m b/apps/mobile/ios/6pm/main.m new file mode 100644 index 00000000..25181b6c --- /dev/null +++ b/apps/mobile/ios/6pm/main.m @@ -0,0 +1,10 @@ +#import + +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} + diff --git a/apps/mobile/ios/6pm/noop-file.swift b/apps/mobile/ios/6pm/noop-file.swift new file mode 100644 index 00000000..b2ffafbf --- /dev/null +++ b/apps/mobile/ios/6pm/noop-file.swift @@ -0,0 +1,4 @@ +// +// @generated +// A blank Swift file must be created for native modules with Swift files to work correctly. +// diff --git a/apps/mobile/ios/Podfile b/apps/mobile/ios/Podfile new file mode 100644 index 00000000..5cd72223 --- /dev/null +++ b/apps/mobile/ios/Podfile @@ -0,0 +1,79 @@ +require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking") +require File.join(File.dirname(`node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods") + +require 'json' +podfile_properties = JSON.parse(File.read(File.join(__dir__, 'Podfile.properties.json'))) rescue {} + +ENV['RCT_NEW_ARCH_ENABLED'] = podfile_properties['newArchEnabled'] == 'true' ? '1' : '0' +ENV['EX_DEV_CLIENT_NETWORK_INSPECTOR'] = podfile_properties['EX_DEV_CLIENT_NETWORK_INSPECTOR'] + +use_autolinking_method_symbol = ('use' + '_native' + '_modules!').to_sym +origin_autolinking_method = self.method(use_autolinking_method_symbol) +self.define_singleton_method(use_autolinking_method_symbol) do |*args| + if ENV['EXPO_UNSTABLE_CORE_AUTOLINKING'] == '1' + Pod::UI.puts('Using expo-modules-autolinking as core autolinking source'.green) + config_command = [ + 'node', + '--no-warnings', + '--eval', + 'require(require.resolve(\'expo-modules-autolinking\', { paths: [require.resolve(\'expo/package.json\')] }))(process.argv.slice(1))', + 'react-native-config', + '--json', + '--platform', + 'ios' + ] + origin_autolinking_method.call(config_command) + else + origin_autolinking_method.call() + end +end + +platform :ios, podfile_properties['ios.deploymentTarget'] || '13.4' +install! 'cocoapods', + :deterministic_uuids => false + +prepare_react_native_project! + +target '6pm' do + use_expo_modules! + config = use_native_modules! + + use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks'] + use_frameworks! :linkage => ENV['USE_FRAMEWORKS'].to_sym if ENV['USE_FRAMEWORKS'] + + use_react_native!( + :path => config[:reactNativePath], + :hermes_enabled => podfile_properties['expo.jsEngine'] == nil || podfile_properties['expo.jsEngine'] == 'hermes', + # An absolute path to your application root. + :app_path => "#{Pod::Config.instance.installation_root}/..", + :privacy_file_aggregation_enabled => podfile_properties['apple.privacyManifestAggregationEnabled'] != 'false', + ) + + post_install do |installer| + react_native_post_install( + installer, + config[:reactNativePath], + :mac_catalyst_enabled => false, + :ccache_enabled => podfile_properties['apple.ccacheEnabled'] == 'true', + ) + + # This is necessary for Xcode 14, because it signs resource bundles by default + # when building for devices. + installer.target_installation_results.pod_target_installation_results + .each do |pod_name, target_installation_result| + target_installation_result.resource_bundle_targets.each do |resource_bundle_target| + resource_bundle_target.build_configurations.each do |config| + config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO' + end + end + end + end + + post_integrate do |installer| + begin + expo_patch_react_imports!(installer) + rescue => e + Pod::UI.warn e + end + end +end diff --git a/apps/mobile/ios/Podfile.lock b/apps/mobile/ios/Podfile.lock new file mode 100644 index 00000000..df499783 --- /dev/null +++ b/apps/mobile/ios/Podfile.lock @@ -0,0 +1,2108 @@ +PODS: + - boost (1.83.0) + - DoubleConversion (1.1.6) + - EASClient (0.12.0): + - ExpoModulesCore + - EXApplication (5.9.1): + - ExpoModulesCore + - EXConstants (16.0.2): + - ExpoModulesCore + - EXImageLoader (4.7.0): + - ExpoModulesCore + - React-Core + - EXJSONUtils (0.13.1) + - EXManifests (0.14.3): + - ExpoModulesCore + - EXNotifications (0.28.16): + - ExpoModulesCore + - Expo (51.0.31): + - ExpoModulesCore + - expo-dev-client (4.0.25): + - EXManifests + - expo-dev-launcher + - expo-dev-menu + - expo-dev-menu-interface + - EXUpdatesInterface + - expo-dev-launcher (4.0.27): + - DoubleConversion + - EXManifests + - expo-dev-launcher/Main (= 4.0.27) + - expo-dev-menu + - expo-dev-menu-interface + - ExpoModulesCore + - EXUpdatesInterface + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-jsinspector + - React-NativeModulesApple + - React-RCTAppDelegate + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - expo-dev-launcher/Main (4.0.27): + - DoubleConversion + - EXManifests + - expo-dev-launcher/Unsafe + - expo-dev-menu + - expo-dev-menu-interface + - ExpoModulesCore + - EXUpdatesInterface + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-jsinspector + - React-NativeModulesApple + - React-RCTAppDelegate + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - expo-dev-launcher/Unsafe (4.0.27): + - DoubleConversion + - EXManifests + - expo-dev-menu + - expo-dev-menu-interface + - ExpoModulesCore + - EXUpdatesInterface + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-jsinspector + - React-NativeModulesApple + - React-RCTAppDelegate + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - expo-dev-menu (5.0.21): + - DoubleConversion + - expo-dev-menu/Main (= 5.0.21) + - expo-dev-menu/ReactNativeCompatibles (= 5.0.21) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - expo-dev-menu-interface (1.8.3) + - expo-dev-menu/Main (5.0.21): + - DoubleConversion + - EXManifests + - expo-dev-menu-interface + - expo-dev-menu/Vendored + - ExpoModulesCore + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-jsinspector + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - expo-dev-menu/ReactNativeCompatibles (5.0.21): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - expo-dev-menu/SafeAreaView (5.0.21): + - DoubleConversion + - ExpoModulesCore + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - expo-dev-menu/Vendored (5.0.21): + - DoubleConversion + - expo-dev-menu/SafeAreaView + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - ExpoAsset (10.0.10): + - ExpoModulesCore + - ExpoBlur (13.0.2): + - ExpoModulesCore + - ExpoCamera (15.0.15): + - ExpoModulesCore + - ZXingObjC/OneD + - ZXingObjC/PDF417 + - ExpoClipboard (6.0.3): + - ExpoModulesCore + - ExpoCrypto (13.0.2): + - ExpoModulesCore + - ExpoDevice (6.0.2): + - ExpoModulesCore + - ExpoFileSystem (17.0.1): + - ExpoModulesCore + - ExpoFont (12.0.9): + - ExpoModulesCore + - ExpoHaptics (13.0.1): + - ExpoModulesCore + - ExpoHead (3.5.23): + - ExpoModulesCore + - ExpoImageManipulator (12.0.5): + - EXImageLoader + - ExpoModulesCore + - SDWebImageWebPCoder + - ExpoImagePicker (15.0.7): + - ExpoModulesCore + - ExpoKeepAwake (13.0.2): + - ExpoModulesCore + - ExpoLinearGradient (13.0.2): + - ExpoModulesCore + - ExpoLocalAuthentication (14.0.1): + - ExpoModulesCore + - ExpoLocalization (15.0.3): + - ExpoModulesCore + - ExpoModulesCore (1.12.23): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-jsinspector + - React-NativeModulesApple + - React-RCTAppDelegate + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - ExpoSecureStore (13.0.2): + - ExpoModulesCore + - ExpoSystemUI (3.0.7): + - ExpoModulesCore + - ExpoWebBrowser (13.0.3): + - ExpoModulesCore + - EXSplashScreen (0.27.5): + - DoubleConversion + - ExpoModulesCore + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - EXStructuredHeaders (3.8.0) + - EXUpdates (0.25.24): + - DoubleConversion + - EASClient + - EXManifests + - ExpoModulesCore + - EXStructuredHeaders + - EXUpdatesInterface + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - ReachabilitySwift + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - "sqlite3 (~> 3.45.3+1)" + - Yoga + - EXUpdatesInterface (0.16.2): + - ExpoModulesCore + - FBLazyVector (0.74.2) + - fmt (9.1.0) + - glog (0.3.5) + - hermes-engine (0.74.2): + - hermes-engine/Pre-built (= 0.74.2) + - hermes-engine/Pre-built (0.74.2) + - libwebp (1.3.2): + - libwebp/demux (= 1.3.2) + - libwebp/mux (= 1.3.2) + - libwebp/sharpyuv (= 1.3.2) + - libwebp/webp (= 1.3.2) + - libwebp/demux (1.3.2): + - libwebp/webp + - libwebp/mux (1.3.2): + - libwebp/demux + - libwebp/sharpyuv (1.3.2) + - libwebp/webp (1.3.2): + - libwebp/sharpyuv + - PurchasesHybridCommon (13.1.0): + - RevenueCat (= 5.3.0) + - RCT-Folly (2024.01.01.00): + - boost + - DoubleConversion + - fmt (= 9.1.0) + - glog + - RCT-Folly/Default (= 2024.01.01.00) + - RCT-Folly/Default (2024.01.01.00): + - boost + - DoubleConversion + - fmt (= 9.1.0) + - glog + - RCT-Folly/Fabric (2024.01.01.00): + - boost + - DoubleConversion + - fmt (= 9.1.0) + - glog + - RCTDeprecation (0.74.2) + - RCTRequired (0.74.2) + - RCTTypeSafety (0.74.2): + - FBLazyVector (= 0.74.2) + - RCTRequired (= 0.74.2) + - React-Core (= 0.74.2) + - ReachabilitySwift (5.2.3) + - React (0.74.2): + - React-Core (= 0.74.2) + - React-Core/DevSupport (= 0.74.2) + - React-Core/RCTWebSocket (= 0.74.2) + - React-RCTActionSheet (= 0.74.2) + - React-RCTAnimation (= 0.74.2) + - React-RCTBlob (= 0.74.2) + - React-RCTImage (= 0.74.2) + - React-RCTLinking (= 0.74.2) + - React-RCTNetwork (= 0.74.2) + - React-RCTSettings (= 0.74.2) + - React-RCTText (= 0.74.2) + - React-RCTVibration (= 0.74.2) + - React-callinvoker (0.74.2) + - React-Codegen (0.74.2): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-FabricImage + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-NativeModulesApple + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - React-Core (0.74.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default (= 0.74.2) + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/CoreModulesHeaders (0.74.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/Default (0.74.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/DevSupport (0.74.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default (= 0.74.2) + - React-Core/RCTWebSocket (= 0.74.2) + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTActionSheetHeaders (0.74.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTAnimationHeaders (0.74.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTBlobHeaders (0.74.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTImageHeaders (0.74.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTLinkingHeaders (0.74.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTNetworkHeaders (0.74.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTSettingsHeaders (0.74.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTTextHeaders (0.74.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTVibrationHeaders (0.74.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-Core/RCTWebSocket (0.74.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default (= 0.74.2) + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.0) + - Yoga + - React-CoreModules (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - RCT-Folly (= 2024.01.01.00) + - RCTTypeSafety (= 0.74.2) + - React-Codegen + - React-Core/CoreModulesHeaders (= 0.74.2) + - React-jsi (= 0.74.2) + - React-jsinspector + - React-NativeModulesApple + - React-RCTBlob + - React-RCTImage (= 0.74.2) + - ReactCommon + - SocketRocket (= 0.7.0) + - React-cxxreact (0.74.2): + - boost (= 1.83.0) + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-callinvoker (= 0.74.2) + - React-debug (= 0.74.2) + - React-jsi (= 0.74.2) + - React-jsinspector + - React-logger (= 0.74.2) + - React-perflogger (= 0.74.2) + - React-runtimeexecutor (= 0.74.2) + - React-debug (0.74.2) + - React-Fabric (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/animations (= 0.74.2) + - React-Fabric/attributedstring (= 0.74.2) + - React-Fabric/componentregistry (= 0.74.2) + - React-Fabric/componentregistrynative (= 0.74.2) + - React-Fabric/components (= 0.74.2) + - React-Fabric/core (= 0.74.2) + - React-Fabric/imagemanager (= 0.74.2) + - React-Fabric/leakchecker (= 0.74.2) + - React-Fabric/mounting (= 0.74.2) + - React-Fabric/scheduler (= 0.74.2) + - React-Fabric/telemetry (= 0.74.2) + - React-Fabric/templateprocessor (= 0.74.2) + - React-Fabric/textlayoutmanager (= 0.74.2) + - React-Fabric/uimanager (= 0.74.2) + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/animations (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/attributedstring (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/componentregistry (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/componentregistrynative (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/components/inputaccessory (= 0.74.2) + - React-Fabric/components/legacyviewmanagerinterop (= 0.74.2) + - React-Fabric/components/modal (= 0.74.2) + - React-Fabric/components/rncore (= 0.74.2) + - React-Fabric/components/root (= 0.74.2) + - React-Fabric/components/safeareaview (= 0.74.2) + - React-Fabric/components/scrollview (= 0.74.2) + - React-Fabric/components/text (= 0.74.2) + - React-Fabric/components/textinput (= 0.74.2) + - React-Fabric/components/unimplementedview (= 0.74.2) + - React-Fabric/components/view (= 0.74.2) + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/inputaccessory (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/legacyviewmanagerinterop (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/modal (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/rncore (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/root (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/safeareaview (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/scrollview (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/text (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/textinput (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/unimplementedview (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/view (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-Fabric/core (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/imagemanager (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/leakchecker (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/mounting (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/scheduler (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/telemetry (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/templateprocessor (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/textlayoutmanager (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/uimanager + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/uimanager (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-FabricImage (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired (= 0.74.2) + - RCTTypeSafety (= 0.74.2) + - React-Fabric + - React-graphics + - React-ImageManager + - React-jsi + - React-jsiexecutor (= 0.74.2) + - React-logger + - React-rendererdebug + - React-utils + - ReactCommon + - Yoga + - React-featureflags (0.74.2) + - React-graphics (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-Core/Default (= 0.74.2) + - React-utils + - React-hermes (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-cxxreact (= 0.74.2) + - React-jsi + - React-jsiexecutor (= 0.74.2) + - React-jsinspector + - React-perflogger (= 0.74.2) + - React-runtimeexecutor + - React-ImageManager (0.74.2): + - glog + - RCT-Folly/Fabric + - React-Core/Default + - React-debug + - React-Fabric + - React-graphics + - React-rendererdebug + - React-utils + - React-jserrorhandler (0.74.2): + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-debug + - React-jsi + - React-Mapbuffer + - React-jsi (0.74.2): + - boost (= 1.83.0) + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-jsiexecutor (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-cxxreact (= 0.74.2) + - React-jsi (= 0.74.2) + - React-jsinspector + - React-perflogger (= 0.74.2) + - React-jsinspector (0.74.2): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-featureflags + - React-jsi + - React-runtimeexecutor (= 0.74.2) + - React-jsitracing (0.74.2): + - React-jsi + - React-logger (0.74.2): + - glog + - React-Mapbuffer (0.74.2): + - glog + - React-debug + - react-native-netinfo (11.3.1): + - React-Core + - react-native-pager-view (6.3.0): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - react-native-safe-area-context (4.10.1): + - React-Core + - react-native-skia (1.2.3): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React + - React-callinvoker + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - React-nativeconfig (0.74.2) + - React-NativeModulesApple (0.74.2): + - glog + - hermes-engine + - React-callinvoker + - React-Core + - React-cxxreact + - React-jsi + - React-jsinspector + - React-runtimeexecutor + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - React-perflogger (0.74.2) + - React-RCTActionSheet (0.74.2): + - React-Core/RCTActionSheetHeaders (= 0.74.2) + - React-RCTAnimation (0.74.2): + - RCT-Folly (= 2024.01.01.00) + - RCTTypeSafety + - React-Codegen + - React-Core/RCTAnimationHeaders + - React-jsi + - React-NativeModulesApple + - ReactCommon + - React-RCTAppDelegate (0.74.2): + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-CoreModules + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-nativeconfig + - React-NativeModulesApple + - React-RCTFabric + - React-RCTImage + - React-RCTNetwork + - React-rendererdebug + - React-RuntimeApple + - React-RuntimeCore + - React-RuntimeHermes + - React-runtimescheduler + - React-utils + - ReactCommon + - React-RCTBlob (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-Codegen + - React-Core/RCTBlobHeaders + - React-Core/RCTWebSocket + - React-jsi + - React-jsinspector + - React-NativeModulesApple + - React-RCTNetwork + - ReactCommon + - React-RCTFabric (0.74.2): + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-Core + - React-debug + - React-Fabric + - React-FabricImage + - React-featureflags + - React-graphics + - React-ImageManager + - React-jsi + - React-jsinspector + - React-nativeconfig + - React-RCTImage + - React-RCTText + - React-rendererdebug + - React-runtimescheduler + - React-utils + - Yoga + - React-RCTImage (0.74.2): + - RCT-Folly (= 2024.01.01.00) + - RCTTypeSafety + - React-Codegen + - React-Core/RCTImageHeaders + - React-jsi + - React-NativeModulesApple + - React-RCTNetwork + - ReactCommon + - React-RCTLinking (0.74.2): + - React-Codegen + - React-Core/RCTLinkingHeaders (= 0.74.2) + - React-jsi (= 0.74.2) + - React-NativeModulesApple + - ReactCommon + - ReactCommon/turbomodule/core (= 0.74.2) + - React-RCTNetwork (0.74.2): + - RCT-Folly (= 2024.01.01.00) + - RCTTypeSafety + - React-Codegen + - React-Core/RCTNetworkHeaders + - React-jsi + - React-NativeModulesApple + - ReactCommon + - React-RCTSettings (0.74.2): + - RCT-Folly (= 2024.01.01.00) + - RCTTypeSafety + - React-Codegen + - React-Core/RCTSettingsHeaders + - React-jsi + - React-NativeModulesApple + - ReactCommon + - React-RCTText (0.74.2): + - React-Core/RCTTextHeaders (= 0.74.2) + - Yoga + - React-RCTVibration (0.74.2): + - RCT-Folly (= 2024.01.01.00) + - React-Codegen + - React-Core/RCTVibrationHeaders + - React-jsi + - React-NativeModulesApple + - ReactCommon + - React-rendererdebug (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - RCT-Folly (= 2024.01.01.00) + - React-debug + - React-rncore (0.74.2) + - React-RuntimeApple (0.74.2): + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-callinvoker + - React-Core/Default + - React-CoreModules + - React-cxxreact + - React-jserrorhandler + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-Mapbuffer + - React-NativeModulesApple + - React-RCTFabric + - React-RuntimeCore + - React-runtimeexecutor + - React-RuntimeHermes + - React-utils + - React-RuntimeCore (0.74.2): + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-cxxreact + - React-featureflags + - React-jserrorhandler + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-runtimeexecutor + - React-runtimescheduler + - React-utils + - React-runtimeexecutor (0.74.2): + - React-jsi (= 0.74.2) + - React-RuntimeHermes (0.74.2): + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-featureflags + - React-hermes + - React-jsi + - React-jsinspector + - React-jsitracing + - React-nativeconfig + - React-RuntimeCore + - React-utils + - React-runtimescheduler (0.74.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-callinvoker + - React-cxxreact + - React-debug + - React-featureflags + - React-jsi + - React-rendererdebug + - React-runtimeexecutor + - React-utils + - React-utils (0.74.2): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-debug + - React-jsi (= 0.74.2) + - ReactCommon (0.74.2): + - ReactCommon/turbomodule (= 0.74.2) + - ReactCommon/turbomodule (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-callinvoker (= 0.74.2) + - React-cxxreact (= 0.74.2) + - React-jsi (= 0.74.2) + - React-logger (= 0.74.2) + - React-perflogger (= 0.74.2) + - ReactCommon/turbomodule/bridging (= 0.74.2) + - ReactCommon/turbomodule/core (= 0.74.2) + - ReactCommon/turbomodule/bridging (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-callinvoker (= 0.74.2) + - React-cxxreact (= 0.74.2) + - React-jsi (= 0.74.2) + - React-logger (= 0.74.2) + - React-perflogger (= 0.74.2) + - ReactCommon/turbomodule/core (0.74.2): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-callinvoker (= 0.74.2) + - React-cxxreact (= 0.74.2) + - React-debug (= 0.74.2) + - React-jsi (= 0.74.2) + - React-logger (= 0.74.2) + - React-perflogger (= 0.74.2) + - React-utils (= 0.74.2) + - RevenueCat (5.3.0) + - RNCAsyncStorage (1.24.0): + - React-Core + - RNDateTimePicker (8.0.1): + - React-Core + - RNGestureHandler (2.16.2): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - RNPurchases (8.1.0): + - PurchasesHybridCommon (= 13.1.0) + - React-Core + - RNReanimated (3.10.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - RNScreens (3.31.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-RCTImage + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - RNSentry (5.26.0): + - hermes-engine + - React-Core + - React-hermes + - Sentry/HybridSDK (= 8.31.1) + - RNSVG (15.2.0): + - React-Core + - SDWebImage/Core (5.19.7) + - SDWebImageWebPCoder (0.14.6): + - libwebp (~> 1.0) + - SDWebImage/Core (~> 5.17) + - Sentry/HybridSDK (8.31.1) + - SocketRocket (0.7.0) + - "sqlite3 (3.45.3+1)": + - "sqlite3/common (= 3.45.3+1)" + - "sqlite3/common (3.45.3+1)" + - Yoga (0.0.0) + - ZXingObjC/Core (3.6.9) + - ZXingObjC/OneD (3.6.9): + - ZXingObjC/Core + - ZXingObjC/PDF417 (3.6.9): + - ZXingObjC/Core + +DEPENDENCIES: + - boost (from `../../../node_modules/react-native/third-party-podspecs/boost.podspec`) + - DoubleConversion (from `../../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - EASClient (from `../../../node_modules/expo-eas-client/ios`) + - EXApplication (from `../../../node_modules/expo-application/ios`) + - EXConstants (from `../../../node_modules/expo-constants/ios`) + - EXImageLoader (from `../../../node_modules/expo-image-loader/ios`) + - EXJSONUtils (from `../../../node_modules/expo-json-utils/ios`) + - EXManifests (from `../../../node_modules/expo-manifests/ios`) + - EXNotifications (from `../../../node_modules/expo-notifications/ios`) + - Expo (from `../../../node_modules/expo`) + - expo-dev-client (from `../../../node_modules/expo-dev-client/ios`) + - expo-dev-launcher (from `../../../node_modules/expo-dev-launcher`) + - expo-dev-menu (from `../../../node_modules/expo-dev-menu`) + - expo-dev-menu-interface (from `../../../node_modules/expo-dev-menu-interface/ios`) + - ExpoAsset (from `../../../node_modules/expo-asset/ios`) + - ExpoBlur (from `../../../node_modules/expo-blur/ios`) + - ExpoCamera (from `../../../node_modules/expo-camera/ios`) + - ExpoClipboard (from `../../../node_modules/expo-clipboard/ios`) + - ExpoCrypto (from `../../../node_modules/expo-crypto/ios`) + - ExpoDevice (from `../../../node_modules/expo-device/ios`) + - ExpoFileSystem (from `../../../node_modules/expo-file-system/ios`) + - ExpoFont (from `../../../node_modules/expo-font/ios`) + - ExpoHaptics (from `../../../node_modules/expo-haptics/ios`) + - ExpoHead (from `../../../node_modules/expo-router/ios`) + - ExpoImageManipulator (from `../../../node_modules/expo-image-manipulator/ios`) + - ExpoImagePicker (from `../../../node_modules/expo-image-picker/ios`) + - ExpoKeepAwake (from `../../../node_modules/expo-keep-awake/ios`) + - ExpoLinearGradient (from `../../../node_modules/expo-linear-gradient/ios`) + - ExpoLocalAuthentication (from `../../../node_modules/expo-local-authentication/ios`) + - ExpoLocalization (from `../../../node_modules/expo-localization/ios`) + - ExpoModulesCore (from `../../../node_modules/expo-modules-core`) + - ExpoSecureStore (from `../../../node_modules/expo-secure-store/ios`) + - ExpoSystemUI (from `../../../node_modules/expo-system-ui/ios`) + - ExpoWebBrowser (from `../../../node_modules/expo-web-browser/ios`) + - EXSplashScreen (from `../node_modules/expo-splash-screen/ios`) + - EXStructuredHeaders (from `../../../node_modules/expo-structured-headers/ios`) + - EXUpdates (from `../../../node_modules/expo-updates/ios`) + - EXUpdatesInterface (from `../../../node_modules/expo-updates-interface/ios`) + - FBLazyVector (from `../../../node_modules/react-native/Libraries/FBLazyVector`) + - fmt (from `../../../node_modules/react-native/third-party-podspecs/fmt.podspec`) + - glog (from `../../../node_modules/react-native/third-party-podspecs/glog.podspec`) + - hermes-engine (from `../../../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) + - RCT-Folly (from `../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCT-Folly/Fabric (from `../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCTDeprecation (from `../../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) + - RCTRequired (from `../../../node_modules/react-native/Libraries/Required`) + - RCTTypeSafety (from `../../../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../../../node_modules/react-native/`) + - React-callinvoker (from `../../../node_modules/react-native/ReactCommon/callinvoker`) + - React-Codegen (from `build/generated/ios`) + - React-Core (from `../../../node_modules/react-native/`) + - React-Core/RCTWebSocket (from `../../../node_modules/react-native/`) + - React-CoreModules (from `../../../node_modules/react-native/React/CoreModules`) + - React-cxxreact (from `../../../node_modules/react-native/ReactCommon/cxxreact`) + - React-debug (from `../../../node_modules/react-native/ReactCommon/react/debug`) + - React-Fabric (from `../../../node_modules/react-native/ReactCommon`) + - React-FabricImage (from `../../../node_modules/react-native/ReactCommon`) + - React-featureflags (from `../../../node_modules/react-native/ReactCommon/react/featureflags`) + - React-graphics (from `../../../node_modules/react-native/ReactCommon/react/renderer/graphics`) + - React-hermes (from `../../../node_modules/react-native/ReactCommon/hermes`) + - React-ImageManager (from `../../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) + - React-jserrorhandler (from `../../../node_modules/react-native/ReactCommon/jserrorhandler`) + - React-jsi (from `../../../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../../../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../../../node_modules/react-native/ReactCommon/jsinspector-modern`) + - React-jsitracing (from `../../../node_modules/react-native/ReactCommon/hermes/executor/`) + - React-logger (from `../../../node_modules/react-native/ReactCommon/logger`) + - React-Mapbuffer (from `../../../node_modules/react-native/ReactCommon`) + - "react-native-netinfo (from `../../../node_modules/@react-native-community/netinfo`)" + - react-native-pager-view (from `../../../node_modules/react-native-pager-view`) + - react-native-safe-area-context (from `../../../node_modules/react-native-safe-area-context`) + - "react-native-skia (from `../../../node_modules/@shopify/react-native-skia`)" + - React-nativeconfig (from `../../../node_modules/react-native/ReactCommon`) + - React-NativeModulesApple (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) + - React-perflogger (from `../../../node_modules/react-native/ReactCommon/reactperflogger`) + - React-RCTActionSheet (from `../../../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../../../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTAppDelegate (from `../../../node_modules/react-native/Libraries/AppDelegate`) + - React-RCTBlob (from `../../../node_modules/react-native/Libraries/Blob`) + - React-RCTFabric (from `../../../node_modules/react-native/React`) + - React-RCTImage (from `../../../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../../../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../../../node_modules/react-native/Libraries/Network`) + - React-RCTSettings (from `../../../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../../../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../../../node_modules/react-native/Libraries/Vibration`) + - React-rendererdebug (from `../../../node_modules/react-native/ReactCommon/react/renderer/debug`) + - React-rncore (from `../../../node_modules/react-native/ReactCommon`) + - React-RuntimeApple (from `../../../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) + - React-RuntimeCore (from `../../../node_modules/react-native/ReactCommon/react/runtime`) + - React-runtimeexecutor (from `../../../node_modules/react-native/ReactCommon/runtimeexecutor`) + - React-RuntimeHermes (from `../../../node_modules/react-native/ReactCommon/react/runtime`) + - React-runtimescheduler (from `../../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) + - React-utils (from `../../../node_modules/react-native/ReactCommon/react/utils`) + - ReactCommon/turbomodule/core (from `../../../node_modules/react-native/ReactCommon`) + - "RNCAsyncStorage (from `../../../node_modules/@react-native-async-storage/async-storage`)" + - "RNDateTimePicker (from `../../../node_modules/@react-native-community/datetimepicker`)" + - RNGestureHandler (from `../../../node_modules/react-native-gesture-handler`) + - RNPurchases (from `../../../node_modules/react-native-purchases`) + - RNReanimated (from `../../../node_modules/react-native-reanimated`) + - RNScreens (from `../../../node_modules/react-native-screens`) + - "RNSentry (from `../../../node_modules/@sentry/react-native`)" + - RNSVG (from `../../../node_modules/react-native-svg`) + - Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`) + +SPEC REPOS: + trunk: + - libwebp + - PurchasesHybridCommon + - ReachabilitySwift + - RevenueCat + - SDWebImage + - SDWebImageWebPCoder + - Sentry + - SocketRocket + - sqlite3 + - ZXingObjC + +EXTERNAL SOURCES: + boost: + :podspec: "../../../node_modules/react-native/third-party-podspecs/boost.podspec" + DoubleConversion: + :podspec: "../../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + EASClient: + :path: "../../../node_modules/expo-eas-client/ios" + EXApplication: + :path: "../../../node_modules/expo-application/ios" + EXConstants: + :path: "../../../node_modules/expo-constants/ios" + EXImageLoader: + :path: "../../../node_modules/expo-image-loader/ios" + EXJSONUtils: + :path: "../../../node_modules/expo-json-utils/ios" + EXManifests: + :path: "../../../node_modules/expo-manifests/ios" + EXNotifications: + :path: "../../../node_modules/expo-notifications/ios" + Expo: + :path: "../../../node_modules/expo" + expo-dev-client: + :path: "../../../node_modules/expo-dev-client/ios" + expo-dev-launcher: + :path: "../../../node_modules/expo-dev-launcher" + expo-dev-menu: + :path: "../../../node_modules/expo-dev-menu" + expo-dev-menu-interface: + :path: "../../../node_modules/expo-dev-menu-interface/ios" + ExpoAsset: + :path: "../../../node_modules/expo-asset/ios" + ExpoBlur: + :path: "../../../node_modules/expo-blur/ios" + ExpoCamera: + :path: "../../../node_modules/expo-camera/ios" + ExpoClipboard: + :path: "../../../node_modules/expo-clipboard/ios" + ExpoCrypto: + :path: "../../../node_modules/expo-crypto/ios" + ExpoDevice: + :path: "../../../node_modules/expo-device/ios" + ExpoFileSystem: + :path: "../../../node_modules/expo-file-system/ios" + ExpoFont: + :path: "../../../node_modules/expo-font/ios" + ExpoHaptics: + :path: "../../../node_modules/expo-haptics/ios" + ExpoHead: + :path: "../../../node_modules/expo-router/ios" + ExpoImageManipulator: + :path: "../../../node_modules/expo-image-manipulator/ios" + ExpoImagePicker: + :path: "../../../node_modules/expo-image-picker/ios" + ExpoKeepAwake: + :path: "../../../node_modules/expo-keep-awake/ios" + ExpoLinearGradient: + :path: "../../../node_modules/expo-linear-gradient/ios" + ExpoLocalAuthentication: + :path: "../../../node_modules/expo-local-authentication/ios" + ExpoLocalization: + :path: "../../../node_modules/expo-localization/ios" + ExpoModulesCore: + :path: "../../../node_modules/expo-modules-core" + ExpoSecureStore: + :path: "../../../node_modules/expo-secure-store/ios" + ExpoSystemUI: + :path: "../../../node_modules/expo-system-ui/ios" + ExpoWebBrowser: + :path: "../../../node_modules/expo-web-browser/ios" + EXSplashScreen: + :path: "../node_modules/expo-splash-screen/ios" + EXStructuredHeaders: + :path: "../../../node_modules/expo-structured-headers/ios" + EXUpdates: + :path: "../../../node_modules/expo-updates/ios" + EXUpdatesInterface: + :path: "../../../node_modules/expo-updates-interface/ios" + FBLazyVector: + :path: "../../../node_modules/react-native/Libraries/FBLazyVector" + fmt: + :podspec: "../../../node_modules/react-native/third-party-podspecs/fmt.podspec" + glog: + :podspec: "../../../node_modules/react-native/third-party-podspecs/glog.podspec" + hermes-engine: + :podspec: "../../../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" + :tag: hermes-2024-06-03-RNv0.74.2-bb1e74fe1e95c2b5a2f4f9311152da052badc2bc + RCT-Folly: + :podspec: "../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" + RCTDeprecation: + :path: "../../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" + RCTRequired: + :path: "../../../node_modules/react-native/Libraries/Required" + RCTTypeSafety: + :path: "../../../node_modules/react-native/Libraries/TypeSafety" + React: + :path: "../../../node_modules/react-native/" + React-callinvoker: + :path: "../../../node_modules/react-native/ReactCommon/callinvoker" + React-Codegen: + :path: build/generated/ios + React-Core: + :path: "../../../node_modules/react-native/" + React-CoreModules: + :path: "../../../node_modules/react-native/React/CoreModules" + React-cxxreact: + :path: "../../../node_modules/react-native/ReactCommon/cxxreact" + React-debug: + :path: "../../../node_modules/react-native/ReactCommon/react/debug" + React-Fabric: + :path: "../../../node_modules/react-native/ReactCommon" + React-FabricImage: + :path: "../../../node_modules/react-native/ReactCommon" + React-featureflags: + :path: "../../../node_modules/react-native/ReactCommon/react/featureflags" + React-graphics: + :path: "../../../node_modules/react-native/ReactCommon/react/renderer/graphics" + React-hermes: + :path: "../../../node_modules/react-native/ReactCommon/hermes" + React-ImageManager: + :path: "../../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" + React-jserrorhandler: + :path: "../../../node_modules/react-native/ReactCommon/jserrorhandler" + React-jsi: + :path: "../../../node_modules/react-native/ReactCommon/jsi" + React-jsiexecutor: + :path: "../../../node_modules/react-native/ReactCommon/jsiexecutor" + React-jsinspector: + :path: "../../../node_modules/react-native/ReactCommon/jsinspector-modern" + React-jsitracing: + :path: "../../../node_modules/react-native/ReactCommon/hermes/executor/" + React-logger: + :path: "../../../node_modules/react-native/ReactCommon/logger" + React-Mapbuffer: + :path: "../../../node_modules/react-native/ReactCommon" + react-native-netinfo: + :path: "../../../node_modules/@react-native-community/netinfo" + react-native-pager-view: + :path: "../../../node_modules/react-native-pager-view" + react-native-safe-area-context: + :path: "../../../node_modules/react-native-safe-area-context" + react-native-skia: + :path: "../../../node_modules/@shopify/react-native-skia" + React-nativeconfig: + :path: "../../../node_modules/react-native/ReactCommon" + React-NativeModulesApple: + :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" + React-perflogger: + :path: "../../../node_modules/react-native/ReactCommon/reactperflogger" + React-RCTActionSheet: + :path: "../../../node_modules/react-native/Libraries/ActionSheetIOS" + React-RCTAnimation: + :path: "../../../node_modules/react-native/Libraries/NativeAnimation" + React-RCTAppDelegate: + :path: "../../../node_modules/react-native/Libraries/AppDelegate" + React-RCTBlob: + :path: "../../../node_modules/react-native/Libraries/Blob" + React-RCTFabric: + :path: "../../../node_modules/react-native/React" + React-RCTImage: + :path: "../../../node_modules/react-native/Libraries/Image" + React-RCTLinking: + :path: "../../../node_modules/react-native/Libraries/LinkingIOS" + React-RCTNetwork: + :path: "../../../node_modules/react-native/Libraries/Network" + React-RCTSettings: + :path: "../../../node_modules/react-native/Libraries/Settings" + React-RCTText: + :path: "../../../node_modules/react-native/Libraries/Text" + React-RCTVibration: + :path: "../../../node_modules/react-native/Libraries/Vibration" + React-rendererdebug: + :path: "../../../node_modules/react-native/ReactCommon/react/renderer/debug" + React-rncore: + :path: "../../../node_modules/react-native/ReactCommon" + React-RuntimeApple: + :path: "../../../node_modules/react-native/ReactCommon/react/runtime/platform/ios" + React-RuntimeCore: + :path: "../../../node_modules/react-native/ReactCommon/react/runtime" + React-runtimeexecutor: + :path: "../../../node_modules/react-native/ReactCommon/runtimeexecutor" + React-RuntimeHermes: + :path: "../../../node_modules/react-native/ReactCommon/react/runtime" + React-runtimescheduler: + :path: "../../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" + React-utils: + :path: "../../../node_modules/react-native/ReactCommon/react/utils" + ReactCommon: + :path: "../../../node_modules/react-native/ReactCommon" + RNCAsyncStorage: + :path: "../../../node_modules/@react-native-async-storage/async-storage" + RNDateTimePicker: + :path: "../../../node_modules/@react-native-community/datetimepicker" + RNGestureHandler: + :path: "../../../node_modules/react-native-gesture-handler" + RNPurchases: + :path: "../../../node_modules/react-native-purchases" + RNReanimated: + :path: "../../../node_modules/react-native-reanimated" + RNScreens: + :path: "../../../node_modules/react-native-screens" + RNSentry: + :path: "../../../node_modules/@sentry/react-native" + RNSVG: + :path: "../../../node_modules/react-native-svg" + Yoga: + :path: "../../../node_modules/react-native/ReactCommon/yoga" + +SPEC CHECKSUMS: + boost: d3f49c53809116a5d38da093a8aa78bf551aed09 + DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5 + EASClient: 1509a9a6b48b932ec61667644634daf2562983b8 + EXApplication: c08200c34daca7af7fd76ac4b9d606077410e8ad + EXConstants: 409690fbfd5afea964e5e9d6c4eb2c2b59222c59 + EXImageLoader: ab589d67d6c5f2c33572afea9917304418566334 + EXJSONUtils: 30c17fd9cc364d722c0946a550dfbf1be92ef6a4 + EXManifests: c1fab4c3237675e7b0299ea8df0bcb14baca4f42 + EXNotifications: b1b174716b287e161350a18de1d253aabceeea2d + Expo: 4773e11951abd0f666f67023f0cb1d48c3e8a32b + expo-dev-client: 97910d9e4753f5deae96c3b657a071ee09ce85f5 + expo-dev-launcher: c8e85bf244a2492448c88adbc3585ca13572f7b9 + expo-dev-menu: 0db38ce92be7228dadb588f7069e037fd9d165d8 + expo-dev-menu-interface: be32c09f1e03833050f0ee290dcc86b3ad0e73e4 + ExpoAsset: 323700f291684f110fb55f0d4022a3362ea9f875 + ExpoBlur: fa53f874e7b208bc3756d1bf07903c12e790beb1 + ExpoCamera: 470eeb1c0170f5a5b96c7179b0285f0ef5e9e161 + ExpoClipboard: 23d203f5d4843699fbc45be1cc4fe1fbd811a6fa + ExpoCrypto: 156078f266bf28f80ecf5e2a9c3a0d6ffce07a1c + ExpoDevice: fc94f0e42ecdfd897e7590f2874fc64dfa7e9b1c + ExpoFileSystem: 80bfe850b1f9922c16905822ecbf97acd711dc51 + ExpoFont: e7f2275c10ca8573c991e007329ad6bf98086485 + ExpoHaptics: 5a3a88971af384255baf2504f38b41189cec6984 + ExpoHead: fcb28a68ed4ba28f177394d2dfb8a0a8824cd103 + ExpoImageManipulator: aea99205c66043a00a0af90e345395637b9902fa + ExpoImagePicker: 12a420923383ae38dccb069847218f27a3b87816 + ExpoKeepAwake: 3b8815d9dd1d419ee474df004021c69fdd316d08 + ExpoLinearGradient: 8cec4a09426d8934c433e83cb36262d72c667fce + ExpoLocalAuthentication: 9e02a56a4cf9868f0052656a93d4c94101a42ed7 + ExpoLocalization: f04eeec2e35bed01ab61c72ee1768ec04d093d01 + ExpoModulesCore: d15ce10fea70ab650230feb69f45bb208d3a6596 + ExpoSecureStore: 060cebcb956b80ddae09821610ac1aa9e1ac74cd + ExpoSystemUI: d4f065a016cae6721b324eb659cdee4d4cf0cb26 + ExpoWebBrowser: 7595ccac6938eb65b076385fd23d035db9ecdc8e + EXSplashScreen: fbf0ec78e9cee911df188bf17b4fe51d15a84b87 + EXStructuredHeaders: cb8d1f698e144f4c5547b4c4963e1552f5d2b457 + EXUpdates: b8f1d850bb9eac11cb634c6213134664f01592ff + EXUpdatesInterface: 996527fd7d1a5d271eb523258d603f8f92038f24 + FBLazyVector: 4bc164e5b5e6cfc288d2b5ff28643ea15fa1a589 + fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120 + glog: fdfdfe5479092de0c4bdbebedd9056951f092c4f + hermes-engine: 01d3e052018c2a13937aca1860fbedbccd4a41b7 + libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009 + PurchasesHybridCommon: 04828bd308b446146db7976c35b54d62f3659a9b + RCT-Folly: 02617c592a293bd6d418e0a88ff4ee1f88329b47 + RCTDeprecation: b03c35057846b685b3ccadc9bfe43e349989cdb2 + RCTRequired: 194626909cfa8d39ca6663138c417bc6c431648c + RCTTypeSafety: 552aff5b8e8341660594db00e53ac889682bc120 + ReachabilitySwift: 7f151ff156cea1481a8411701195ac6a984f4979 + React: a57fe42044fe6ed3e828f8867ce070a6c5872754 + React-callinvoker: 6bedefb354a8848b534752417954caa3a5cf34f9 + React-Codegen: ed6f073979a0c97091bbff1e02f0fb7d03b7d370 + React-Core: 289ee3dfc1639bb9058c1e77427bb48169c26d7a + React-CoreModules: eda5ce541a1f552158317abd90a5a0f6a4f8d6f7 + React-cxxreact: 56bd17ccc6d4248116f7f95884ddb8c528379fb6 + React-debug: 164b8e302404d92d4bec39778a5e03bcb1b6eb08 + React-Fabric: 05620c36074e3ab397dd8f9db0deb6d3c38b4efa + React-FabricImage: 2a8a7f5729f5c44e32e6f58f7225ee1017ed0704 + React-featureflags: d97a6393993052e951e16a3b81206e22110be8d2 + React-graphics: ef07d701f4eb72ae6fca6ed0a7260a04f2a58dec + React-hermes: 6ccc301ababfa17a9aad25a7e33faf325fd024b4 + React-ImageManager: 00404bfe122626bc6493621f2a31ce802115a9b3 + React-jserrorhandler: 5e2632590a84363855b2083e6b3d501e93bc3f04 + React-jsi: 828703c235f4eea1647897ee8030efdc6e8e9f14 + React-jsiexecutor: 713d7bbef0a410cee5b3b78f73ed1fc16e177ba7 + React-jsinspector: e1fa5325a47f34645195c63e3312ddb6a2efef5d + React-jsitracing: 0fa7f78d8fdda794667cb2e6f19c874c1cf31d7e + React-logger: 29fa3e048f5f67fe396bc08af7606426d9bd7b5d + React-Mapbuffer: bf56147c9775491e53122a94c423ac201417e326 + react-native-netinfo: bdb108d340cdb41875c9ced535977cac6d2ff321 + react-native-pager-view: c1e29e1a6105a02807392ba822ad322447a72f55 + react-native-safe-area-context: dcab599c527c2d7de2d76507a523d20a0b83823d + react-native-skia: 80282ed176572d97f6abe128ddcb567e0c33fe93 + React-nativeconfig: 9f223cd321823afdecf59ed00861ab2d69ee0fc1 + React-NativeModulesApple: ff7efaff7098639db5631236cfd91d60abff04c0 + React-perflogger: 32ed45d9cee02cf6639acae34251590dccd30994 + React-RCTActionSheet: 19f967ddaea258182b56ef11437133b056ba2adf + React-RCTAnimation: d7f4137fc44a08bba465267ea7cb1dbdb7c4ec87 + React-RCTAppDelegate: 2b3f4d8009796af209a0d496e73276b743acee08 + React-RCTBlob: c6c3e1e0251700b7bea036b893913f22e2b9cb47 + React-RCTFabric: 93a3ea55169d19294f07092013c1c9ea7a015c9b + React-RCTImage: 40528ab74a4fef0f0e2ee797a074b26d120b6cc6 + React-RCTLinking: 385b5beb96749aae9ae1606746e883e1c9f8a6a7 + React-RCTNetwork: ffc9f05bd8fa5b3bce562199ba41235ad0af645c + React-RCTSettings: 21914178bb65cb2c20c655ae1fb401617ae74618 + React-RCTText: 7f8dba1a311e99f4de15bbace2350e805f33f024 + React-RCTVibration: e4ccf673579d0d94a96b3a0b64492db08f8324d5 + React-rendererdebug: ac70f40de137ce7bdbc55eaee60c467a215d9923 + React-rncore: edfff7a3f7f82ca1e0ba26978c6d84c7a8970dac + React-RuntimeApple: a0c98b75571aa5f44ddc7c6e9fd55803fa4db00f + React-RuntimeCore: 4b8db1fe2f3f4a3a5ecb22e1a419824e3e2cd7ef + React-runtimeexecutor: 5961acc7a77b69f964e1645a5d6069e124ce6b37 + React-RuntimeHermes: c5825bfae4815fdf4e9e639340c3a986a491884c + React-runtimescheduler: 56b642bf605ba5afa500d35790928fc1d51565ad + React-utils: 4476b7fcbbd95cfd002f3e778616155241d86e31 + ReactCommon: ecad995f26e0d1e24061f60f4e5d74782f003f12 + RevenueCat: 4ad1d1c656f4d66bbfde7c83a4669fa1c1cb6527 + RNCAsyncStorage: ec53e44dc3e75b44aa2a9f37618a49c3bc080a7a + RNDateTimePicker: b6a9b35a785ecbe12b4e7d6de5439d0aa4614146 + RNGestureHandler: 2282cfbcf86c360d29f44ace393203afd5c6cff7 + RNPurchases: 2233090d55e80c8aab508ea426ba720f41b2e142 + RNReanimated: 33c6135cdf421b795c2f1173075a11cca2a39bf2 + RNScreens: b32a9ff15bea7fcdbe5dff6477bc503f792b1208 + RNSentry: 85fe1023bf60ead12d059d9c845de19de0ed6f0d + RNSVG: 43b64ed39c14ce830d840903774154ca0c1f27ec + SDWebImage: 8a6b7b160b4d710e2a22b6900e25301075c34cb3 + SDWebImageWebPCoder: e38c0a70396191361d60c092933e22c20d5b1380 + Sentry: 9c1188876ea1291d1a9db4b38c3f17ebd8e6985e + SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d + sqlite3: 02d1f07eaaa01f80a1c16b4b31dfcbb3345ee01a + Yoga: ae3c32c514802d30f687a04a6a35b348506d411f + ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5 + +PODFILE CHECKSUM: f495c2a5aca5ce704e1d1d714b1759cf29976474 + +COCOAPODS: 1.15.2 diff --git a/apps/mobile/ios/Podfile.properties.json b/apps/mobile/ios/Podfile.properties.json new file mode 100644 index 00000000..de9f7b75 --- /dev/null +++ b/apps/mobile/ios/Podfile.properties.json @@ -0,0 +1,4 @@ +{ + "expo.jsEngine": "hermes", + "EX_DEV_CLIENT_NETWORK_INSPECTOR": "true" +} diff --git a/apps/mobile/ios/sentry.properties b/apps/mobile/ios/sentry.properties new file mode 100644 index 00000000..f5974608 --- /dev/null +++ b/apps/mobile/ios/sentry.properties @@ -0,0 +1,4 @@ +defaults.url=https://sentry.io/ +defaults.org=get6pm +defaults.project=6pm-mobile +# Using SENTRY_AUTH_TOKEN environment variable \ No newline at end of file diff --git a/apps/mobile/package.json b/apps/mobile/package.json index 82c03a75..9779d726 100644 --- a/apps/mobile/package.json +++ b/apps/mobile/package.json @@ -5,8 +5,8 @@ "scripts": { "start": "expo start -c", "reset-project": "node ./scripts/reset-project.js", - "android": "expo start --android", - "ios": "expo start --ios", + "android": "expo run:android", + "ios": "expo run:ios", "web": "expo start --web", "test": "jest --watchAll", "lint": "expo lint", @@ -65,6 +65,7 @@ "expo-clipboard": "~6.0.3", "expo-constants": "~16.0.2", "expo-crypto": "~13.0.2", + "expo-dev-client": "~4.0.25", "expo-device": "~6.0.2", "expo-file-system": "~17.0.1", "expo-font": "~12.0.7", @@ -94,6 +95,7 @@ "react-native": "0.74.2", "react-native-gesture-handler": "~2.16.1", "react-native-pager-view": "6.3.0", + "react-native-purchases": "^8.1.0", "react-native-reanimated": "~3.10.1", "react-native-safe-area-context": "4.10.1", "react-native-screens": "3.31.1", diff --git a/package.json b/package.json index 38003763..3a5f5143 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "api:start": "pnpm --filter @6pm/api run start", "mobile": "pnpm --filter @6pm/mobile", "mobile:start": "pnpm --filter @6pm/mobile run start", + "mobile:ios": "pnpm --filter @6pm/mobile run ios", "li:extract": "lingui extract", "li:compile": "lingui compile --typescript", "li": "pnpm li:extract && pnpm li:compile" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 85b30215..0a7fe483 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -246,6 +246,9 @@ importers: expo-crypto: specifier: ~13.0.2 version: 13.0.2(expo@51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))) + expo-dev-client: + specifier: ~4.0.25 + version: 4.0.25(expo@51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))) expo-device: specifier: ~6.0.2 version: 6.0.2(expo@51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))) @@ -333,6 +336,9 @@ importers: react-native-pager-view: specifier: 6.3.0 version: 6.3.0(react-native@0.74.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1) + react-native-purchases: + specifier: ^8.1.0 + version: 8.1.0(react-native@0.74.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1) react-native-reanimated: specifier: ~3.10.1 version: 3.10.1(@babel/core@7.25.2)(react-native@0.74.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1) @@ -2559,6 +2565,9 @@ packages: '@remix-run/web-stream@1.1.0': resolution: {integrity: sha512-KRJtwrjRV5Bb+pM7zxcTJkhIqWWSy+MYsIxHK+0m5atcznsf15YwUBWHWulZerV2+vvHH1Lp1DD7pw6qKW8SgA==} + '@revenuecat/purchases-typescript-internal@13.1.0': + resolution: {integrity: sha512-rWG1KBQISQa6n7eiTIm6PutAwdi6/CMZ9gStNdD+G+BBP5AH/6xwAqEslO75/ARzDlT8gLITP8dgtaqQKGBi2Q==} + '@rn-primitives/collapsible@1.0.3': resolution: {integrity: sha512-C+SqlRn/5dmecBWf3ZbcAzODGBBKNUC20GJsm3Dc5fWMk93AEmxNPXo66V+9cQRDNb9liFIYiLfBfYD4mzEKpw==} peerDependencies: @@ -3043,6 +3052,9 @@ packages: peerDependencies: ajv: ^8.8.2 + ajv@8.11.0: + resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==} + ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} @@ -4094,6 +4106,26 @@ packages: peerDependencies: expo: '*' + expo-dev-client@4.0.25: + resolution: {integrity: sha512-yChhepKXvdw+1vXIayvnvU9s42DJfgmAtBC9JLu7Q+Bk/SqgLxmEBpcxj9iBhu9x79bnrbgHEkGaLi+N1PljyA==} + peerDependencies: + expo: '*' + + expo-dev-launcher@4.0.27: + resolution: {integrity: sha512-n+uUkcr5f5v5VR0sDw/sGna4aut2nTu3EiOqA0ijb8fBuelpgqYiBp2x7Su6wT6InoBHZxTBgVlyzgLNFGSdDw==} + peerDependencies: + expo: '*' + + expo-dev-menu-interface@1.8.3: + resolution: {integrity: sha512-QM0LRozeFT5Ek0N7XpV93M+HMdEKRLEOXn0aW5M3uoUlnqC1+PLtF3HMy3k3hMKTTE/kJ1y1Z7akH07T0lunCQ==} + peerDependencies: + expo: '*' + + expo-dev-menu@5.0.21: + resolution: {integrity: sha512-i7kOaxOeBksqgeUDvb5vb2cZIVLZhAX2rjLJNH3fBifiAWISeCBAQsKN9vAkMPQGqL9F88vjMyy14ca6Vo+fEw==} + peerDependencies: + expo: '*' + expo-device@6.0.2: resolution: {integrity: sha512-sCt91CuTmAuMXX4SlFOn4lIos2UIr8vb0jDstDDZXys6kErcj0uynC7bQAMreU5uRUTKMAl4MAMpKt9ufCXPBw==} peerDependencies: @@ -6229,6 +6261,12 @@ packages: react: '*' react-native: '*' + react-native-purchases@8.1.0: + resolution: {integrity: sha512-9v5KFhNgg8+PJyrJeoEcL2pZtymufs0u5DwuLR3A/n+QWaTO7/XdrfL5pvwxrWfhArWf45ODRb36oAe3X/8w9Q==} + peerDependencies: + react: '>= 16.6.3' + react-native: '*' + react-native-reanimated@3.10.1: resolution: {integrity: sha512-sfxg6vYphrDc/g4jf/7iJ7NRi+26z2+BszPmvmk0Vnrz6FL7HYljJqTf531F1x6tFmsf+FEAmuCtTUIXFLVo9w==} peerDependencies: @@ -7159,6 +7197,9 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + url-join@4.0.0: resolution: {integrity: sha512-EGXjXJZhIHiQMK2pQukuFcL303nskqIRzWvPvV5O8miOfwoUb9G+a/Cld60kUyeaybEI94wvVClT10DtfeAExA==} @@ -10441,6 +10482,8 @@ snapshots: dependencies: web-streams-polyfill: 3.3.3 + '@revenuecat/purchases-typescript-internal@13.1.0': {} + '@rn-primitives/collapsible@1.0.3(@types/react-dom@18.3.0)(@types/react@18.2.79)(react-dom@18.3.1(react@18.3.1))(react-native-web@0.19.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.74.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-collapsible': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.2.79)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -10959,6 +11002,13 @@ snapshots: ajv: 8.17.1 fast-deep-equal: 3.1.3 + ajv@8.11.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 @@ -12117,6 +12167,38 @@ snapshots: base64-js: 1.5.1 expo: 51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)) + expo-dev-client@4.0.25(expo@51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))): + dependencies: + expo: 51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)) + expo-dev-launcher: 4.0.27(expo@51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))) + expo-dev-menu: 5.0.21(expo@51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))) + expo-dev-menu-interface: 1.8.3(expo@51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))) + expo-manifests: 0.14.3(expo@51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))) + expo-updates-interface: 0.16.2(expo@51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))) + transitivePeerDependencies: + - supports-color + + expo-dev-launcher@4.0.27(expo@51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))): + dependencies: + ajv: 8.11.0 + expo: 51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)) + expo-dev-menu: 5.0.21(expo@51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))) + expo-manifests: 0.14.3(expo@51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))) + resolve-from: 5.0.0 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + + expo-dev-menu-interface@1.8.3(expo@51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))): + dependencies: + expo: 51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)) + + expo-dev-menu@5.0.21(expo@51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))): + dependencies: + expo: 51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)) + expo-dev-menu-interface: 1.8.3(expo@51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))) + semver: 7.6.3 + expo-device@6.0.2(expo@51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))): dependencies: expo: 51.0.31(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)) @@ -14602,6 +14684,12 @@ snapshots: react: 18.3.1 react-native: 0.74.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1) + react-native-purchases@8.1.0(react-native@0.74.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1): + dependencies: + '@revenuecat/purchases-typescript-internal': 13.1.0 + react: 18.3.1 + react-native: 0.74.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1) + react-native-reanimated@3.10.1(@babel/core@7.25.2)(react-native@0.74.2(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1): dependencies: '@babel/core': 7.25.2 @@ -15606,6 +15694,10 @@ snapshots: escalade: 3.1.2 picocolors: 1.0.1 + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + url-join@4.0.0: {} url-parse@1.5.10: