Browse Source

FEATURE | Multi stage .env

pull/7/head
Vitalik 1 year ago
parent
commit
207997a20f
  1. 3
      .env.development
  2. 3
      .env.production
  3. 3
      .env.stage
  4. 5
      .gitignore
  5. 79
      android/app/build.gradle
  6. 3
      android/settings.gradle
  7. 10
      ios/OneSignalNotificationServiceExtension/OneSignalNotificationServiceExtensionStage.Release.entitlements
  8. 1
      ios/Podfile
  9. 12
      ios/Podfile.lock
  10. 188
      ios/taskme2.xcodeproj/project.pbxproj
  11. 106
      ios/taskme2.xcodeproj/xcshareddata/xcschemes/taskme-stage.xcscheme
  12. 20
      ios/taskme2.xcodeproj/xcshareddata/xcschemes/taskme2.xcscheme
  13. 17
      ios/taskme2/Info.plist
  14. 12
      ios/taskme2/taskme2Stage.Release.entitlements
  15. 20
      package-lock.json
  16. 15
      package.json
  17. 4
      src/App.tsx
  18. 29
      src/config/index.ts

3
.env.development

@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
API_URL=http://localhost:3000
SOCKET_URL=http://localhost:3000
ONE_SIGNAL_KEY=8b9066f5-8c3f-49f7-bef4-c5ab621f9d27

3
.env.production

@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
API_URL=https://tasks-api.rwsbank.com.ua
SOCKET_URL=https://tasks-api.rwsbank.com.ua
ONE_SIGNAL_KEY=5e1a5e18-33e5-4ed3-8423-45b1abc354c6

3
.env.stage

@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
API_URL=https://taskme-api.work-jetup.site
SOCKET_URL=https://taskme-api.work-jetup.site
ONE_SIGNAL_KEY=8b9066f5-8c3f-49f7-bef4-c5ab621f9d27

5
.gitignore vendored

@ -71,4 +71,7 @@ buck-out/ @@ -71,4 +71,7 @@ buck-out/
./vendor
./vendor/*
vendor
vendor
.env

79
android/app/build.gradle

@ -1,88 +1,16 @@ @@ -1,88 +1,16 @@
apply plugin: "com.android.application"
apply plugin: "com.facebook.react"
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"
import com.android.build.OutputFile
/**
* 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 {
/* 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")
// The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js
// cliFile = file("../node_modules/react-native/cli.js")
/* 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 command to run when bundling. By default is 'bundle'
// bundleCommand = "ram-bundle"
//
// 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"]
}
/**
* Set this to true to create four separate APKs instead of one,
* one for each native architecture. This is useful if you don't
* use App Bundles (https://developer.android.com/guide/app-bundle/)
* and want to have separate APKs to upload to the Play Store.
*/
react {}
def enableSeparateBuildPerCPUArchitecture = false
/**
* Set this to true to Run Proguard on Release builds to minify the Java bytecode.
*/
def enableProguardInReleaseBuilds = false
/**
* 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:+'
/**
* Private function to get the list of Native Architectures you want to build.
* This reads the value from reactNativeArchitectures in your gradle.properties
* file and works together with the --active-arch-only flag of react-native run-android.
*/
def reactNativeArchitectures() {
def value = project.getProperties().get("reactNativeArchitectures")
return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
@ -99,6 +27,7 @@ android { @@ -99,6 +27,7 @@ android {
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 210
versionName "2.1"
resValue "string", "build_config_package", "com.app.task_me"
}
splits {

3
android/settings.gradle

@ -2,3 +2,6 @@ rootProject.name = 'taskme2' @@ -2,3 +2,6 @@ rootProject.name = 'taskme2'
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
include ':app'
includeBuild('../node_modules/react-native-gradle-plugin')
include ':react-native-config'
project(':react-native-config').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-config/android')

10
ios/OneSignalNotificationServiceExtension/OneSignalNotificationServiceExtensionStage.Release.entitlements

@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.app.taskme.stage.onesignal</string>
</array>
</dict>
</plist>

1
ios/Podfile

@ -26,6 +26,7 @@ target 'taskme2' do @@ -26,6 +26,7 @@ target 'taskme2' do
config = use_native_modules!
pod 'react-native-sqlite-storage', :path => '../node_modules/react-native-sqlite-storage'
pod 'react-native-config/Extension', :path => '../node_modules/react-native-config'
# Flags change depending on the env values.
flags = get_default_flags()

12
ios/Podfile.lock

@ -355,6 +355,11 @@ PODS: @@ -355,6 +355,11 @@ PODS:
- glog
- react-native-cameraroll (5.7.2):
- React-Core
- react-native-config (1.5.1):
- react-native-config/App (= 1.5.1)
- react-native-config/App (1.5.1):
- React-Core
- react-native-config/Extension (1.5.1)
- react-native-date-picker (4.2.13):
- React-Core
- react-native-document-picker (9.0.1):
@ -609,6 +614,8 @@ DEPENDENCIES: @@ -609,6 +614,8 @@ DEPENDENCIES:
- React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
- React-logger (from `../node_modules/react-native/ReactCommon/logger`)
- "react-native-cameraroll (from `../node_modules/@react-native-camera-roll/camera-roll`)"
- react-native-config (from `../node_modules/react-native-config`)
- react-native-config/Extension (from `../node_modules/react-native-config`)
- react-native-date-picker (from `../node_modules/react-native-date-picker`)
- react-native-document-picker (from `../node_modules/react-native-document-picker`)
- react-native-html-to-pdf (from `../node_modules/react-native-html-to-pdf`)
@ -726,6 +733,8 @@ EXTERNAL SOURCES: @@ -726,6 +733,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon/logger"
react-native-cameraroll:
:path: "../node_modules/@react-native-camera-roll/camera-roll"
react-native-config:
:path: "../node_modules/react-native-config"
react-native-date-picker:
:path: "../node_modules/react-native-date-picker"
react-native-document-picker:
@ -859,6 +868,7 @@ SPEC CHECKSUMS: @@ -859,6 +868,7 @@ SPEC CHECKSUMS:
React-jsinspector: f4ccc5e774f1f7530f55f5367826f7158e3146aa
React-logger: 48c0f8e4e2314c50661a827019b506c172328049
react-native-cameraroll: 134805127580aed23403b8c2cb1548920dd77b3a
react-native-config: 86038147314e2e6d10ea9972022aa171e6b1d4d8
react-native-date-picker: 04e866ba4e7857f83abd504ad42e787f0f02ae00
react-native-document-picker: 2b8f18667caee73a96708a82b284a4f40b30a156
react-native-html-to-pdf: 4c5c6e26819fe202971061594058877aa9b25265
@ -911,6 +921,6 @@ SPEC CHECKSUMS: @@ -911,6 +921,6 @@ SPEC CHECKSUMS:
Yoga: 540948b36b46e9469992c4d30ddcc21110b8afe5
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
PODFILE CHECKSUM: 8b482b755d9e353d5963aa936fa181a2d5fcf1d2
PODFILE CHECKSUM: c269a7efafc308e998d432292530c667a3d2655c
COCOAPODS: 1.12.1

188
ios/taskme2.xcodeproj/project.pbxproj

@ -44,14 +44,14 @@ @@ -44,14 +44,14 @@
/* Begin PBXCopyFilesBuildPhase section */
04FBB3542A84CD0D00436C19 /* Embed Foundation Extensions */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
buildActionMask = 8;
dstPath = "";
dstSubfolderSpec = 13;
files = (
04FBB3502A84CD0D00436C19 /* OneSignalNotificationServiceExtension.appex in Embed Foundation Extensions */,
);
name = "Embed Foundation Extensions";
runOnlyForDeploymentPostprocessing = 0;
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
@ -60,11 +60,14 @@ @@ -60,11 +60,14 @@
00E356EE1AD99517003FC87E /* taskme2Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = taskme2Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
00E356F21AD99517003FC87E /* taskme2Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = taskme2Tests.m; sourceTree = "<group>"; };
04D8E49A2B0BA79200ACC6E2 /* OneSignalNotificationServiceExtensionStage.Release.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = OneSignalNotificationServiceExtensionStage.Release.entitlements; sourceTree = "<group>"; };
04D8E49B2B0BA7BA00ACC6E2 /* taskme2Stage.Release.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = taskme2Stage.Release.entitlements; path = taskme2/taskme2Stage.Release.entitlements; sourceTree = "<group>"; };
04FBB3442A84CC6700436C19 /* taskme2.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = taskme2.entitlements; path = taskme2/taskme2.entitlements; sourceTree = "<group>"; };
04FBB3492A84CD0D00436C19 /* OneSignalNotificationServiceExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = OneSignalNotificationServiceExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
04FBB34B2A84CD0D00436C19 /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = "<group>"; };
04FBB34D2A84CD0D00436C19 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
04FBB3552A84CDFA00436C19 /* OneSignalNotificationServiceExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = OneSignalNotificationServiceExtension.entitlements; sourceTree = "<group>"; };
08D358D544954D5B56BAFFAC /* Pods-taskme2-taskme2Tests.stage.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-taskme2-taskme2Tests.stage.debug.xcconfig"; path = "Target Support Files/Pods-taskme2-taskme2Tests/Pods-taskme2-taskme2Tests.stage.debug.xcconfig"; sourceTree = "<group>"; };
0AC2880E5264076073DF865D /* Pods-taskme2-taskme2Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-taskme2-taskme2Tests.release.xcconfig"; path = "Target Support Files/Pods-taskme2-taskme2Tests/Pods-taskme2-taskme2Tests.release.xcconfig"; sourceTree = "<group>"; };
0FD9FA6914F2DA8781CBD173 /* libPods-taskme2.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-taskme2.a"; sourceTree = BUILT_PRODUCTS_DIR; };
127996D261A12456ADB5A870 /* Pods-OneSignalNotificationServiceExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OneSignalNotificationServiceExtension.debug.xcconfig"; path = "Target Support Files/Pods-OneSignalNotificationServiceExtension/Pods-OneSignalNotificationServiceExtension.debug.xcconfig"; sourceTree = "<group>"; };
@ -76,16 +79,21 @@ @@ -76,16 +79,21 @@
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = taskme2/main.m; sourceTree = "<group>"; };
36EEF9A60D044056856CEEA6 /* Gilroy-Semibold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Gilroy-Semibold.ttf"; path = "../src/assets/fonts/Gilroy-Semibold.ttf"; sourceTree = "<group>"; };
527F61C1DD2E37B4CB3A2F5C /* libPods-taskme2-taskme2Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-taskme2-taskme2Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
625CB8CD85666B1AC0D40D6F /* Pods-taskme2.stage.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-taskme2.stage.release.xcconfig"; path = "Target Support Files/Pods-taskme2/Pods-taskme2.stage.release.xcconfig"; sourceTree = "<group>"; };
6D174334360E40AEAC86E003 /* fontello.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = fontello.ttf; path = ../src/assets/fonts/fontello.ttf; sourceTree = "<group>"; };
6D9AB5D106199D173D35A220 /* Pods-taskme2.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-taskme2.debug.xcconfig"; path = "Target Support Files/Pods-taskme2/Pods-taskme2.debug.xcconfig"; sourceTree = "<group>"; };
73C040992F14443E396EB91F /* Pods-taskme2.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-taskme2.release.xcconfig"; path = "Target Support Files/Pods-taskme2/Pods-taskme2.release.xcconfig"; sourceTree = "<group>"; };
7B57C84A260CC1F37F7723E8 /* Pods-OneSignalNotificationServiceExtension.stage.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OneSignalNotificationServiceExtension.stage.release.xcconfig"; path = "Target Support Files/Pods-OneSignalNotificationServiceExtension/Pods-OneSignalNotificationServiceExtension.stage.release.xcconfig"; sourceTree = "<group>"; };
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = taskme2/LaunchScreen.storyboard; sourceTree = "<group>"; };
821D0F756B605E607EC149FE /* Pods-taskme2-taskme2Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-taskme2-taskme2Tests.debug.xcconfig"; path = "Target Support Files/Pods-taskme2-taskme2Tests/Pods-taskme2-taskme2Tests.debug.xcconfig"; sourceTree = "<group>"; };
878DA92B557C81DAFFCEF3BA /* Pods-OneSignalNotificationServiceExtension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OneSignalNotificationServiceExtension.release.xcconfig"; path = "Target Support Files/Pods-OneSignalNotificationServiceExtension/Pods-OneSignalNotificationServiceExtension.release.xcconfig"; sourceTree = "<group>"; };
A86FA5C0ED15EDDDD22D2FCF /* libPods-OneSignalNotificationServiceExtension.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-OneSignalNotificationServiceExtension.a"; sourceTree = BUILT_PRODUCTS_DIR; };
B25C228D4A644A728CA3561E /* Gilroy-Medium.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Gilroy-Medium.ttf"; path = "../src/assets/fonts/Gilroy-Medium.ttf"; sourceTree = "<group>"; };
CE34B284F5419976E086BB2A /* Pods-OneSignalNotificationServiceExtension.stage.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OneSignalNotificationServiceExtension.stage.debug.xcconfig"; path = "Target Support Files/Pods-OneSignalNotificationServiceExtension/Pods-OneSignalNotificationServiceExtension.stage.debug.xcconfig"; sourceTree = "<group>"; };
D66CD33E4DEC4377944DC7F7 /* Gilroy-Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Gilroy-Regular.ttf"; path = "../src/assets/fonts/Gilroy-Regular.ttf"; sourceTree = "<group>"; };
E17C446E92AE22D017263DBA /* Pods-taskme2-taskme2Tests.stage.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-taskme2-taskme2Tests.stage.release.xcconfig"; path = "Target Support Files/Pods-taskme2-taskme2Tests/Pods-taskme2-taskme2Tests.stage.release.xcconfig"; sourceTree = "<group>"; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
FE3A727783B541D29D3F1C9F /* Pods-taskme2.stage.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-taskme2.stage.debug.xcconfig"; path = "Target Support Files/Pods-taskme2/Pods-taskme2.stage.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -136,6 +144,7 @@ @@ -136,6 +144,7 @@
04FBB34A2A84CD0D00436C19 /* OneSignalNotificationServiceExtension */ = {
isa = PBXGroup;
children = (
04D8E49A2B0BA79200ACC6E2 /* OneSignalNotificationServiceExtensionStage.Release.entitlements */,
04FBB3552A84CDFA00436C19 /* OneSignalNotificationServiceExtension.entitlements */,
04FBB34B2A84CD0D00436C19 /* NotificationService.swift */,
04FBB34D2A84CD0D00436C19 /* Info.plist */,
@ -146,6 +155,7 @@ @@ -146,6 +155,7 @@
13B07FAE1A68108700A75B9A /* taskme2 */ = {
isa = PBXGroup;
children = (
04D8E49B2B0BA7BA00ACC6E2 /* taskme2Stage.Release.entitlements */,
04FBB3442A84CC6700436C19 /* taskme2.entitlements */,
13B07FAF1A68108700A75B9A /* AppDelegate.h */,
13B07FB01A68108700A75B9A /* AppDelegate.mm */,
@ -223,6 +233,12 @@ @@ -223,6 +233,12 @@
0AC2880E5264076073DF865D /* Pods-taskme2-taskme2Tests.release.xcconfig */,
127996D261A12456ADB5A870 /* Pods-OneSignalNotificationServiceExtension.debug.xcconfig */,
878DA92B557C81DAFFCEF3BA /* Pods-OneSignalNotificationServiceExtension.release.xcconfig */,
7B57C84A260CC1F37F7723E8 /* Pods-OneSignalNotificationServiceExtension.stage.release.xcconfig */,
CE34B284F5419976E086BB2A /* Pods-OneSignalNotificationServiceExtension.stage.debug.xcconfig */,
625CB8CD85666B1AC0D40D6F /* Pods-taskme2.stage.release.xcconfig */,
FE3A727783B541D29D3F1C9F /* Pods-taskme2.stage.debug.xcconfig */,
E17C446E92AE22D017263DBA /* Pods-taskme2-taskme2Tests.stage.release.xcconfig */,
08D358D544954D5B56BAFFAC /* Pods-taskme2-taskme2Tests.stage.debug.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
@ -630,6 +646,170 @@ @@ -630,6 +646,170 @@
};
name = Release;
};
04D8E4962B0BA3EF00ACC6E2 /* Stage.Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
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;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386;
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 = 12.4;
LD_RUNPATH_SEARCH_PATHS = (
/usr/lib/swift,
"$(inherited)",
);
LIBRARY_SEARCH_PATHS = (
"\"$(SDKROOT)/usr/lib/swift\"",
"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
"\"$(inherited)\"",
);
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CFLAGS)",
"-DFOLLY_NO_CONFIG",
"-DFOLLY_MOBILE=1",
"-DFOLLY_USE_LIBCPP=1",
);
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
name = Stage.Release;
};
04D8E4972B0BA3EF00ACC6E2 /* Stage.Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 625CB8CD85666B1AC0D40D6F /* Pods-taskme2.stage.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = taskme2/taskme2Stage.Release.entitlements;
CURRENT_PROJECT_VERSION = 6;
DEVELOPMENT_TEAM = HQ3J3TDPR2;
INFOPLIST_FILE = taskme2/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "Task me ;)";
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 2.2;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = com.app.taskme.stage;
PRODUCT_NAME = taskme2;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
};
name = Stage.Release;
};
04D8E4982B0BA3EF00ACC6E2 /* Stage.Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = E17C446E92AE22D017263DBA /* Pods-taskme2-taskme2Tests.stage.release.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
COPY_PHASE_STRIP = NO;
INFOPLIST_FILE = taskme2Tests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
"$(inherited)",
);
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/taskme2.app/taskme2";
};
name = Stage.Release;
};
04D8E4992B0BA3EF00ACC6E2 /* Stage.Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7B57C84A260CC1F37F7723E8 /* Pods-OneSignalNotificationServiceExtension.stage.release.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_ENTITLEMENTS = OneSignalNotificationServiceExtension/OneSignalNotificationServiceExtensionStage.Release.entitlements;
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = HQ3J3TDPR2;
GCC_C_LANGUAGE_STANDARD = gnu11;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = OneSignalNotificationServiceExtension/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = OneSignalNotificationServiceExtension;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 2.1;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.app.taskme.stage.OneSignalNotificationServiceExtension;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Stage.Release;
};
04FBB3522A84CD0D00436C19 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 127996D261A12456ADB5A870 /* Pods-OneSignalNotificationServiceExtension.debug.xcconfig */;
@ -927,6 +1107,7 @@ @@ -927,6 +1107,7 @@
buildConfigurations = (
00E356F61AD99517003FC87E /* Debug */,
00E356F71AD99517003FC87E /* Release */,
04D8E4982B0BA3EF00ACC6E2 /* Stage.Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@ -936,6 +1117,7 @@ @@ -936,6 +1117,7 @@
buildConfigurations = (
04FBB3522A84CD0D00436C19 /* Debug */,
04FBB3532A84CD0D00436C19 /* Release */,
04D8E4992B0BA3EF00ACC6E2 /* Stage.Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@ -945,6 +1127,7 @@ @@ -945,6 +1127,7 @@
buildConfigurations = (
13B07F941A680F5B00A75B9A /* Debug */,
13B07F951A680F5B00A75B9A /* Release */,
04D8E4972B0BA3EF00ACC6E2 /* Stage.Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@ -954,6 +1137,7 @@ @@ -954,6 +1137,7 @@
buildConfigurations = (
83CBBA201A601CBA00E9B192 /* Debug */,
83CBBA211A601CBA00E9B192 /* Release */,
04D8E4962B0BA3EF00ACC6E2 /* Stage.Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;

106
ios/taskme2.xcodeproj/xcshareddata/xcschemes/taskme-stage.xcscheme

@ -0,0 +1,106 @@ @@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1210"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<PreActions>
<ExecutionAction
ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
<ActionContent
title = "Run Script"
scriptText = "cp &quot;${PROJECT_DIR}/../.env.stage&quot; &quot;${PROJECT_DIR}/../.env&quot;;&#10;echo &#x201c;.env.stage&#x201d; &gt; /tmp/envfile;&#10;touch &quot;${PROJECT_DIR}/../node_modules/react-native-config/ios/ReactNativeConfig/BuildDotenvConfig.rb&quot;&#10;">
<EnvironmentBuildable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
BuildableName = "taskme2.app"
BlueprintName = "taskme2"
ReferencedContainer = "container:taskme2.xcodeproj">
</BuildableReference>
</EnvironmentBuildable>
</ActionContent>
</ExecutionAction>
</PreActions>
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
BuildableName = "taskme2.app"
BlueprintName = "taskme2"
ReferencedContainer = "container:taskme2.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "00E356ED1AD99517003FC87E"
BuildableName = "taskme2Tests.xctest"
BlueprintName = "taskme2Tests"
ReferencedContainer = "container:taskme2.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Stage.Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
BuildableName = "taskme2.app"
BlueprintName = "taskme2"
ReferencedContainer = "container:taskme2.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
BuildableName = "taskme2.app"
BlueprintName = "taskme2"
ReferencedContainer = "container:taskme2.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Stage.Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

20
ios/taskme2.xcodeproj/xcshareddata/xcschemes/taskme2.xcscheme

@ -1,10 +1,28 @@ @@ -1,10 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1210"
version = "1.3">
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<PreActions>
<ExecutionAction
ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
<ActionContent
title = "Run Script"
scriptText = "cp &quot;${PROJECT_DIR}/../.env.production&quot; &quot;${PROJECT_DIR}/../.env&quot;;&#10;echo &#x201c;.env.production&#x201d; &gt; /tmp/envfile;&#10;touch &quot;${PROJECT_DIR}/../node_modules/react-native-config/ios/ReactNativeConfig/BuildDotenvConfig.rb&quot;&#10;">
<EnvironmentBuildable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
BuildableName = "taskme2.app"
BlueprintName = "taskme2"
ReferencedContainer = "container:taskme2.xcodeproj">
</BuildableReference>
</EnvironmentBuildable>
</ActionContent>
</ExecutionAction>
</PreActions>
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"

17
ios/taskme2/Info.plist

@ -41,10 +41,14 @@ @@ -41,10 +41,14 @@
</dict>
</dict>
</dict>
<key>NSAppleMusicUsageDescription</key>
<string>Додаток не потребує цього дозволу.</string>
<key>NSCameraUsageDescription</key>
<string>Потрібно надати доступ до камери</string>
<key>NSContactsUsageDescription</key>
<string>Додаток не потребує цього дозволу.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string></string>
<string>Додаток не потребує цього дозволу.</string>
<key>NSMicrophoneUsageDescription</key>
<string>Потрібно надати доступ для запису відео/аудіо</string>
<key>NSPhotoLibraryUsageDescription</key>
@ -82,14 +86,7 @@ @@ -82,14 +86,7 @@
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>NSContactsUsageDescription</key>
<string>Додаток не потребує цього дозволу.</string>
<key>NSAppleMusicUsageDescription</key>
<string>Додаток не потребує цього дозволу.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Додаток не потребує цього дозволу.</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
</dict>
</plist>

12
ios/taskme2/taskme2Stage.Release.entitlements

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>development</string>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.app.taskme.stage.onesignal</string>
</array>
</dict>
</plist>

20
package-lock.json generated

@ -40,6 +40,7 @@ @@ -40,6 +40,7 @@
"react-native-audio-recorder-player": "^3.5.3",
"react-native-autolink": "^4.1.0",
"react-native-calendars": "^1.1298.0",
"react-native-config": "^1.5.1",
"react-native-controlled-mentions": "^2.2.5",
"react-native-date-picker": "^4.2.13",
"react-native-device-info": "^10.6.0",
@ -14694,6 +14695,19 @@ @@ -14694,6 +14695,19 @@
"resolved": "https://registry.npmjs.org/react-native-communications/-/react-native-communications-2.2.1.tgz",
"integrity": "sha512-5+C0X9mopI0+qxyQHzOPEi5v5rxNBQjxydPPiKMQSlX1RBIcJ8uTcqUPssQ9Mo8p6c1IKIWJUSqCj4jAmD0qVQ=="
},
"node_modules/react-native-config": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/react-native-config/-/react-native-config-1.5.1.tgz",
"integrity": "sha512-g1xNgt1tV95FCX+iWz6YJonxXkQX0GdD3fB8xQtR1GUBEqweB9zMROW77gi2TygmYmUkBI7LU4pES+zcTyK4HA==",
"peerDependencies": {
"react-native-windows": ">=0.61"
},
"peerDependenciesMeta": {
"react-native-windows": {
"optional": true
}
}
},
"node_modules/react-native-controlled-mentions": {
"version": "2.2.5",
"resolved": "https://registry.npmjs.org/react-native-controlled-mentions/-/react-native-controlled-mentions-2.2.5.tgz",
@ -28610,6 +28624,12 @@ @@ -28610,6 +28624,12 @@
"resolved": "https://registry.npmjs.org/react-native-communications/-/react-native-communications-2.2.1.tgz",
"integrity": "sha512-5+C0X9mopI0+qxyQHzOPEi5v5rxNBQjxydPPiKMQSlX1RBIcJ8uTcqUPssQ9Mo8p6c1IKIWJUSqCj4jAmD0qVQ=="
},
"react-native-config": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/react-native-config/-/react-native-config-1.5.1.tgz",
"integrity": "sha512-g1xNgt1tV95FCX+iWz6YJonxXkQX0GdD3fB8xQtR1GUBEqweB9zMROW77gi2TygmYmUkBI7LU4pES+zcTyK4HA==",
"requires": {}
},
"react-native-controlled-mentions": {
"version": "2.2.5",
"resolved": "https://registry.npmjs.org/react-native-controlled-mentions/-/react-native-controlled-mentions-2.2.5.tgz",

15
package.json

@ -8,10 +8,18 @@ @@ -8,10 +8,18 @@
"lint": "eslint .",
"start": "react-native start",
"test": "jest",
"setDevelopment": "ENVFILE=.env.development",
"setStaging": "ENVFILE=.env.stage",
"setProduction": "ENVFILE=.env.production",
"postinstall": "react-native setup-ios-permissions && pod-install",
"build:ios": "react-native bundle --entry-file='index.js' --bundle-output='./ios/main.jsbundle' --dev=false --platform='ios'",
"build:android": "cd android && ./gradlew assembleRelease",
"build:android:prod": "cd android && ./gradlew bundleRelease"
"aos:clean": "cd android && ./gradlew clean",
"aos:dev": "ENVFILE=.env.development react-native run-android",
"aos:stage": "ENVFILE=.env.stage react-native run-android",
"aos:build:stage": "cd android && ENVFILE=.env.stage ./gradlew assembleRelease",
"aos:prod": "ENVFILE=.env.production react-native run-android",
"aos:build:prod": "cd android && ENVFILE=.env.production ./gradlew assembleRelease",
"aos:build:bundle": "cd android && ENVFILE=.env.production ./gradlew bundleRelease"
},
"dependencies": {
"@bitalikrty/redux-create-reducer": "^1.0.0",
@ -45,6 +53,7 @@ @@ -45,6 +53,7 @@
"react-native-audio-recorder-player": "^3.5.3",
"react-native-autolink": "^4.1.0",
"react-native-calendars": "^1.1298.0",
"react-native-config": "^1.5.1",
"react-native-controlled-mentions": "^2.2.5",
"react-native-date-picker": "^4.2.13",
"react-native-device-info": "^10.6.0",

4
src/App.tsx

@ -5,13 +5,14 @@ import store from './store' @@ -5,13 +5,14 @@ import store from './store'
import './services/system/reactron.service'
import { ThemeProvider } from './shared/themes'
// import Orientation from 'react-native-orientation-locker'
import { LogBox } from 'react-native'
import { LogBox, Text } from 'react-native'
import { appService } from './services/app.service'
import 'react-native-gesture-handler'
import { BottomSheetModalProvider } from '@gorhom/bottom-sheet'
import { SafeAreaProvider } from 'react-native-safe-area-context'
import { GestureHandlerRootView } from 'react-native-gesture-handler'
import Config from 'react-native-config'
LogBox.ignoreLogs(['Warning: ...', 'Require cycle: ...']) // Ignore log notification by message
LogBox.ignoreAllLogs() //Ignore all log notifications
@ -24,6 +25,7 @@ const App: FC = () => { @@ -24,6 +25,7 @@ const App: FC = () => {
return (
<SafeAreaProvider>
<Text>{Config.API_URL}</Text>
<ThemeProvider key="theme-provider">
<BottomSheetModalProvider key="bottom-sheet">
<GestureHandlerRootView style={{ flex: 1 }}>

29
src/config/index.ts

@ -1,32 +1,15 @@ @@ -1,32 +1,15 @@
import Config from 'react-native-config'
import { fonts } from './fonts'
/**
* Dev
*/
export const dynamicConfig = {
// baseUrl: 'http://localhost:3000',
// socketUrl: 'http://localhost:3000',
// baseUrl: 'https://5763-46-63-4-20.ngrok.io',
// socketUrl: 'https://5763-46-63-4-20.ngrok.io',
// baseUrl: 'http://46.101.170.206:5000/app/',
// socketUrl: 'http://46.101.170.206:5000',
// baseUrl: 'https://taskme-api.work-jetup.site',
// socketUrl: 'https://taskme-api.work-jetup.site',
// baseUrl: 'http://185.69.154.136:5000',
// socketUrl: 'http://185.69.154.136:5000',
baseUrl: 'https://tasks-api.rwsbank.com.ua',
socketUrl: 'https://tasks-api.rwsbank.com.ua',
// oneSignalKey: '8b9066f5-8c3f-49f7-bef4-c5ab621f9d27', //stage
oneSignalKey: '5e1a5e18-33e5-4ed3-8423-45b1abc354c6',
export const dynamicConfig = {
baseUrl: Config.API_URL,
socketUrl: Config.SOCKET_URL,
oneSignalKey: Config.ONE_SIGNAL_KEY,
appStoreUrl: 'https://apps.apple.com/ua/app/task-me/id1482240685?l=uk',
googlePlayUrl:
'https://play.google.com/store/apps/details?id=com.app.task_me',
}
console.log('config', Config)
export const config = {
...dynamicConfig,

Loading…
Cancel
Save