google free and metrics free
Signed-off-by: andrey <motor4ik@gmail.com>
This commit is contained in:
parent
95be83756b
commit
f39b688e89
2
.env
2
.env
|
@ -21,13 +21,11 @@ STATUS_GO_ENABLE_NIMBUS=0
|
|||
KEYCARD_TEST_MENU=0
|
||||
QR_READ_TEST_MENU=1
|
||||
ENABLE_ROOT_ALERT=1
|
||||
ENABLE_REFERRAL_INVITE=1
|
||||
ENABLE_QUO_PREVIEW=1
|
||||
MAX_IMAGES_BATCH=5
|
||||
APN_TOPIC=im.status.ethereum.pr
|
||||
COMMUNITIES_ENABLED=1
|
||||
DATABASE_MANAGEMENT_ENABLED=1
|
||||
METRICS_ENABLED=0
|
||||
DELETE_MESSAGE_ENABLED=1
|
||||
COLLECTIBLES_ENABLED=1
|
||||
COMMANDS_ENABLED=1
|
||||
|
|
2
.env.e2e
2
.env.e2e
|
@ -21,7 +21,6 @@ COMMANDS_ENABLED=1
|
|||
KEYCARD_TEST_MENU=1
|
||||
QR_READ_TEST_MENU=1
|
||||
ENABLE_ROOT_ALERT=0
|
||||
ENABLE_REFERRAL_INVITE=1
|
||||
MAX_IMAGES_BATCH=5
|
||||
APN_TOPIC=im.status.ethereum.pr
|
||||
VERIFY_TRANSACTION_CHAIN_ID=3
|
||||
|
@ -30,7 +29,6 @@ TEST_STATEOFUS=1
|
|||
DATABASE_MANAGEMENT_ENABLED=1
|
||||
COMMUNITIES_ENABLED=1
|
||||
COMMUNITIES_MANAGEMENT_ENABLED=1
|
||||
METRICS_ENABLED=0
|
||||
DELETE_MESSAGE_ENABLED=1
|
||||
TWO_MINUTES_SYNCING=1
|
||||
STICKERS_TEST_ENABLED=1
|
|
@ -20,7 +20,6 @@ STATUS_GO_ENABLE_NIMBUS=0
|
|||
COMMANDS_ENABLED=1
|
||||
KEYCARD_TEST_MENU=0
|
||||
ENABLE_ROOT_ALERT=1
|
||||
ENABLE_REFERRAL_INVITE=1
|
||||
DISABLE_WALLET_ON_MOBILE_NETWORK=1
|
||||
APN_TOPIC=im.status.ethereum.pr
|
||||
VERIFY_TRANSACTION_CHAIN_ID=3
|
||||
|
@ -28,11 +27,9 @@ VERIFY_ENS_CHAIN_ID=3
|
|||
TEST_STATEOFUS=1
|
||||
BLANK_PREVIEW=0
|
||||
MAX_IMAGES_BATCH=5
|
||||
GOOGLE_FREE=0
|
||||
DATABASE_MANAGEMENT_ENABLED=1
|
||||
COMMUNITIES_ENABLED=1
|
||||
COMMUNITIES_MANAGEMENT_ENABLED=1
|
||||
METRICS_ENABLED=0
|
||||
DELETE_MESSAGE_ENABLED=1
|
||||
TWO_MINUTES_SYNCING=1
|
||||
ENABLE_QUO_PREVIEW=1
|
||||
|
|
|
@ -16,10 +16,8 @@ RPC_NETWORKS_ONLY=0
|
|||
PARTITIONED_TOPIC=0
|
||||
CONTRACT_NODES=1
|
||||
ENABLE_ROOT_ALERT=1
|
||||
ENABLE_REFERRAL_INVITE=0
|
||||
MAX_IMAGES_BATCH=5
|
||||
BLANK_PREVIEW=0
|
||||
COMMUNITIES_ENABLED=1
|
||||
DATABASE_MANAGEMENT_ENABLED=1
|
||||
METRICS_ENABLED=0
|
||||
DELETE_MESSAGE_ENABLED=1
|
||||
|
|
|
@ -16,7 +16,5 @@ RPC_NETWORKS_ONLY=1
|
|||
PARTITIONED_TOPIC=0
|
||||
ENABLE_ROOT_ALERT=1
|
||||
MAX_IMAGES_BATCH=1
|
||||
ENABLE_REFERRAL_INVITE=0
|
||||
METRICS_ENABLED=0
|
||||
DELETE_MESSAGE_ENABLED=1
|
||||
COLLECTIBLES_ENABLED=1
|
||||
|
|
2
Makefile
2
Makefile
|
@ -205,9 +205,7 @@ release-fdroid: export BUILD_TYPE = release
|
|||
release-fdroid: export ANDROID_APK_SIGNED = false
|
||||
release-fdroid: export ANDROID_ABI_SPLIT = false
|
||||
release-fdroid: export ANDROID_ABI_INCLUDE = armeabi-v7a;arm64-v8a;x86;x86_64
|
||||
release-fdroid: export READER_FEATURES = google-free
|
||||
release-fdroid: ##@build Build release for F-Droid
|
||||
scripts/google-free.sh
|
||||
scripts/release-android.sh
|
||||
|
||||
release-ios: export TARGET := ios
|
||||
|
|
|
@ -123,11 +123,6 @@ def jscFlavor = 'org.webkit:android-jsc:+'
|
|||
*/
|
||||
def enableHermes = project.ext.react.get("enableHermes", false);
|
||||
|
||||
/**
|
||||
* Exclude google library so we can publish to external android stores
|
||||
*/
|
||||
def googleFree = project.env.get("GOOGLE_FREE", 0) == '1'
|
||||
|
||||
def getCommitHash = { ->
|
||||
if (project.hasProperty("commitHash")) {
|
||||
return project.commitHash
|
||||
|
@ -335,16 +330,6 @@ dependencies {
|
|||
implementation jscFlavor
|
||||
}
|
||||
|
||||
if (googleFree) {
|
||||
implementation(project(':react-native-device-info')) {
|
||||
exclude group: 'com.google.firebase'
|
||||
exclude group: 'com.google.android.gms'
|
||||
exclude group: 'com.android.installreferrer'
|
||||
}
|
||||
} else {
|
||||
implementation 'com.google.firebase:firebase-messaging:23.0.0'
|
||||
}
|
||||
|
||||
// react-native-screens
|
||||
implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
|
||||
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02'
|
||||
|
@ -396,7 +381,3 @@ task hemroidBuild(type: Exec) {
|
|||
preBuild.dependsOn hemroidBuild
|
||||
|
||||
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
|
||||
|
||||
if (!googleFree) {
|
||||
apply plugin: "com.google.gms.google-services"
|
||||
}
|
||||
|
|
|
@ -1,119 +0,0 @@
|
|||
{
|
||||
"project_info": {
|
||||
"project_number": "854811651919",
|
||||
"firebase_url": "https://status-react-app.firebaseio.com",
|
||||
"project_id": "status-react-app",
|
||||
"storage_bucket": "status-react-app.appspot.com"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:854811651919:android:11ee7444ded8a00a",
|
||||
"android_client_info": {
|
||||
"package_name": "im.status.ethereum"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "854811651919-gua52csicclb5p9gr4eeu33ukk0aaphj.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyAOF4W1j8GYeXzzVKRfNKlXywD6bx0rJtQ"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "854811651919-gua52csicclb5p9gr4eeu33ukk0aaphj.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
},
|
||||
{
|
||||
"client_id": "854811651919-30s20e3l0me0ins0vc4185jbnj7ja49o.apps.googleusercontent.com",
|
||||
"client_type": 2,
|
||||
"ios_info": {
|
||||
"bundle_id": "im.status.ethereum"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:854811651919:android:15dbe4af1e06ca3e005f3a",
|
||||
"android_client_info": {
|
||||
"package_name": "im.status.ethereum.debug"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "854811651919-gua52csicclb5p9gr4eeu33ukk0aaphj.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyAOF4W1j8GYeXzzVKRfNKlXywD6bx0rJtQ"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "854811651919-gua52csicclb5p9gr4eeu33ukk0aaphj.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
},
|
||||
{
|
||||
"client_id": "854811651919-30s20e3l0me0ins0vc4185jbnj7ja49o.apps.googleusercontent.com",
|
||||
"client_type": 2,
|
||||
"ios_info": {
|
||||
"bundle_id": "im.status.ethereum"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:854811651919:android:1d0d69fe8c1bb89b005f3a",
|
||||
"android_client_info": {
|
||||
"package_name": "im.status.ethereum.pr"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "854811651919-gua52csicclb5p9gr4eeu33ukk0aaphj.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyAOF4W1j8GYeXzzVKRfNKlXywD6bx0rJtQ"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "854811651919-gua52csicclb5p9gr4eeu33ukk0aaphj.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
},
|
||||
{
|
||||
"client_id": "854811651919-30s20e3l0me0ins0vc4185jbnj7ja49o.apps.googleusercontent.com",
|
||||
"client_type": 2,
|
||||
"ios_info": {
|
||||
"bundle_id": "im.status.ethereum"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"configuration_version": "1"
|
||||
}
|
|
@ -81,12 +81,6 @@
|
|||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/file_provider_paths" />
|
||||
</provider>
|
||||
<meta-data
|
||||
android:name="com.google.firebase.messaging.default_notification_icon"
|
||||
android:resource="@drawable/notification_icon" />
|
||||
<meta-data
|
||||
android:name="com.google.firebase.messaging.default_notification_color"
|
||||
android:resource="@color/notification_icon_color" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
|
|
|
@ -2,5 +2,4 @@
|
|||
<resources>
|
||||
<color name="alert_background">#ffffff</color>
|
||||
<color name="alert_text">#000000</color>
|
||||
<color name="notification_icon_color">#4360DF</color>
|
||||
</resources>
|
||||
|
|
|
@ -22,7 +22,6 @@ buildscript {
|
|||
dependencies {
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.31"
|
||||
classpath "com.android.tools.build:gradle:${project.ext.gradlePluginVersion}"
|
||||
classpath "com.google.gms:google-services:4.3.10"
|
||||
// WARNING: Do not place your application dependencies here!
|
||||
// They belong in the individual module build.gradle files.
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ PODS:
|
|||
- boost-for-react-native (1.63.0)
|
||||
- BVLinearGradient (2.5.6):
|
||||
- React
|
||||
- CryptoSwift (1.5.1)
|
||||
- CryptoSwift (1.4.3)
|
||||
- DoubleConversion (1.1.6)
|
||||
- FBLazyVector (0.63.4)
|
||||
- FBReactNativeSpec (0.63.4):
|
||||
|
@ -226,8 +226,6 @@ PODS:
|
|||
- React-Core
|
||||
- react-native-netinfo (4.7.0):
|
||||
- React
|
||||
- react-native-notifications (4.1.3):
|
||||
- React-Core
|
||||
- react-native-randombytes (3.6.1):
|
||||
- React-Core
|
||||
- react-native-safe-area-context (2.0.0):
|
||||
|
@ -326,8 +324,6 @@ PODS:
|
|||
- React
|
||||
- RNCPushNotificationIOS (1.4.1):
|
||||
- React
|
||||
- RNDeviceInfo (7.4.0):
|
||||
- React-Core
|
||||
- RNFastImage (8.5.11):
|
||||
- React-Core
|
||||
- SDWebImage (~> 5.11.1)
|
||||
|
@ -436,7 +432,6 @@ DEPENDENCIES:
|
|||
- react-native-image-resizer (from `../node_modules/react-native-image-resizer`)
|
||||
- react-native-mail (from `../node_modules/react-native-mail`)
|
||||
- "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
|
||||
- react-native-notifications (from `../node_modules/react-native-notifications`)
|
||||
- react-native-randombytes (from `../node_modules/react-native-randombytes`)
|
||||
- react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
|
||||
- react-native-shake (from `../node_modules/react-native-shake`)
|
||||
|
@ -461,7 +456,6 @@ DEPENDENCIES:
|
|||
- "RNCClipboard (from `../node_modules/@react-native-community/clipboard`)"
|
||||
- "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)"
|
||||
- "RNCPushNotificationIOS (from `../node_modules/@react-native-community/push-notification-ios`)"
|
||||
- RNDeviceInfo (from `../node_modules/react-native-device-info`)
|
||||
- RNFastImage (from `../node_modules/react-native-fast-image`)
|
||||
- RNFS (from `../node_modules/react-native-fs`)
|
||||
- RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
|
||||
|
@ -549,8 +543,6 @@ EXTERNAL SOURCES:
|
|||
:path: "../node_modules/react-native-mail"
|
||||
react-native-netinfo:
|
||||
:path: "../node_modules/@react-native-community/netinfo"
|
||||
react-native-notifications:
|
||||
:path: "../node_modules/react-native-notifications"
|
||||
react-native-randombytes:
|
||||
:path: "../node_modules/react-native-randombytes"
|
||||
react-native-safe-area-context:
|
||||
|
@ -599,8 +591,6 @@ EXTERNAL SOURCES:
|
|||
:path: "../node_modules/@react-native-community/masked-view"
|
||||
RNCPushNotificationIOS:
|
||||
:path: "../node_modules/@react-native-community/push-notification-ios"
|
||||
RNDeviceInfo:
|
||||
:path: "../node_modules/react-native-device-info"
|
||||
RNFastImage:
|
||||
:path: "../node_modules/react-native-fast-image"
|
||||
RNFS:
|
||||
|
@ -643,12 +633,12 @@ CHECKOUT OPTIONS:
|
|||
SPEC CHECKSUMS:
|
||||
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
|
||||
BVLinearGradient: e3aad03778a456d77928f594a649e96995f1c872
|
||||
CryptoSwift: c4f2debceb38bf44c80659afe009f71e23e4a082
|
||||
CryptoSwift: a0799ee936271bd2253a006f1e4523df21845000
|
||||
DoubleConversion: cde416483dac037923206447da6e1454df403714
|
||||
FBLazyVector: 3bb422f41b18121b71783a905c10e58606f7dc3e
|
||||
FBReactNativeSpec: f2c97f2529dd79c083355182cc158c9f98f4bd6e
|
||||
Folly: b73c3869541e86821df3c387eb0af5f65addfab4
|
||||
glog: 61334f8bdb4deea07543d4fbac3fb5948e78a7a5
|
||||
glog: 2d7c14bbcd0c3139c6258f813895cb61d7860fcc
|
||||
HMSegmentedControl: 34c1f54d822d8308e7b24f5d901ec674dfa31352
|
||||
Keycard: 07f1b4d4fadcf1218084cb3e1bb3a8bac3870c5a
|
||||
libwebp: 98a37e597e40bfdb4c911fc98f2c53d0b12d05fc
|
||||
|
@ -673,7 +663,6 @@ SPEC CHECKSUMS:
|
|||
react-native-image-resizer: 2f1577efa3bc762597681f530c8e8d05ce0ceeb3
|
||||
react-native-mail: 8fdcd3aef007c33a6877a18eb4cf7447a1d4ce4a
|
||||
react-native-netinfo: ddaca8bbb9e6e914b1a23787ccb879bc642931c9
|
||||
react-native-notifications: 805108822ceff3440644d5701944f0cda35f5b4b
|
||||
react-native-randombytes: 421f1c7d48c0af8dbcd471b0324393ebf8fe7846
|
||||
react-native-safe-area-context: 60f654e00b6cc416573f6d5dbfce3839958eb57a
|
||||
react-native-shake: de052eaa3eadc4a326b8ddd7ac80c06e8d84528c
|
||||
|
@ -698,7 +687,6 @@ SPEC CHECKSUMS:
|
|||
RNCClipboard: 8148e21ac347c51fd6cd4b683389094c216bb543
|
||||
RNCMaskedView: 71fc32d971f03b7f03d6ab6b86b730c4ee64f5b6
|
||||
RNCPushNotificationIOS: c145c6253ea016e5efeff604f2720736b4a596f7
|
||||
RNDeviceInfo: 9538a884f862fe4aa0d7cead9f34e292d41ba8f6
|
||||
RNFastImage: 1f2cab428712a4baaf78d6169eaec7f622556dd7
|
||||
RNFS: 2bd9eb49dc82fa9676382f0585b992c424cd59df
|
||||
RNGestureHandler: 7a5833d0f788dbd107fbb913e09aa0c1ff333c39
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -70,7 +70,6 @@ androidx.savedstate:savedstate:1.1.0
|
|||
androidx.slidingpanelayout:slidingpanelayout:1.0.0
|
||||
androidx.swiperefreshlayout:swiperefreshlayout:1.0.0
|
||||
androidx.swiperefreshlayout:swiperefreshlayout:1.1.0
|
||||
androidx.test:monitor:1.2.0
|
||||
androidx.tracing:tracing:1.0.0
|
||||
androidx.transition:transition:1.2.0
|
||||
androidx.transition:transition:1.2.0-rc01
|
||||
|
@ -84,8 +83,6 @@ androidx.versionedparcelable:versionedparcelable:1.1.1
|
|||
androidx.viewpager2:viewpager2:1.0.0
|
||||
androidx.viewpager:viewpager:1.0.0
|
||||
androidx.webkit:webkit:1.4.0
|
||||
backport-util-concurrent:backport-util-concurrent:3.1
|
||||
classworlds:classworlds:1.1-alpha-2
|
||||
commons-codec:commons-codec:1.4
|
||||
commons-codec:commons-codec:1.6
|
||||
commons-codec:commons-codec:1.9
|
||||
|
@ -96,7 +93,6 @@ commons-logging:commons-logging:1.2
|
|||
com.adobe.xmp:xmpcore:5.1.2
|
||||
com.afollestad.material-dialogs:commons:0.9.6.0
|
||||
com.afollestad.material-dialogs:core:0.9.6.0
|
||||
com.almworks.sqlite4java:sqlite4java:0.282
|
||||
com.android.databinding:baseLibrary:1.0-rc5
|
||||
com.android.databinding:baseLibrary:3.0.0
|
||||
com.android.databinding:baseLibrary:3.0.1
|
||||
|
@ -108,7 +104,6 @@ com.android.databinding:compilerCommon:1.0-rc5
|
|||
com.android.databinding:compilerCommon:3.0.0
|
||||
com.android.databinding:compilerCommon:3.0.1
|
||||
com.android.databinding:compilerCommon:3.1.4
|
||||
com.android.installreferrer:installreferrer:1.1.2
|
||||
com.android.tools.analytics-library:crash:26.2.1
|
||||
com.android.tools.analytics-library:crash:26.3.1
|
||||
com.android.tools.analytics-library:crash:26.5.4
|
||||
|
@ -365,25 +360,8 @@ com.github.wix-playground:reflow-animator:1.0.6
|
|||
com.github.yalantis:ucrop:2.2.6-native
|
||||
com.googlecode.json-simple:json-simple:1.1
|
||||
com.googlecode.juniversalchardet:juniversalchardet:1.0.3
|
||||
com.google.android.apps.common.testing.accessibility.framework:accessibility-test-framework:2.1
|
||||
com.google.android.datatransport:transport-api:2.2.1
|
||||
com.google.android.datatransport:transport-api:3.0.0
|
||||
com.google.android.datatransport:transport-backend-cct:2.3.3
|
||||
com.google.android.datatransport:transport-backend-cct:3.0.0
|
||||
com.google.android.datatransport:transport-runtime:2.2.5
|
||||
com.google.android.datatransport:transport-runtime:3.0.0
|
||||
com.google.android.gms:play-services-basement:17.0.0
|
||||
com.google.android.gms:play-services-base:17.0.0
|
||||
com.google.android.gms:play-services-cloud-messaging:16.0.0
|
||||
com.google.android.gms:play-services-cloud-messaging:17.0.0
|
||||
com.google.android.gms:play-services-iid:17.0.0
|
||||
com.google.android.gms:play-services-stats:17.0.0
|
||||
com.google.android.gms:play-services-tasks:17.0.0
|
||||
com.google.android.gms:strict-version-matcher-plugin:1.2.2
|
||||
com.google.android.material:material:1.2.0-alpha03
|
||||
com.google.auto.service:auto-service:1.0-rc4
|
||||
com.google.auto.value:auto-value:1.5.2
|
||||
com.google.auto:auto-common:0.8
|
||||
com.google.code.findbugs:jsr305:1.3.9
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.2.4
|
||||
|
@ -396,28 +374,6 @@ com.google.errorprone:error_prone_annotations:2.0.18
|
|||
com.google.errorprone:error_prone_annotations:2.1.2
|
||||
com.google.errorprone:error_prone_annotations:2.2.0
|
||||
com.google.errorprone:error_prone_annotations:2.3.1
|
||||
com.google.firebase:firebase-annotations:16.0.0
|
||||
com.google.firebase:firebase-common:19.5.0
|
||||
com.google.firebase:firebase-common:20.0.0
|
||||
com.google.firebase:firebase-components:16.1.0
|
||||
com.google.firebase:firebase-components:17.0.0
|
||||
com.google.firebase:firebase-datatransport:17.0.10
|
||||
com.google.firebase:firebase-datatransport:18.0.0
|
||||
com.google.firebase:firebase-encoders-json:17.1.0
|
||||
com.google.firebase:firebase-encoders-json:18.0.0
|
||||
com.google.firebase:firebase-encoders:16.1.0
|
||||
com.google.firebase:firebase-encoders:17.0.0
|
||||
com.google.firebase:firebase-iid-interop:17.1.0
|
||||
com.google.firebase:firebase-iid:21.1.0
|
||||
com.google.firebase:firebase-installations-interop:16.0.1
|
||||
com.google.firebase:firebase-installations-interop:17.0.0
|
||||
com.google.firebase:firebase-installations:16.3.5
|
||||
com.google.firebase:firebase-installations:17.0.0
|
||||
com.google.firebase:firebase-measurement-connector:18.0.0
|
||||
com.google.firebase:firebase-measurement-connector:19.0.0
|
||||
com.google.firebase:firebase-messaging:21.1.0
|
||||
com.google.firebase:firebase-messaging:23.0.0
|
||||
com.google.gms:google-services:4.3.10
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:17.0
|
||||
com.google.guava:guava:22.0
|
||||
|
@ -428,15 +384,12 @@ com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
|||
com.google.j2objc:j2objc-annotations:1.1
|
||||
com.google.jimfs:jimfs:1.1
|
||||
com.google.protobuf:protobuf-java-util:3.4.0
|
||||
com.google.protobuf:protobuf-java:2.6.1
|
||||
com.google.protobuf:protobuf-java:3.0.0
|
||||
com.google.protobuf:protobuf-java:3.4.0
|
||||
com.google.zxing:core:3.3.0
|
||||
com.ibm.icu:icu4j:53.1
|
||||
com.intellij:annotations:12.0
|
||||
com.parse.bolts:bolts-applinks:1.4.0
|
||||
com.parse.bolts:bolts-tasks:1.4.0
|
||||
com.squareup.assertj:assertj-android:1.1.1
|
||||
com.squareup.okhttp3:okhttp-tls:3.12.12
|
||||
com.squareup.okhttp3:okhttp-urlconnection:3.12.12
|
||||
com.squareup.okhttp3:okhttp:3.12.12
|
||||
|
@ -452,17 +405,10 @@ com.tunnelvisionlabs:antlr4:4.5
|
|||
de.undercouch:gradle-download-task:3.4.3
|
||||
de.undercouch:gradle-download-task:4.0.2
|
||||
it.unimi.dsi:fastutil:7.2.0
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.inject:javax.inject:1
|
||||
javax.xml.bind:jaxb-api:2.2.12-b140109.1041
|
||||
junit:junit:4.12
|
||||
me.zhanghai.android.materialprogressbar:library:1.4.2
|
||||
nekohtml:nekohtml:1.9.6.2
|
||||
nekohtml:xercesMinimal:1.9.6.2
|
||||
net.bytebuddy:byte-buddy-agent:1.9.10
|
||||
net.bytebuddy:byte-buddy-agent:1.10.18
|
||||
net.bytebuddy:byte-buddy:1.9.10
|
||||
net.bytebuddy:byte-buddy:1.10.18
|
||||
net.sf.jopt-simple:jopt-simple:4.9
|
||||
net.sf.kxml:kxml2:2.3.0
|
||||
net.sf.proguard:proguard-base:5.1
|
||||
|
@ -479,8 +425,6 @@ org.antlr:antlr4-runtime:4.5.2-1
|
|||
org.antlr:antlr4:4.5.3
|
||||
org.antlr:antlr-runtime:3.5.2
|
||||
org.antlr:antlr:3.5.2
|
||||
org.apache.ant:ant-launcher:1.8.0
|
||||
org.apache.ant:ant:1.8.0
|
||||
org.apache.commons:commons-compress:1.8.1
|
||||
org.apache.commons:commons-compress:1.12
|
||||
org.apache.commons:commons-lang3:3.3.2
|
||||
|
@ -498,35 +442,15 @@ org.apache.httpcomponents:httpcore:4.4.10
|
|||
org.apache.httpcomponents:httpmime:4.1
|
||||
org.apache.httpcomponents:httpmime:4.5.2
|
||||
org.apache.httpcomponents:httpmime:4.5.6
|
||||
org.apache.maven.wagon:wagon-file:1.0-beta-6
|
||||
org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-6
|
||||
org.apache.maven.wagon:wagon-http-shared:1.0-beta-6
|
||||
org.apache.maven.wagon:wagon-provider-api:1.0-beta-6
|
||||
org.apache.maven:maven-ant-tasks:2.1.3
|
||||
org.apache.maven:maven-artifact-manager:2.2.1
|
||||
org.apache.maven:maven-artifact:2.2.1
|
||||
org.apache.maven:maven-error-diagnostics:2.2.1
|
||||
org.apache.maven:maven-model:2.2.1
|
||||
org.apache.maven:maven-plugin-registry:2.2.1
|
||||
org.apache.maven:maven-profile:2.2.1
|
||||
org.apache.maven:maven-project:2.2.1
|
||||
org.apache.maven:maven-repository-metadata:2.2.1
|
||||
org.apache.maven:maven-settings:2.2.1
|
||||
org.apiguardian:apiguardian-api:1.1.0
|
||||
org.assertj:assertj-core:3.8.0
|
||||
org.bouncycastle:bcpkix-jdk15on:1.48
|
||||
org.bouncycastle:bcpkix-jdk15on:1.56
|
||||
org.bouncycastle:bcprov-jdk15on:1.48
|
||||
org.bouncycastle:bcprov-jdk15on:1.52
|
||||
org.bouncycastle:bcprov-jdk15on:1.56
|
||||
org.bouncycastle:bcprov-jdk15on:1.60
|
||||
org.checkerframework:checker-qual:2.5.2
|
||||
org.codehaus.groovy:groovy-all:2.4.15
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.14
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.17
|
||||
org.codehaus.plexus:plexus-container-default:1.0-alpha-9-stable-1
|
||||
org.codehaus.plexus:plexus-interpolation:1.11
|
||||
org.codehaus.plexus:plexus-utils:1.5.15
|
||||
org.conscrypt:conscrypt-android:2.0.0
|
||||
org.eclipse.jdt.core.compiler:ecj:4.4
|
||||
org.eclipse.jdt.core.compiler:ecj:4.4.2
|
||||
|
@ -535,7 +459,6 @@ org.glassfish.jaxb:jaxb-core:2.2.11
|
|||
org.glassfish.jaxb:jaxb-runtime:2.2.11
|
||||
org.glassfish.jaxb:txw2:2.2.11
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.hamcrest:hamcrest-library:1.3
|
||||
org.jacoco:org.jacoco.core:0.7.4.201502262128
|
||||
org.jacoco:org.jacoco.report:0.7.4.201502262128
|
||||
org.jdom:jdom2:2.0.6
|
||||
|
@ -544,7 +467,6 @@ org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2
|
|||
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.2
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.1.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8
|
||||
org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.4.31
|
||||
org.jetbrains.kotlin:kotlin-android-extensions:1.3.50
|
||||
org.jetbrains.kotlin:kotlin-android-extensions:1.4.31
|
||||
org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.3.50
|
||||
|
@ -590,12 +512,10 @@ org.jetbrains.kotlin:kotlin-stdlib-common:1.5.30
|
|||
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.71
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.20
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.50
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.10
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.30
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.71
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.20
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.50
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jre7:1.2.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jre8:1.2.0
|
||||
|
@ -611,41 +531,18 @@ org.jetbrains.kotlin:kotlin-util-io:1.4.31
|
|||
org.jetbrains.kotlin:kotlin-util-klib:1.4.31
|
||||
org.jetbrains.trove4j:trove4j:20160824
|
||||
org.jetbrains:annotations:13.0
|
||||
org.junit.jupiter:junit-jupiter-api:5.7.0
|
||||
org.junit.platform:junit-platform-commons:1.7.0
|
||||
org.jvnet.staxex:stax-ex:1.7.7
|
||||
org.mockito:mockito-core:2.28.2
|
||||
org.mockito:mockito-core:3.6.28
|
||||
org.objenesis:objenesis:2.6
|
||||
org.objenesis:objenesis:3.1
|
||||
org.opentest4j:opentest4j:1.2.0
|
||||
org.ow2.asm:asm-analysis:5.0.3
|
||||
org.ow2.asm:asm-analysis:5.1
|
||||
org.ow2.asm:asm-analysis:6.0
|
||||
org.ow2.asm:asm-analysis:7.0
|
||||
org.ow2.asm:asm-commons:5.1
|
||||
org.ow2.asm:asm-commons:6.0
|
||||
org.ow2.asm:asm-commons:7.0
|
||||
org.ow2.asm:asm-debug-all:5.0.1
|
||||
org.ow2.asm:asm-tree:5.0.3
|
||||
org.ow2.asm:asm-tree:5.1
|
||||
org.ow2.asm:asm-tree:6.0
|
||||
org.ow2.asm:asm-tree:7.0
|
||||
org.ow2.asm:asm-util:5.1
|
||||
org.ow2.asm:asm-util:6.0
|
||||
org.ow2.asm:asm-util:7.0
|
||||
org.ow2.asm:asm:5.0.3
|
||||
org.ow2.asm:asm:5.1
|
||||
org.ow2.asm:asm:6.0
|
||||
org.ow2.asm:asm:7.0
|
||||
org.robolectric:annotations:4.3
|
||||
org.robolectric:junit:4.3
|
||||
org.robolectric:pluginapi:4.3
|
||||
org.robolectric:plugins-maven-dependency-resolver:4.3
|
||||
org.robolectric:resources:4.3
|
||||
org.robolectric:robolectric:4.3
|
||||
org.robolectric:sandbox:4.3
|
||||
org.robolectric:shadowapi:4.3
|
||||
org.robolectric:shadows-framework:4.3
|
||||
org.robolectric:utils-reflector:4.3
|
||||
org.robolectric:utils:4.3
|
||||
|
|
|
@ -82,7 +82,6 @@ https://dl.google.com/dl/android/maven2/androidx/savedstate/savedstate/1.1.0/sav
|
|||
https://dl.google.com/dl/android/maven2/androidx/slidingpanelayout/slidingpanelayout/1.0.0/slidingpanelayout-1.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/swiperefreshlayout/swiperefreshlayout/1.0.0/swiperefreshlayout-1.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/swiperefreshlayout/swiperefreshlayout/1.1.0/swiperefreshlayout-1.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/test/monitor/1.2.0/monitor-1.2.0.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/tracing/tracing/1.0.0/tracing-1.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/transition/transition/1.0.0/transition-1.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/transition/transition/1.2.0-rc01/transition-1.2.0-rc01.pom
|
||||
|
@ -110,17 +109,14 @@ https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.5.
|
|||
https://dl.google.com/dl/android/maven2/com/android/databinding/compilerCommon/3.0.0/compilerCommon-3.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/databinding/compilerCommon/3.0.1/compilerCommon-3.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/databinding/compilerCommon/3.1.4/compilerCommon-3.1.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/installreferrer/installreferrer/1.1.2/installreferrer-1.1.2.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/support/animated-vector-drawable/26.0.2/animated-vector-drawable-26.0.2.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/support/animated-vector-drawable/27.0.1/animated-vector-drawable-27.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/26.0.2/appcompat-v7-26.0.2.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.0.1/appcompat-v7-27.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/support/recyclerview-v7/27.0.1/recyclerview-v7-27.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/support/support-annotations/22.2.1/support-annotations-22.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/support/support-annotations/26.0.2/support-annotations-26.0.2.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/support/support-annotations/26.1.0/support-annotations-26.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/support/support-annotations/27.0.1/support-annotations-27.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/support/support-annotations/28.0.0/support-annotations-28.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/support/support-compat/26.0.2/support-compat-26.0.2.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/support/support-compat/27.0.1/support-compat-27.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/support/support-core-ui/26.0.2/support-core-ui-26.0.2.pom
|
||||
|
@ -284,46 +280,8 @@ https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.1.4/sdk-
|
|||
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.2.1/sdk-common-26.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.3.1/sdk-common-26.3.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.5.4/sdk-common-26.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/datatransport/transport-api/2.2.0/transport-api-2.2.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/datatransport/transport-api/2.2.1/transport-api-2.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/datatransport/transport-api/3.0.0/transport-api-3.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/datatransport/transport-backend-cct/2.3.3/transport-backend-cct-2.3.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/datatransport/transport-backend-cct/3.0.0/transport-backend-cct-3.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/datatransport/transport-runtime/2.2.0/transport-runtime-2.2.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/datatransport/transport-runtime/2.2.5/transport-runtime-2.2.5.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/datatransport/transport-runtime/3.0.0/transport-runtime-3.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-basement/17.0.0/play-services-basement-17.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-base/17.0.0/play-services-base-17.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-cloud-messaging/16.0.0/play-services-cloud-messaging-16.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-cloud-messaging/17.0.0/play-services-cloud-messaging-17.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-iid/17.0.0/play-services-iid-17.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-stats/17.0.0/play-services-stats-17.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-tasks/17.0.0/play-services-tasks-17.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/gms/strict-version-matcher-plugin/1.2.2/strict-version-matcher-plugin-1.2.2.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/material/material/1.0.0/material-1.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/android/material/material/1.2.0-alpha03/material-1.2.0-alpha03.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-annotations/16.0.0/firebase-annotations-16.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-common/19.5.0/firebase-common-19.5.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-common/20.0.0/firebase-common-20.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-components/16.1.0/firebase-components-16.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-components/17.0.0/firebase-components-17.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-datatransport/17.0.10/firebase-datatransport-17.0.10.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-datatransport/18.0.0/firebase-datatransport-18.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-encoders-json/17.1.0/firebase-encoders-json-17.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-encoders-json/18.0.0/firebase-encoders-json-18.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-encoders/16.1.0/firebase-encoders-16.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-encoders/17.0.0/firebase-encoders-17.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-iid-interop/17.1.0/firebase-iid-interop-17.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-iid/21.1.0/firebase-iid-21.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-installations-interop/16.0.1/firebase-installations-interop-16.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-installations-interop/17.0.0/firebase-installations-interop-17.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-installations/16.3.5/firebase-installations-16.3.5.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-installations/17.0.0/firebase-installations-17.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-measurement-connector/18.0.0/firebase-measurement-connector-18.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-measurement-connector/19.0.0/firebase-measurement-connector-19.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-messaging/21.1.0/firebase-messaging-21.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-messaging/23.0.0/firebase-messaging-23.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.3.10/google-services-4.3.10.pom
|
||||
https://jitpack.io/com/github/status-im/function/0.0.1/function-0.0.1.pom
|
||||
https://jitpack.io/com/github/status-im/status-keycard-java/android/3.0.4/android-3.0.4.pom
|
||||
https://jitpack.io/com/github/status-im/status-keycard-java/lib/3.0.4/lib-3.0.4.pom
|
||||
|
@ -341,27 +299,18 @@ https://plugins.gradle.org/m2/com/facebook/fresco/nativeimagefilters/2.2.0/nativ
|
|||
https://plugins.gradle.org/m2/com/facebook/fresco/stetho/2.2.0/stetho-2.2.0.pom
|
||||
https://repo.maven.apache.org/maven2/antlr/antlr/2.7.1/antlr-2.7.1.pom
|
||||
https://repo.maven.apache.org/maven2/antlr/antlr/2.7.7/antlr-2.7.7.pom
|
||||
https://repo.maven.apache.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom
|
||||
https://repo.maven.apache.org/maven2/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom
|
||||
https://repo.maven.apache.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom
|
||||
https://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.2/commons-cli-1.2.pom
|
||||
https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.2/commons-codec-1.2.pom
|
||||
https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.4/commons-codec-1.4.pom
|
||||
https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.6/commons-codec-1.6.pom
|
||||
https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.9/commons-codec-1.9.pom
|
||||
https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.10/commons-codec-1.10.pom
|
||||
https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.15/commons-codec-1.15.pom
|
||||
https://repo.maven.apache.org/maven2/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom
|
||||
https://repo.maven.apache.org/maven2/commons-io/commons-io/2.4/commons-io-2.4.pom
|
||||
https://repo.maven.apache.org/maven2/commons-io/commons-io/2.6/commons-io-2.6.pom
|
||||
https://repo.maven.apache.org/maven2/commons-io/commons-io/2.11.0/commons-io-2.11.0.pom
|
||||
https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom
|
||||
https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom
|
||||
https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/adobe/xmp/xmpcore/5.1.2/xmpcore-5.1.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/afollestad/material-dialogs/commons/0.9.6.0/commons-0.9.6.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/afollestad/material-dialogs/core/0.9.6.0/core-0.9.6.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/almworks/sqlite4java/sqlite4java/0.282/sqlite4java-0.282.pom
|
||||
https://repo.maven.apache.org/maven2/com/android/databinding/baseLibrary/1.0-rc5/baseLibrary-1.0-rc5.pom
|
||||
https://repo.maven.apache.org/maven2/com/android/databinding/compilerCommon/1.0-rc5/compilerCommon-1.0-rc5.pom
|
||||
https://repo.maven.apache.org/maven2/com/android/tools/annotations/24.1.3/annotations-24.1.3.pom
|
||||
|
@ -461,11 +410,7 @@ https://repo.maven.apache.org/maven2/com/github/clans/fab/1.6.4/fab-1.6.4.pom
|
|||
https://repo.maven.apache.org/maven2/com/github/gundy/semver4j/0.16.4/semver4j-0.16.4.pom
|
||||
https://repo.maven.apache.org/maven2/com/googlecode/json-simple/json-simple/1.1/json-simple-1.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/android/apps/common/testing/accessibility/framework/accessibility-test-framework/2.1/accessibility-test-framework-2.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/auto-common/0.8/auto-common-0.8.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/auto-parent/3/auto-parent-3.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/auto-parent/5/auto-parent-5.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/service/auto-service/1.0-rc4/auto-service-1.0-rc4.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.9/auto-value-annotations-1.9.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-parent/1.9/auto-value-parent-1.9.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value/1.5.2/auto-value-1.5.2.pom
|
||||
|
@ -483,7 +428,6 @@ https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.7/gson-2.7.pom
|
|||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.0/gson-2.8.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.5/gson-2.8.5.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.6/gson-2.8.6.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/dagger/dagger/2.24/dagger-2.24.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.0.18/error_prone_annotations-2.0.18.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.1.2/error_prone_annotations-2.1.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.2.0/error_prone_annotations-2.2.0.pom
|
||||
|
@ -495,7 +439,6 @@ https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.
|
|||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.3.1/error_prone_parent-2.3.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.13.1/error_prone_parent-2.13.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/google/1/google-1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/google/5/google-5.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/17.0/guava-parent-17.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/22.0/guava-parent-22.0.pom
|
||||
|
@ -512,15 +455,12 @@ https://repo.maven.apache.org/maven2/com/google/guava/guava/26.0-jre/guava-26.0-
|
|||
https://repo.maven.apache.org/maven2/com/google/guava/guava/27.0.1-jre/guava-27.0.1-jre.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava/31.1-jre/guava-31.1-jre.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/inject/guice-parent/5.1.0/guice-parent-5.1.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/inject/guice/5.1.0/guice-5.1.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/jimfs/jimfs-parent/1.1/jimfs-parent-1.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/jimfs/jimfs/1.1/jimfs-1.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/4.0.0-rc-2/protobuf-bom-4.0.0-rc-2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java-util/3.4.0/protobuf-java-util-3.4.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.0.0/protobuf-java-3.0.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.4.0/protobuf-java-3.4.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/4.0.0-rc-2/protobuf-java-4.0.0-rc-2.pom
|
||||
|
@ -531,11 +471,9 @@ https://repo.maven.apache.org/maven2/com/google/truth/truth-parent/1.1.3/truth-p
|
|||
https://repo.maven.apache.org/maven2/com/google/truth/truth/1.1.3/truth-1.1.3.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/zxing/core/3.3.0/core-3.3.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/zxing/zxing-parent/3.3.0/zxing-parent-3.3.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/ibm/icu/icu4j/53.1/icu4j-53.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/intellij/annotations/12.0/annotations-12.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/parse/bolts/bolts-applinks/1.4.0/bolts-applinks-1.4.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/parse/bolts/bolts-tasks/1.4.0/bolts-tasks-1.4.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/squareup/assertj/assertj-android/1.1.1/assertj-android-1.1.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/squareup/javapoet/1.8.0/javapoet-1.8.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/squareup/javawriter/2.5.0/javawriter-2.5.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/squareup/okhttp3/okhttp-tls/3.12.12/okhttp-tls-3.12.12.pom
|
||||
|
@ -582,29 +520,14 @@ https://repo.maven.apache.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api-paren
|
|||
https://repo.maven.apache.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api/4.0.0/jakarta.xml.bind-api-4.0.0.pom
|
||||
https://repo.maven.apache.org/maven2/javax/activation/activation/1.1/activation-1.1.pom
|
||||
https://repo.maven.apache.org/maven2/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.pom
|
||||
https://repo.maven.apache.org/maven2/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.pom
|
||||
https://repo.maven.apache.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.pom
|
||||
https://repo.maven.apache.org/maven2/javax/el/javax.el-api/3.0.1-b06/javax.el-api-3.0.1-b06.pom
|
||||
https://repo.maven.apache.org/maven2/javax/enterprise/cdi-api/1.2/cdi-api-1.2.pom
|
||||
https://repo.maven.apache.org/maven2/javax/enterprise/cdi-api/2.0-PFD2/cdi-api-2.0-PFD2.pom
|
||||
https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.pom
|
||||
https://repo.maven.apache.org/maven2/javax/interceptor/javax.interceptor-api/1.2.2/javax.interceptor-api-1.2.2.pom
|
||||
https://repo.maven.apache.org/maven2/javax/xml/bind/jaxb-api-parent/2.4.0-b180830.0359/jaxb-api-parent-2.4.0-b180830.0359.pom
|
||||
https://repo.maven.apache.org/maven2/javax/xml/bind/jaxb-api/2.2.12-b140109.1041/jaxb-api-2.2.12-b140109.1041.pom
|
||||
https://repo.maven.apache.org/maven2/javax/xml/bind/jaxb-api/2.4.0-b180830.0359/jaxb-api-2.4.0-b180830.0359.pom
|
||||
https://repo.maven.apache.org/maven2/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.pom
|
||||
https://repo.maven.apache.org/maven2/junit/junit/3.8.1/junit-3.8.1.pom
|
||||
https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.pom
|
||||
https://repo.maven.apache.org/maven2/junit/junit/4.13.2/junit-4.13.2.pom
|
||||
https://repo.maven.apache.org/maven2/me/zhanghai/android/materialprogressbar/library/1.4.2/library-1.4.2.pom
|
||||
https://repo.maven.apache.org/maven2/nekohtml/nekohtml/1.9.6.2/nekohtml-1.9.6.2.pom
|
||||
https://repo.maven.apache.org/maven2/nekohtml/xercesMinimal/1.9.6.2/xercesMinimal-1.9.6.2.pom
|
||||
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.9.10/byte-buddy-agent-1.9.10.pom
|
||||
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.10.18/byte-buddy-agent-1.10.18.pom
|
||||
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-parent/1.9.10/byte-buddy-parent-1.9.10.pom
|
||||
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-parent/1.10.18/byte-buddy-parent-1.10.18.pom
|
||||
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.9.10/byte-buddy-1.9.10.pom
|
||||
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.10.18/byte-buddy-1.10.18.pom
|
||||
https://repo.maven.apache.org/maven2/net/java/jvnet-parent/1/jvnet-parent-1.pom
|
||||
https://repo.maven.apache.org/maven2/net/java/jvnet-parent/3/jvnet-parent-3.pom
|
||||
https://repo.maven.apache.org/maven2/net/java/jvnet-parent/4/jvnet-parent-4.pom
|
||||
|
@ -643,13 +566,7 @@ https://repo.maven.apache.org/maven2/org/antlr/antlr-runtime/3.5.3/antlr-runtime
|
|||
https://repo.maven.apache.org/maven2/org/antlr/antlr/3.5.2/antlr-3.5.2.pom
|
||||
https://repo.maven.apache.org/maven2/org/antlr/stringtemplate/3.2.1/stringtemplate-3.2.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/antlr/stringtemplate/4.0.2/stringtemplate-4.0.2.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/ant/ant-launcher/1.8.0/ant-launcher-1.8.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/ant/ant-parent/1.8.0/ant-parent-1.8.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/ant/ant/1.8.0/ant-1.8.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/apache/1/apache-1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/apache/3/apache-3.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/apache/4/apache-4.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/apache/5/apache-5.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/apache/9/apache-9.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/apache/13/apache-13.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/apache/15/apache-15.pom
|
||||
|
@ -657,12 +574,10 @@ https://repo.maven.apache.org/maven2/org/apache/apache/16/apache-16.pom
|
|||
https://repo.maven.apache.org/maven2/org/apache/apache/18/apache-18.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/apache/21/apache-21.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/apache/23/apache-23.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/apache/25/apache-25.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.12/commons-compress-1.12.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.3.2/commons-lang3-3.3.2.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.9/commons-lang3-3.9.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/5/commons-parent-5.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/11/commons-parent-11.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/22/commons-parent-22.pom
|
||||
|
@ -672,12 +587,8 @@ https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/33/common
|
|||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/34/commons-parent-34.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/35/commons-parent-35.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/39/commons-parent-39.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/42/commons-parent-42.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/48/commons-parent-48.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/52/commons-parent-52.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/geronimo/genesis/genesis-default-flava/2.3/genesis-default-flava-2.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/geronimo/genesis/genesis-java8-flava/2.3/genesis-java8-flava-2.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/geronimo/genesis/genesis/2.3/genesis-2.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.1.1/httpclient-4.1.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.2.6/httpclient-4.2.6.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.5.2/httpclient-4.5.2.pom
|
||||
|
@ -710,68 +621,9 @@ https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpmime/4.5.2/ht
|
|||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpmime/4.5.6/httpmime-4.5.6.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/project/4.1.1/project-4.1.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/project/7/project-7.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-ant-tasks/2.1.3/maven-ant-tasks-2.1.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact-manager/2.2.1/maven-artifact-manager-2.2.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/3.8.5/maven-artifact-3.8.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-builder-support/3.8.5/maven-builder-support-3.8.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-compat/3.8.5/maven-compat-3.8.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-core/3.8.5/maven-core-3.8.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-error-diagnostics/2.2.1/maven-error-diagnostics-2.2.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-model-builder/3.8.5/maven-model-builder-3.8.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-model/3.8.5/maven-model-3.8.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/10/maven-parent-10.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/11/maven-parent-11.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/19/maven-parent-19.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/34/maven-parent-34.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/35/maven-parent-35.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/3.8.5/maven-plugin-api-3.8.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-registry/2.2.1/maven-plugin-registry-2.2.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-profile/2.2.1/maven-profile-2.2.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-project-builder/3.0-alpha-2/maven-project-builder-3.0-alpha-2.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-project/3.0-alpha-2/maven-project-3.0-alpha-2.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-repository-metadata/2.2.1/maven-repository-metadata-2.2.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-repository-metadata/3.8.5/maven-repository-metadata-3.8.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-resolver-provider/3.8.5/maven-resolver-provider-3.8.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings-builder/3.8.5/maven-settings-builder-3.8.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings/2.2.1/maven-settings-2.2.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings/3.8.5/maven-settings-3.8.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven/2.2.1/maven-2.2.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven/3.0-alpha-2/maven-3.0-alpha-2.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/maven/3.8.5/maven-3.8.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-api/1.8.0/maven-resolver-api-1.8.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-impl/1.8.0/maven-resolver-impl-1.8.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-named-locks/1.8.0/maven-resolver-named-locks-1.8.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-spi/1.8.0/maven-resolver-spi-1.8.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-util/1.8.0/maven-resolver-util-1.8.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver/1.8.0/maven-resolver-1.8.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/34/maven-shared-components-34.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.3.4/maven-shared-utils-3.3.4.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-file/1.0-beta-6/wagon-file-1.0-beta-6.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-file/3.5.1/wagon-file-3.5.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-6/wagon-http-lightweight-1.0-beta-6.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/3.5.1/wagon-http-lightweight-3.5.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-6/wagon-http-shared-1.0-beta-6.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-shared/3.5.1/wagon-http-shared-3.5.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-providers/1.0-beta-6/wagon-providers-1.0-beta-6.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-providers/3.5.1/wagon-providers-3.5.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/3.5.1/wagon-provider-api-3.5.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon/3.5.1/wagon-3.5.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/xbean/xbean-reflect/4.21/xbean-reflect-4.21.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/xbean/xbean/4.21/xbean-4.21.pom
|
||||
https://repo.maven.apache.org/maven2/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/assertj/assertj-core/1.7.1/assertj-core-1.7.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/assertj/assertj-core/3.8.0/assertj-core-3.8.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/assertj/assertj-parent-pom/1.2.6/assertj-parent-pom-1.2.6.pom
|
||||
https://repo.maven.apache.org/maven2/org/assertj/assertj-parent-pom/2.1.6/assertj-parent-pom-2.1.6.pom
|
||||
https://repo.maven.apache.org/maven2/org/bouncycastle/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48.pom
|
||||
https://repo.maven.apache.org/maven2/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-jdk15on-1.56.pom
|
||||
https://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48.pom
|
||||
https://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk15on/1.52/bcprov-jdk15on-1.52.pom
|
||||
https://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk15on-1.56.pom
|
||||
https://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk15on/1.60/bcprov-jdk15on-1.60.pom
|
||||
https://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk15on/1.70/bcprov-jdk15on-1.70.pom
|
||||
|
@ -788,44 +640,6 @@ https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-parent/1.2
|
|||
https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/34/mojo-parent-34.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/40/mojo-parent-40.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/65/mojo-parent-65.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-cipher/2.0/plexus-cipher-2.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-classworlds/2.6.0/plexus-classworlds-2.6.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.5.6/plexus-component-annotations-1.5.6.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/2.1.0/plexus-component-annotations-2.1.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/2.1.1/plexus-component-annotations-2.1.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-containers/1.5.6/plexus-containers-1.5.6.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-containers/1.6/plexus-containers-1.6.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-containers/2.1.0/plexus-containers-2.1.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-containers/2.1.1/plexus-containers-2.1.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-container-default/2.1.1/plexus-container-default-2.1.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.26/plexus-interpolation-1.26.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-sec-dispatcher/2.0/plexus-sec-dispatcher-2.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.18/plexus-utils-3.0.18.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.3.0/plexus-utils-3.3.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.4.1/plexus-utils-3.4.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/3.3.2/plexus-3.3.2.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/5.1/plexus-5.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/6.5/plexus-6.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/8/plexus-8.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/woodstox/wstx-asl/3.2.6/wstx-asl-3.2.6.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/woodstox/wstx-asl/4.0.6/wstx-asl-4.0.6.pom
|
||||
https://repo.maven.apache.org/maven2/org/conscrypt/conscrypt-android/2.0.0/conscrypt-android-2.0.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/easymock/easymockclassextension/3.2/easymockclassextension-3.2.pom
|
||||
https://repo.maven.apache.org/maven2/org/easymock/easymock-parent/3.2/easymock-parent-3.2.pom
|
||||
|
@ -837,10 +651,6 @@ https://repo.maven.apache.org/maven2/org/eclipse/ee4j/project/1.0.7/project-1.0.
|
|||
https://repo.maven.apache.org/maven2/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2.pom
|
||||
https://repo.maven.apache.org/maven2/org/eclipse/jdt/core/compiler/ecj/4.4/ecj-4.4.pom
|
||||
https://repo.maven.apache.org/maven2/org/eclipse/jdt/core/compiler/ecj/4.6.1/ecj-4.6.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/eclipse/sisu/org.eclipse.sisu.inject/0.9.0.M1/org.eclipse.sisu.inject-0.9.0.M1.pom
|
||||
https://repo.maven.apache.org/maven2/org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M1/org.eclipse.sisu.plexus-0.9.0.M1.pom
|
||||
https://repo.maven.apache.org/maven2/org/eclipse/sisu/sisu-inject/0.9.0.M1/sisu-inject-0.9.0.M1.pom
|
||||
https://repo.maven.apache.org/maven2/org/eclipse/sisu/sisu-plexus/0.9.0.M1/sisu-plexus-0.9.0.M1.pom
|
||||
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/2.2.11/jaxb-bom-2.2.11.pom
|
||||
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/4.0.0-M4/jaxb-bom-4.0.0-M4.pom
|
||||
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-core/2.2.11/jaxb-core-2.2.11.pom
|
||||
|
@ -850,7 +660,6 @@ https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/2.2.11/txw2-2.2.11.
|
|||
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/4.0.0-M4/txw2-4.0.0-M4.pom
|
||||
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/2.2/hamcrest-core-2.2.pom
|
||||
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest/2.2/hamcrest-2.2.pom
|
||||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.build/0.7.4.201502262128/org.jacoco.build-0.7.4.201502262128.pom
|
||||
|
@ -858,8 +667,6 @@ https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.build/0.8.8/org.jacoc
|
|||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.core/0.7.4.201502262128/org.jacoco.core-0.7.4.201502262128.pom
|
||||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.core/0.8.8/org.jacoco.core-0.8.8.pom
|
||||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.report/0.7.4.201502262128/org.jacoco.report-0.7.4.201502262128.pom
|
||||
https://repo.maven.apache.org/maven2/org/jboss/weld/weld-parent/26/weld-parent-26.pom
|
||||
https://repo.maven.apache.org/maven2/org/jboss/weld/weld-parent/36/weld-parent-36.pom
|
||||
https://repo.maven.apache.org/maven2/org/jdom/jdom2/2.0.6/jdom2-2.0.6.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/intellij/deps/trove4j/1.0.20181211/trove4j-1.0.20181211.pom
|
||||
|
@ -869,7 +676,6 @@ https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-co
|
|||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.1.1/kotlinx-coroutines-core-1.1.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.3.8/kotlinx-coroutines-core-1.3.8.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-metadata-jvm/0.1.0/kotlinx-metadata-jvm-0.1.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-android-extensions-runtime/1.4.31/kotlin-android-extensions-runtime-1.4.31.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-android-extensions/1.3.50/kotlin-android-extensions-1.3.50.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-android-extensions/1.4.31/kotlin-android-extensions-1.4.31.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-annotation-processing-gradle/1.3.50/kotlin-annotation-processing-gradle-1.3.50.pom
|
||||
|
@ -913,7 +719,6 @@ https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1
|
|||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.31/kotlin-stdlib-common-1.3.31.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.50/kotlin-stdlib-common-1.3.50.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.71/kotlin-stdlib-common-1.3.71.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.4.10/kotlin-stdlib-common-1.4.10.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.4.31/kotlin-stdlib-common-1.4.31.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.5.10/kotlin-stdlib-common-1.5.10.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.5.30/kotlin-stdlib-common-1.5.30.pom
|
||||
|
@ -922,12 +727,10 @@ https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1
|
|||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.2.71/kotlin-stdlib-jdk7-1.2.71.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.20/kotlin-stdlib-jdk7-1.3.20.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.50/kotlin-stdlib-jdk7-1.3.50.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.4.10/kotlin-stdlib-jdk7-1.4.10.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.5.30/kotlin-stdlib-jdk7-1.5.30.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.2.71/kotlin-stdlib-jdk8-1.2.71.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.20/kotlin-stdlib-jdk8-1.3.20.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.50/kotlin-stdlib-jdk8-1.3.50.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.4.10/kotlin-stdlib-jdk8-1.4.10.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.5.30/kotlin-stdlib-jdk8-1.5.30.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jre7/1.2.0/kotlin-stdlib-jre7-1.2.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jre8/1.2.0/kotlin-stdlib-jre8-1.2.0.pom
|
||||
|
@ -940,7 +743,6 @@ https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.3.20/k
|
|||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.3.31/kotlin-stdlib-1.3.31.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.3.50/kotlin-stdlib-1.3.50.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.3.71/kotlin-stdlib-1.3.71.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.4.10/kotlin-stdlib-1.4.10.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.4.31/kotlin-stdlib-1.4.31.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.5.10/kotlin-stdlib-1.5.10.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.5.30/kotlin-stdlib-1.5.30.pom
|
||||
|
@ -948,31 +750,17 @@ https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-util-io/1.3.50/
|
|||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-util-io/1.4.31/kotlin-util-io-1.4.31.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-util-klib/1.4.31/kotlin-util-klib-1.4.31.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
|
||||
https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.7.0/junit-bom-5.7.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.7.1/junit-bom-5.7.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.7.2/junit-bom-5.7.2.pom
|
||||
https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.9.0-M1/junit-bom-5.9.0-M1.pom
|
||||
https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-api/5.7.0/junit-jupiter-api-5.7.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-commons/1.7.0/junit-platform-commons-1.7.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/jvnet/staxex/stax-ex/1.7.7/stax-ex-1.7.7.pom
|
||||
https://repo.maven.apache.org/maven2/org/jvnet/staxex/stax-ex/2.1.0/stax-ex-2.1.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/2.28.2/mockito-core-2.28.2.pom
|
||||
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/3.6.28/mockito-core-3.6.28.pom
|
||||
https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/2.6/objenesis-parent-2.6.pom
|
||||
https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/3.1/objenesis-parent-3.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/3.2/objenesis-parent-3.2.pom
|
||||
https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.6/objenesis-2.6.pom
|
||||
https://repo.maven.apache.org/maven2/org/objenesis/objenesis/3.1/objenesis-3.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/objenesis/objenesis/3.2/objenesis-3.2.pom
|
||||
https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-analysis/5.1/asm-analysis-5.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-analysis/6.0/asm-analysis-6.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-analysis/7.0/asm-analysis-7.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-analysis/9.3/asm-analysis-9.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/5.1/asm-commons-5.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/6.0/asm-commons-6.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/7.0/asm-commons-7.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/9.3/asm-commons-9.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-debug-all/5.0.1/asm-debug-all-5.0.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-debug-all/6.0_BETA/asm-debug-all-6.0_BETA.pom
|
||||
|
@ -984,59 +772,18 @@ https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/6.0_BETA/asm-parent-
|
|||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/5.1/asm-tree-5.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/6.0/asm-tree-6.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/7.0/asm-tree-7.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/9.3/asm-tree-9.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-util/5.1/asm-util-5.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-util/6.0/asm-util-6.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm-util/7.0/asm-util-7.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm/5.0.3/asm-5.0.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm/5.1/asm-5.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm/6.0/asm-6.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm/7.0/asm-7.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.3/asm-9.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/ow2/1.3/ow2-1.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/ow2/ow2/1.5/ow2-1.5.pom
|
||||
https://repo.maven.apache.org/maven2/org/robolectric/annotations/4.3/annotations-4.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/robolectric/junit/4.3/junit-4.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/robolectric/pluginapi/4.3/pluginapi-4.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/robolectric/plugins-maven-dependency-resolver/4.3/plugins-maven-dependency-resolver-4.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/robolectric/resources/4.3/resources-4.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/robolectric/robolectric/4.3/robolectric-4.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/robolectric/sandbox/4.3/sandbox-4.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/robolectric/shadowapi/4.3/shadowapi-4.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/robolectric/shadows-framework/4.3/shadows-framework-4.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/robolectric/utils-reflector/4.3/utils-reflector-4.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/robolectric/utils/4.3/utils-4.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/slf4j/jcl-over-slf4j/2.0.0-alpha7/jcl-over-slf4j-2.0.0-alpha7.pom
|
||||
https://repo.maven.apache.org/maven2/org/slf4j/jul-to-slf4j/2.0.0-alpha7/jul-to-slf4j-2.0.0-alpha7.pom
|
||||
https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/2.0.0-alpha7/slf4j-api-2.0.0-alpha7.pom
|
||||
https://repo.maven.apache.org/maven2/org/slf4j/slf4j-jdk14/2.0.0-alpha7/slf4j-jdk14-2.0.0-alpha7.pom
|
||||
https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/2.0.0-alpha7/slf4j-parent-2.0.0-alpha7.pom
|
||||
https://repo.maven.apache.org/maven2/org/slf4j/slf4j-simple/2.0.0-alpha7/slf4j-simple-2.0.0-alpha7.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/buildsupport/buildsupport/5/buildsupport-5.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/buildsupport/buildsupport/12/buildsupport-12.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/buildsupport/public-parent/5/public-parent-5.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/buildsupport/public-parent/12/public-parent-12.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/forge/forge-parent/3/forge-parent-3.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/forge/forge-parent/6/forge-parent-6.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/forge/forge-parent/10/forge-parent-10.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/forge/forge-parent/38/forge-parent-38.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/oss/oss-parent/4/oss-parent-4.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/oss/oss-parent/9/oss-parent-9.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/sisu/inject/cglib/3.1.1/cglib-3.1.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/sisu/inject/guice-parent/2.9.4/guice-parent-2.9.4.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/sisu/inject/guice-parent/4.2.0/guice-parent-4.2.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/sisu/inject/wrappers/2.6.0/wrappers-2.6.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-guice/2.9.4/sisu-guice-2.9.4.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-guice/4.2.0/sisu-guice-4.2.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-inject-bean/2.6.0/sisu-inject-bean-2.6.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-inject-plexus/2.6.0/sisu-inject-plexus-2.6.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-inject/2.6.0/sisu-inject-2.6.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-parent/2.6.0/sisu-parent-2.6.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/spice/model-builder/1.10/model-builder-1.10.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/spice/spice-parent/10/spice-parent-10.pom
|
||||
https://repo.maven.apache.org/maven2/org/sonatype/spice/spice-parent/17/spice-parent-17.pom
|
||||
https://repo.maven.apache.org/maven2/stax/stax-api/1.0.1/stax-api-1.0.1.pom
|
||||
https://repo.maven.apache.org/maven2/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.pom
|
||||
https://repo.maven.apache.org/maven2/xml-apis/xml-apis/1.3.03/xml-apis-1.3.03.pom
|
||||
|
|
|
@ -10,7 +10,6 @@ react-native-community_masked-view
|
|||
react-native-community_netinfo
|
||||
react-native-community_slider
|
||||
react-native-config
|
||||
react-native-device-info
|
||||
react-native-dialogs
|
||||
react-native-fast-image
|
||||
react-native-fs
|
||||
|
@ -24,7 +23,6 @@ react-native-linear-gradient
|
|||
react-native-mail
|
||||
react-native-navigation
|
||||
react-native-nfc-manager
|
||||
react-native-notifications
|
||||
react-native-permissions
|
||||
react-native-randombytes
|
||||
react-native-reanimated
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
"emojilib": "^2.4.0",
|
||||
"eth-phishing-detect": "^1.1.13",
|
||||
"functional-red-black-tree": "^1.0.1",
|
||||
"hermes-engine": "0.5.2-rc1",
|
||||
"hi-base32": "^0.5.0",
|
||||
"i18n-js": "^3.3.0",
|
||||
"node-libs-react-native": "^1.2.1",
|
||||
|
@ -42,7 +41,6 @@
|
|||
"react-native-blob-util": "^0.13.18",
|
||||
"react-native-camera-kit": "^8.0.4",
|
||||
"react-native-config": "git+https://github.com/status-im/react-native-config.git#refs/tags/v1.4.2-status",
|
||||
"react-native-device-info": "^7.4.0",
|
||||
"react-native-dialogs": "^1.0.4",
|
||||
"react-native-draggable-flatlist": "^3.0.3",
|
||||
"react-native-fast-image": "^8.5.11",
|
||||
|
@ -58,7 +56,6 @@
|
|||
"react-native-linear-gradient": "^2.5.6",
|
||||
"react-native-mail": "^6.1.1",
|
||||
"react-native-navigation": "^7.27.1",
|
||||
"react-native-notifications": "^4.1.3",
|
||||
"react-native-permissions": "^2.1.5",
|
||||
"react-native-randombytes": "^3.6.1",
|
||||
"react-native-reanimated": "^2.1.0",
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
# Used by Clojure to condition code and Gradle to make dependencies optional
|
||||
sed -i -e '$aGOOGLE_FREE=1' .env.release
|
||||
|
||||
# remove react-native-notifications(uses google dependencies) and google-services.json for the fdroid-build
|
||||
yarn remove react-native-notifications
|
||||
rm android/app/google-services.json
|
|
@ -56,11 +56,6 @@ if [[ -n "${OPENSEA_API_KEY}" ]]; then
|
|||
append_env_export 'OPENSEA_API_KEY'
|
||||
fi
|
||||
|
||||
# Used by Clojure at compile time for remove import of react-native-notifications for fdroid release
|
||||
if [[ -n "${READER_FEATURES}" ]]; then
|
||||
append_env_export 'READER_FEATURES'
|
||||
fi
|
||||
|
||||
# If no secrets were passed there's no need to pass the 'secretsFile'.
|
||||
if [[ -s "${SECRETS_FILE_PATH}" ]]; then
|
||||
nixOpts+=("--argstr" "secretsFile" "${SECRETS_FILE_PATH}")
|
||||
|
|
|
@ -64,8 +64,7 @@
|
|||
:static-fns true
|
||||
:fn-invoke-direct true
|
||||
:optimizations :advanced
|
||||
:js-options {:js-provider :closure}
|
||||
:reader-features #{#shadow/env ["READER_FEATURES" :as :keyword :default :cljs]}}}}
|
||||
:js-options {:js-provider :closure}}}}
|
||||
;; the tests are ran with node, react-native dependencies are mocked
|
||||
;; by using node --require override.js, which uses the node-library
|
||||
;; produced by the target :mocks below and redefines node require
|
||||
|
|
|
@ -211,9 +211,6 @@
|
|||
(def react-native-draggable-flatlist
|
||||
#js {:default #js {}})
|
||||
|
||||
(def react-native-notifications
|
||||
#js {:Notifications #js {}})
|
||||
|
||||
(def react-native-blur
|
||||
(clj->js {:BlurView {}}))
|
||||
|
||||
|
@ -257,7 +254,6 @@
|
|||
"@react-native-community/blur" react-native-blur
|
||||
"react-native-camera-kit" react-native-camera-kit
|
||||
"rn-emoji-keyboard" rn-emoji-keyboard
|
||||
"react-native-notifications" react-native-notifications
|
||||
"react-native-draggable-flatlist" react-native-draggable-flatlist
|
||||
"./fleets.js" default-fleets
|
||||
"./chats.js" default-chats
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
(ns status-im.acquisition.advertiser
|
||||
(:require [status-im.utils.fx :as fx]
|
||||
[status-im.popover.core :as popover]
|
||||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.acquisition.gateway :as gateway]
|
||||
[status-im.acquisition.claim :as claim]
|
||||
[status-im.acquisition.notifications :as notifications]
|
||||
[status-im.acquisition.persistance :as persistence]))
|
||||
|
||||
(fx/defn start-acquisition
|
||||
[cofx _]
|
||||
(popover/show-popover cofx
|
||||
{:prevent-closing? true
|
||||
:view :advertiser-invite}))
|
||||
|
||||
(fx/defn advertiser-decide
|
||||
{:events [::decision]}
|
||||
[{:keys [db] :as cofx} decision]
|
||||
(let [referral (get-in db [:acquisition :referrer])
|
||||
{:keys [rewardable]} (get-in db [:acquisition :metadata])
|
||||
payload {:chat_key (get-in db [:multiaccount :public-key])
|
||||
:address (ethereum/default-address db)
|
||||
:invite_code referral}]
|
||||
(fx/merge cofx
|
||||
(if (= decision :accept)
|
||||
(fn [cofx]
|
||||
(fx/merge cofx
|
||||
(when rewardable
|
||||
(notifications/accept))
|
||||
(gateway/handle-acquisition {:message payload
|
||||
:method "PATCH"
|
||||
:url [:clicks referral]
|
||||
:on-success [::claim/success-starter-pack-claim]})))
|
||||
{::persistence/set-referrer-state :declined})
|
||||
(popover/hide-popover))))
|
|
@ -1,65 +0,0 @@
|
|||
(ns status-im.acquisition.chat
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[status-im.utils.fx :as fx]
|
||||
[status-im.acquisition.claim :as claim]
|
||||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.acquisition.persistance :as persistence]
|
||||
[status-im.acquisition.notifications :as notifications]
|
||||
[status-im.acquisition.gateway :as gateway]
|
||||
[status-im.chat.models :as chat]
|
||||
[status-im.navigation :as navigation]
|
||||
[status-im.bottom-sheet.core :as bottom-sheet]))
|
||||
|
||||
(def public-chat "public-chat")
|
||||
|
||||
(fx/defn start-acquisition
|
||||
[{:keys [db]} {:keys [key id] :as referrer} public]
|
||||
{:db (assoc-in db [:acquisition :chat-referrer (or key id)] referrer)
|
||||
::persistence/chat-initialized? (fn [state]
|
||||
(when-not (= "initialized" state)
|
||||
(if public
|
||||
(re-frame/dispatch [::start-public-chat referrer public])
|
||||
(re-frame/dispatch [::start-chat referrer public]))))})
|
||||
|
||||
(fx/defn start-chat
|
||||
{:events [::start-chat]}
|
||||
[cofx {:keys [key id]} public]
|
||||
(fx/merge cofx
|
||||
{::persistence/chat-initalized! true}
|
||||
(chat/start-chat key nil)))
|
||||
|
||||
(fx/defn start-public-chat
|
||||
{:events [::start-public-chat]}
|
||||
[cofx referrer chat-name]
|
||||
(fx/merge cofx
|
||||
{::persistence/chat-initalized! true}
|
||||
(navigation/navigate-to-cofx :referral-enclav nil)))
|
||||
|
||||
(fx/defn join-public-chat
|
||||
[cofx chat-name]
|
||||
(chat/start-public-chat cofx chat-name nil))
|
||||
|
||||
(fx/defn accept-pack
|
||||
{:events [::accept-pack]}
|
||||
[{:keys [db] :as cofx}]
|
||||
(let [referral (get-in db [:acquisition :referrer])
|
||||
{:keys [type id rewardable]} (get-in db [:acquisition :metadata])
|
||||
payload {:chat_key (get-in db [:multiaccount :public-key])
|
||||
:address (ethereum/default-address db)
|
||||
:invite_code referral}]
|
||||
(fx/merge cofx
|
||||
(when rewardable
|
||||
(notifications/accept))
|
||||
(when (= type public-chat)
|
||||
(join-public-chat id))
|
||||
(gateway/handle-acquisition {:message payload
|
||||
:method "PATCH"
|
||||
:url [:clicks referral]
|
||||
:on-success [::claim/success-starter-pack-claim]}))))
|
||||
|
||||
(fx/defn decline
|
||||
{:events [::decline]}
|
||||
[cofx]
|
||||
(fx/merge cofx
|
||||
{::persistence/set-referrer-state :declined}
|
||||
(bottom-sheet/hide-bottom-sheet)))
|
|
@ -1,44 +0,0 @@
|
|||
(ns status-im.acquisition.claim
|
||||
(:require [status-im.utils.fx :as fx]
|
||||
[status-im.ethereum.transactions.core :as transaction]
|
||||
[status-im.acquisition.notifications :as notifications]
|
||||
[status-im.acquisition.persistance :as persistence]
|
||||
[status-im.ethereum.json-rpc :as json-rpc]
|
||||
[re-frame.core :as re-frame]))
|
||||
|
||||
(fx/defn success-tx-received
|
||||
{:events [::success-tx-received]}
|
||||
[cofx]
|
||||
(fx/merge cofx
|
||||
(notifications/claimed)
|
||||
{::persistence/set-referrer-state :claimed}))
|
||||
|
||||
(fx/defn add-tx-watcher
|
||||
{:events [::add-tx-watcher]}
|
||||
[cofx tx]
|
||||
(fx/merge cofx
|
||||
{::persistence/set-watch-tx tx}
|
||||
(transaction/watch-transaction tx
|
||||
{:trigger-fn (constantly true)
|
||||
:on-trigger
|
||||
(fn []
|
||||
{:dispatch [::success-tx-received]})})))
|
||||
|
||||
(fx/defn check-transaction-receipt
|
||||
{:events [::check-transaction-receipt]}
|
||||
[cofx tx]
|
||||
(when tx
|
||||
{::json-rpc/call [{:method "eth_getTransactionReceipt"
|
||||
:params [tx]
|
||||
:on-success (fn [receipt]
|
||||
(if receipt
|
||||
(re-frame/dispatch [::success-tx-received])
|
||||
(re-frame/dispatch [::add-tx-watcher tx])))}]}))
|
||||
|
||||
(fx/defn success-starter-pack-claim
|
||||
{:events [::success-starter-pack-claim]}
|
||||
[cofx {:keys [tx]}]
|
||||
(fx/merge cofx
|
||||
{::persistence/set-referrer-state (if tx :accepted :claimed)}
|
||||
(when tx
|
||||
(add-tx-watcher tx))))
|
|
@ -1,127 +0,0 @@
|
|||
(ns status-im.acquisition.core
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[clojure.string :as string]
|
||||
[status-im.utils.fx :as fx]
|
||||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.ethereum.ens :as ens]
|
||||
[status-im.ethereum.contracts :as contracts]
|
||||
[status-im.acquisition.notifications :as notifications]
|
||||
[status-im.acquisition.chat :as chat]
|
||||
[status-im.acquisition.dapp :as dapp]
|
||||
[status-im.acquisition.claim :as claim]
|
||||
[status-im.acquisition.advertiser :as advertiser]
|
||||
[status-im.acquisition.persistance :as persistence]
|
||||
[status-im.acquisition.gateway :as gateway]
|
||||
[status-im.utils.config :as config]
|
||||
[status-im.acquisition.install-referrer :as install-referrer]))
|
||||
|
||||
(def not-found-code "notfound.click_id")
|
||||
(def advertiser-type "advertiser")
|
||||
(def chat-type "chat")
|
||||
(def chat-public-type "public-chat")
|
||||
(def dapp-type "dapp")
|
||||
|
||||
(fx/defn handle-registration
|
||||
[cofx {:keys [message on-success]}]
|
||||
(gateway/handle-acquisition cofx
|
||||
{:message message
|
||||
:on-success on-success
|
||||
:method "POST"
|
||||
:url [:registrations nil]}))
|
||||
|
||||
(re-frame/reg-fx
|
||||
::get-referrer
|
||||
(fn []
|
||||
(persistence/get-referrer-flow-state
|
||||
(fn [^js data]
|
||||
(install-referrer/get-referrer
|
||||
(fn [install-referrer]
|
||||
(persistence/set-referrer install-referrer)
|
||||
(when (not= install-referrer "unknown")
|
||||
(when-let [referrer (install-referrer/parse-referrer install-referrer)]
|
||||
(re-frame/dispatch [::has-referrer data referrer])))))))))
|
||||
|
||||
(re-frame/reg-fx
|
||||
::check-referrer
|
||||
(fn [external-referrer]
|
||||
(persistence/get-referrer-flow-state
|
||||
(fn [^js data]
|
||||
(if external-referrer
|
||||
(re-frame/dispatch [::has-referrer data external-referrer])
|
||||
(persistence/get-referrer
|
||||
(fn [install-referrer]
|
||||
(when (not= install-referrer "unknown")
|
||||
(when-let [referrer (install-referrer/parse-referrer install-referrer)]
|
||||
(re-frame/dispatch [::has-referrer data referrer]))))))))))
|
||||
|
||||
(fx/defn referrer-registered
|
||||
{:events [::referrer-registered]}
|
||||
[{:keys [db] :as cofx} referrer {:keys [type attributed] :as referrer-meta}]
|
||||
(when-not attributed
|
||||
(fx/merge cofx
|
||||
{:db (assoc-in db [:acquisition :metadata] referrer-meta)
|
||||
::notifications/create-channel nil}
|
||||
(cond
|
||||
(= type advertiser-type)
|
||||
(advertiser/start-acquisition referrer-meta)
|
||||
|
||||
(#{chat-type chat-public-type} type)
|
||||
(chat/start-acquisition referrer-meta (= type chat-public-type))
|
||||
|
||||
(= type dapp-type)
|
||||
(dapp/start-acquisition referrer-meta)))))
|
||||
|
||||
(fx/defn outdated-referrer
|
||||
{:events [::outdated-referrer]}
|
||||
[_ _]
|
||||
{::persistence/set-referrer-state :outdated})
|
||||
|
||||
(fx/defn has-referrer
|
||||
{:events [::has-referrer]}
|
||||
[{:keys [db] :as cofx} flow-state referrer]
|
||||
(when referrer
|
||||
(fx/merge cofx
|
||||
{:db (-> db
|
||||
(assoc-in [:acquisition :referrer] referrer)
|
||||
(assoc-in [:acquisition :flow-state] flow-state))}
|
||||
(cond
|
||||
(nil? flow-state)
|
||||
(gateway/get-referrer
|
||||
referrer
|
||||
(fn [resp] [::referrer-registered referrer resp])
|
||||
(fn [{:keys [code]}] (= code not-found-code))
|
||||
(fn [resp]
|
||||
(re-frame/dispatch [::outdated-referrer resp])))
|
||||
|
||||
(= flow-state (:accepted persistence/referrer-state))
|
||||
(fn [_]
|
||||
{::persistence/check-tx-state (fn [tx]
|
||||
(when-not (nil? tx)
|
||||
(re-frame/dispatch [::claim/check-transaction-receipt tx])))})))))
|
||||
|
||||
(re-frame/reg-fx
|
||||
::resolve-contract
|
||||
(fn [{:keys [chain-id contract on-success]}]
|
||||
(when contract
|
||||
(if (string/starts-with? contract "0x")
|
||||
(on-success contract)
|
||||
(ens/address chain-id contract on-success)))))
|
||||
|
||||
(fx/defn create [{:keys [db]}]
|
||||
(when-not config/google-free
|
||||
{::resolve-contract {:chain (ethereum/chain-id db)
|
||||
:contract (contracts/get-address db :status/acquisition)
|
||||
:on-success #(re-frame/dispatch [:set-in [:acquisition :contract] %])}
|
||||
::get-referrer nil}))
|
||||
|
||||
(fx/defn login [{:keys [db]}]
|
||||
(when-not config/google-free
|
||||
{::resolve-contract {:chain (ethereum/chain-id db)
|
||||
:contract (contracts/get-address db :status/acquisition)
|
||||
:on-success #(re-frame/dispatch [:set-in [:acquisition :contract] %])}
|
||||
::check-referrer nil}))
|
||||
|
||||
(re-frame/reg-sub
|
||||
::metadata
|
||||
(fn [db]
|
||||
(get-in db [:acquisition :metadata])))
|
|
@ -1,40 +0,0 @@
|
|||
(ns status-im.acquisition.dapp
|
||||
(:require [status-im.utils.fx :as fx]
|
||||
[status-im.popover.core :as popover]
|
||||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.acquisition.gateway :as gateway]
|
||||
[status-im.acquisition.claim :as claim]
|
||||
[status-im.browser.core :as browser]
|
||||
[status-im.utils.security :as security]
|
||||
[status-im.acquisition.persistance :as persistence]))
|
||||
|
||||
(fx/defn start-acquisition
|
||||
[cofx _]
|
||||
(popover/show-popover cofx
|
||||
{:prevent-closing? true
|
||||
:view :dapp-invite}))
|
||||
|
||||
(fx/defn succes-claim
|
||||
{:events [::success-claim]}
|
||||
[cofx response]
|
||||
(let [link (get-in cofx [:db :acquisition :metadata :url])]
|
||||
(fx/merge cofx
|
||||
(when (security/safe-link? link)
|
||||
(browser/open-url link))
|
||||
(claim/success-starter-pack-claim response))))
|
||||
|
||||
(fx/defn dapp-decision
|
||||
{:events [::decision]}
|
||||
[{:keys [db] :as cofx} decision]
|
||||
(let [referral (get-in db [:acquisition :referrer])
|
||||
payload {:chat_key (get-in db [:multiaccount :public-key])
|
||||
:address (ethereum/default-address db)
|
||||
:invite_code referral}]
|
||||
(fx/merge cofx
|
||||
(if (= decision :accept)
|
||||
(gateway/handle-acquisition {:message payload
|
||||
:method "PATCH"
|
||||
:url [:clicks referral]
|
||||
:on-success [::success-claim]})
|
||||
{::persistence/set-referrer-state :declined})
|
||||
(popover/hide-popover))))
|
|
@ -1,87 +0,0 @@
|
|||
(ns status-im.acquisition.gateway
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[status-im.utils.fx :as fx]
|
||||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[status-im.ethereum.json-rpc :as json-rpc]
|
||||
[status-im.utils.types :as types]))
|
||||
|
||||
(def acquisition-gateway {:mainnet "https://get.status.im"
|
||||
:rinkeby "https://test-referral.status.im"})
|
||||
|
||||
(defn acquisition-routes [network type]
|
||||
(get {:clicks (str (get acquisition-gateway network) "/clicks")
|
||||
:registrations (str (get acquisition-gateway network) "/registrations")}
|
||||
type))
|
||||
|
||||
(def network-statuses {:initiated 1
|
||||
:in-flight 2
|
||||
:error 3
|
||||
:success 4})
|
||||
|
||||
(defn get-url [network [type referral]]
|
||||
(if (= type :clicks)
|
||||
(str (acquisition-routes network :clicks) "/" referral)
|
||||
(acquisition-routes network :registrations)))
|
||||
|
||||
(fx/defn handle-error
|
||||
{:events [::on-error]}
|
||||
[{:keys [db]} error]
|
||||
{:db (assoc-in db [:acquisition :network-status]
|
||||
(get network-statuses :error))
|
||||
:utils/show-popup {:title (i18n/label :t/http-gateway-error)
|
||||
:content (str error)}})
|
||||
|
||||
(fx/defn handle-acquisition
|
||||
{:events [::handle-acquisition]}
|
||||
[{:keys [db] :as cofx} {:keys [message on-success method url]}]
|
||||
(let [msg (types/clj->json message)
|
||||
network (ethereum/chain-keyword db)]
|
||||
{:db (assoc-in db [:acquisition :network-status]
|
||||
(get network-statuses :initiated))
|
||||
::json-rpc/call [{:method "wakuext_signMessageWithChatKey"
|
||||
:params [msg]
|
||||
:on-error #(re-frame/dispatch [::on-error (i18n/label :t/sign-request-failed)])
|
||||
:on-success #(re-frame/dispatch [::call-acquisition-gateway
|
||||
{:chat-key (get-in db [:multiaccount :public-key])
|
||||
:message msg
|
||||
:method method
|
||||
:url (get-url network url)
|
||||
:on-success on-success} %])}]}))
|
||||
(fx/defn call-acquisition-gateway
|
||||
{:events [::call-acquisition-gateway]}
|
||||
[{:keys [db]}
|
||||
{:keys [chat-key message on-success type url method]}
|
||||
sig]
|
||||
(let [payload {:chat_key chat-key
|
||||
:msg message
|
||||
:sig sig
|
||||
:version 2}]
|
||||
{:db (assoc-in db [:acquisition :network-status]
|
||||
(get network-statuses :in-flight))
|
||||
:http-post {:url url
|
||||
:opts {:headers {"Content-Type" "application/json"}
|
||||
:method method}
|
||||
:data (types/clj->json payload)
|
||||
:on-success (fn [response]
|
||||
(re-frame/dispatch [:set-in [:acquisition :network-status]]
|
||||
(get network-statuses :success))
|
||||
(re-frame/dispatch (conj on-success (types/json->clj (get response :response-body)))))
|
||||
:on-error (fn [error]
|
||||
(re-frame/dispatch [::on-error (:error (types/json->clj (get error :response-body)))]))}}))
|
||||
|
||||
(fx/defn get-referrer
|
||||
[{:keys [db]} referrer on-success handled-error handle-error]
|
||||
(let [network (ethereum/chain-keyword db)]
|
||||
{:http-get {:url (get-url network [:clicks referrer])
|
||||
:on-success (fn [response]
|
||||
(re-frame/dispatch (on-success (types/json->clj response))))
|
||||
:on-error (fn [response]
|
||||
(let [error (types/json->clj response)]
|
||||
(if (handled-error error)
|
||||
(handle-error error)
|
||||
(re-frame/dispatch [::on-error (:error error)]))))}}))
|
||||
(re-frame/reg-sub
|
||||
::network-status
|
||||
(fn [db]
|
||||
(get-in db [:acquisition :network-status])))
|
|
@ -1,14 +0,0 @@
|
|||
(ns status-im.acquisition.install-referrer
|
||||
(:require [taoensso.timbre :as log]
|
||||
["react-native-device-info" :refer [getInstallReferrer]]
|
||||
[status-im.utils.http :as http]))
|
||||
|
||||
(defn parse-referrer
|
||||
"Google return query params for referral with all utm tags"
|
||||
[referrer]
|
||||
(-> referrer http/query->map (get "referrer")))
|
||||
|
||||
(defn get-referrer [cb]
|
||||
(-> (getInstallReferrer)
|
||||
(.then cb)
|
||||
(.catch #(log/error "[install-referrer]" %))))
|
|
@ -1,33 +0,0 @@
|
|||
(ns status-im.acquisition.notifications
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[status-im.notifications.android :as pn-android]
|
||||
[status-im.utils.fx :as fx]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[status-im.notifications.core :as notifications]
|
||||
[status-im.ui.components.react :as react]
|
||||
[quo.platform :as platform]
|
||||
[status-im.ethereum.tokens :as tokens]))
|
||||
|
||||
(def channel-id "status-im-referrals")
|
||||
|
||||
(re-frame/reg-fx
|
||||
::create-channel
|
||||
(fn []
|
||||
(when platform/android?
|
||||
(pn-android/create-channel {:channel-id channel-id
|
||||
:channel-name "Status referrals push notifications"}))))
|
||||
|
||||
(fx/defn accept
|
||||
[_]
|
||||
{::notifications/local-notification
|
||||
{:title (i18n/label :t/starter-pack-coming)
|
||||
:message (i18n/label :t/starter-pack-coming-description)
|
||||
:channel-id channel-id
|
||||
:icon (:uri (react/resolve-asset-source tokens/snt-icon-source))}})
|
||||
|
||||
(fx/defn claimed
|
||||
[_]
|
||||
{::notifications/local-notification {:title (i18n/label :t/starter-pack-received)
|
||||
:message (i18n/label :t/starter-pack-received-description)
|
||||
:channel-id channel-id
|
||||
:icon (:uri (react/resolve-asset-source tokens/snt-icon-source))}})
|
|
@ -1,84 +0,0 @@
|
|||
(ns status-im.acquisition.persistance
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[taoensso.timbre :as log]
|
||||
["@react-native-community/async-storage" :default async-storage]))
|
||||
|
||||
(def chat-initialized-key "acquisition-chat-initialized")
|
||||
(def referrer-flow-state-key "acquisition-referrer-flow-state")
|
||||
(def tx-store-key "acquisition-watch-tx")
|
||||
(def referrer-key "acquisition-referrer")
|
||||
|
||||
(def referrer-state {:accepted "accepted"
|
||||
:declined "declined"
|
||||
:claimed "claimed"
|
||||
:outdated "outdated"})
|
||||
|
||||
(re-frame/reg-fx
|
||||
::set-referrer-state
|
||||
(fn [decision]
|
||||
(-> ^js async-storage
|
||||
(.setItem referrer-flow-state-key (get referrer-state decision))
|
||||
(.then (fn []
|
||||
(re-frame/dispatch [:set-in [:acquisition :flow-state]
|
||||
(get referrer-state decision)])))
|
||||
(.catch (fn [error]
|
||||
(log/error "[async-storage]" error))))))
|
||||
|
||||
(defn get-referrer-flow-state [on-success]
|
||||
(-> ^js async-storage
|
||||
(.getItem referrer-flow-state-key)
|
||||
(.then (fn [^js data]
|
||||
(on-success data)))
|
||||
(.catch (fn [error]
|
||||
(log/error "[async-storage]" error)))))
|
||||
|
||||
(re-frame/reg-fx
|
||||
::check-tx-state
|
||||
(fn [on-success]
|
||||
(-> ^js async-storage
|
||||
(.getItem tx-store-key)
|
||||
(.then (fn [^js tx]
|
||||
(on-success tx)))
|
||||
(.catch (fn [error]
|
||||
(log/error "[async-storage]" error))))))
|
||||
|
||||
(re-frame/reg-fx
|
||||
::set-watch-tx
|
||||
(fn [tx]
|
||||
(when tx
|
||||
(-> ^js async-storage
|
||||
(.setItem tx-store-key tx)
|
||||
(.catch (fn [error]
|
||||
(log/error "[async-storage]" error)))))))
|
||||
|
||||
(re-frame/reg-fx
|
||||
::chat-initalized!
|
||||
(fn []
|
||||
(-> ^js async-storage
|
||||
(.setItem chat-initialized-key "initialized")
|
||||
(.catch (fn [error]
|
||||
(log/error "[async-storage]" error))))))
|
||||
|
||||
(re-frame/reg-fx
|
||||
::chat-initialized?
|
||||
(fn [on-success]
|
||||
(-> ^js async-storage
|
||||
(.getItem chat-initialized-key)
|
||||
(.then (fn [^js data]
|
||||
(on-success data)))
|
||||
(.catch (fn [error]
|
||||
(log/error "[async-storage]" error))))))
|
||||
|
||||
(defn set-referrer [referrer]
|
||||
(-> ^js async-storage
|
||||
(.setItem referrer-key referrer)
|
||||
(.catch (fn [error]
|
||||
(log/error "[async-storage]" error)))))
|
||||
|
||||
(defn get-referrer [on-success]
|
||||
(-> ^js async-storage
|
||||
(.getItem referrer-key)
|
||||
(.then (fn [^js data]
|
||||
(on-success data)))
|
||||
(.catch (fn [error]
|
||||
(log/error "[async-storage]" error)))))
|
|
@ -1,182 +0,0 @@
|
|||
(ns status-im.anon-metrics.core
|
||||
(:require [taoensso.timbre :as log]
|
||||
[re-frame.core :as re-frame]
|
||||
[re-frame.interceptor :refer [->interceptor]]
|
||||
[status-im.async-storage.core :as async-storage]
|
||||
[status-im.multiaccounts.update.core :as multiaccounts.update]
|
||||
[status-im.utils.async :refer [async-periodic-exec async-periodic-stop!]]
|
||||
[status-im.ethereum.json-rpc :as json-rpc]
|
||||
[status-im.utils.platform :as platform]
|
||||
[status-im.utils.build :as build]
|
||||
[status-im.utils.fx :as fx]
|
||||
[status-im.utils.config :as config]
|
||||
[status-im.anon-metrics.transformers :as txf]))
|
||||
|
||||
(defonce events-foyer (atom []))
|
||||
(defonce periodic-tasks-chan (atom nil))
|
||||
|
||||
(defn onboard-events
|
||||
"Check if there are any events in the foyer,
|
||||
flush them to the backend and clear foyer on-success."
|
||||
[]
|
||||
(let [outstanding-events @events-foyer]
|
||||
(when (seq outstanding-events)
|
||||
(reset! events-foyer [])
|
||||
(json-rpc/call
|
||||
{:method "appmetrics_saveAppMetrics"
|
||||
:params [outstanding-events]
|
||||
:on-success #()
|
||||
:on-error (fn [err]
|
||||
(log/error {:error err
|
||||
:events outstanding-events})
|
||||
(log/warn "The logged events will be rejected"))}))))
|
||||
|
||||
(re-frame/reg-fx
|
||||
::transfer-data
|
||||
(fn [transfer?]
|
||||
(if (and transfer?
|
||||
;; double run safety
|
||||
(not @periodic-tasks-chan))
|
||||
(do
|
||||
(log/info "[anon-metrics] Start collection service")
|
||||
(reset! periodic-tasks-chan
|
||||
;; interval = 4000 ms (run every `interval` ms)
|
||||
;; timeout = 5000 ms (exit if the fn doesn't exit within `timeout` ms)
|
||||
(async-periodic-exec onboard-events 4000 5000)))
|
||||
(do
|
||||
(log/info "[anon-metrics] Stop collection service")
|
||||
(when @periodic-tasks-chan
|
||||
(async-periodic-stop! @periodic-tasks-chan)
|
||||
(onboard-events) ; final onboard, will save and clear any pending events
|
||||
(reset! periodic-tasks-chan nil))))))
|
||||
|
||||
(fx/defn start-transferring
|
||||
[_]
|
||||
{::transfer-data true})
|
||||
|
||||
(fx/defn stop-transferring
|
||||
[_]
|
||||
{::transfer-data false})
|
||||
|
||||
(defn transform-and-log [context]
|
||||
(let [transformed-payload (txf/transform context)
|
||||
should-send? (get-in context
|
||||
[:coeffects
|
||||
:db
|
||||
:multiaccount
|
||||
:anon-metrics/should-send?]
|
||||
false)]
|
||||
(when (and config/metrics-enabled? ;metrics are enabled
|
||||
should-send? ; user opted-in
|
||||
transformed-payload); we were able to transform metrics-shape
|
||||
(swap!
|
||||
events-foyer
|
||||
conj
|
||||
{:event (-> context :coeffects :event first)
|
||||
:value transformed-payload
|
||||
:app_version build/version
|
||||
:os platform/os}))))
|
||||
|
||||
(re-frame/reg-fx ::transform-and-log transform-and-log)
|
||||
|
||||
(defn catch-events-before [context]
|
||||
(transform-and-log context)
|
||||
context)
|
||||
|
||||
(def interceptor
|
||||
(->interceptor
|
||||
:id :catch-events
|
||||
:before catch-events-before))
|
||||
|
||||
(fx/defn hoax-capture-event
|
||||
"Due to usage of fx/defn with fx/merge, it might not be able to
|
||||
intercept some events (like navigate-to-cofx). In cases like that,
|
||||
this hoax capture event can be used in conjunction with `fx/merge`"
|
||||
{:events [::hoax-capture-event]}
|
||||
[_ {:keys [og-event]}]
|
||||
;; re-shape event to look like a context object
|
||||
{::transform-and-log {:coeffects {:event og-event}}})
|
||||
|
||||
(fx/defn fetch-local-metrics-success
|
||||
{:events [::fetch-local-metrics-success]}
|
||||
[{:keys [db]} {:keys [metrics total-count clear-existing?]}]
|
||||
{:db (-> db
|
||||
(as-> db
|
||||
(if clear-existing?
|
||||
(assoc db
|
||||
:anon-metrics/events metrics
|
||||
:anon-metrics/total-count total-count)
|
||||
(update db :anon-metrics/events concat metrics)))
|
||||
(dissoc :anon-metrics/fetching?))})
|
||||
|
||||
(fx/defn fetch-local-metrics
|
||||
{:events [::fetch-local-metrics]}
|
||||
[{:keys [db]} {:keys [limit offset clear-existing?]}]
|
||||
{::json-rpc/call [{:method "appmetrics_getAppMetrics"
|
||||
:params [(or limit 3) (or offset 0)]
|
||||
:on-success #(re-frame/dispatch
|
||||
[::fetch-local-metrics-success
|
||||
{:metrics (get % :AppMetrics [])
|
||||
:total-count (get % :TotalCount 0)
|
||||
:clear-existing? clear-existing?}])}]
|
||||
:db (assoc db :anon-metrics/fetching? true)})
|
||||
|
||||
(fx/defn set-opt-in-screen-displayed-flag
|
||||
[{:keys [db]}]
|
||||
{::async-storage/set! {:anon-metrics/opt-in-screen-displayed? true}
|
||||
:db (assoc db :anon-metrics/opt-in-screen-displayed? true)})
|
||||
|
||||
(fx/defn set-show-thank-you
|
||||
{:events [::set-show-thank-you]}
|
||||
[{:keys [db]} show?]
|
||||
{:db (assoc db :anon-metrics/show-thank-you? show?)})
|
||||
|
||||
(defn on-opt-in-success [enabled?]
|
||||
(if enabled?
|
||||
(do
|
||||
;; animate
|
||||
(re-frame/dispatch [::set-show-thank-you true])
|
||||
;; and redirect after 1 second
|
||||
(js/setTimeout
|
||||
(fn []
|
||||
(re-frame/dispatch [:navigate-reset {:index 0
|
||||
:routes [{:name :tabs}]}])
|
||||
(re-frame/dispatch [::set-show-thank-you false]))
|
||||
1000))
|
||||
(re-frame/dispatch [:navigate-reset {:index 0
|
||||
:routes [{:name :tabs}]}])))
|
||||
|
||||
(fx/defn fetch-opt-in-displayed-success
|
||||
{:events [::fetch-opt-in-displayed-success]}
|
||||
[{:keys [db]} [k v]]
|
||||
{:db (assoc db k v)})
|
||||
|
||||
(fx/defn fetch-opt-in-screen-displayed?
|
||||
{:events [::fetch-opt-in-screen-displayed?]}
|
||||
[cofx]
|
||||
{::async-storage/get
|
||||
{:keys [:anon-metrics/opt-in-screen-displayed?]
|
||||
:cb #(re-frame/dispatch [::fetch-opt-in-displayed-success (first %)])}})
|
||||
|
||||
(fx/defn opt-in
|
||||
{:events [::opt-in]}
|
||||
[cofx enabled?]
|
||||
(fx/merge cofx
|
||||
(set-opt-in-screen-displayed-flag)
|
||||
(if enabled?
|
||||
(start-transferring)
|
||||
(stop-transferring))
|
||||
(multiaccounts.update/multiaccount-update
|
||||
:anon-metrics/should-send? enabled?
|
||||
{:on-success #(on-opt-in-success enabled?)})))
|
||||
|
||||
(comment
|
||||
;; read the database
|
||||
(def events-in-db (atom nil))
|
||||
(->> events-in-db
|
||||
deref
|
||||
(take-last 5))
|
||||
(json-rpc/call {:method "appmetrics_getAppMetrics"
|
||||
:params [1000 0] ; limit, offset
|
||||
:on-success #(reset! events-in-db %)}))
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
(ns status-im.anon-metrics.transformers)
|
||||
|
||||
(defn navigate-to-txf [context]
|
||||
(let [event (-> context :coeffects :event)]
|
||||
{:view_id (second event)
|
||||
:params {:screen (get-in event [1 :screen] "")}}))
|
||||
|
||||
(defn screens-on-will-focus-txf [context]
|
||||
(let [view-id (-> context :coeffects :event second)]
|
||||
;; we need this check because in some cases, :screens/on-will-focus is dispatched
|
||||
;; after navigate to this check ensures that only the events that are not handled
|
||||
;; via navigate to are captured hence avoiding duplicates
|
||||
(when (#{:chat :empty-tab :wallet :status :my-profile} view-id)
|
||||
{:view_id view-id
|
||||
:params {:screen ""}})))
|
||||
|
||||
(def value-transformations
|
||||
{:navigate-to navigate-to-txf
|
||||
:screens/on-will-focus screens-on-will-focus-txf})
|
||||
|
||||
(defn transform [ctx]
|
||||
(when-let [txf (-> ctx :coeffects :event first value-transformations)]
|
||||
(txf ctx)))
|
||||
|
|
@ -152,8 +152,6 @@
|
|||
(def ^:const one-week (* one-day 7))
|
||||
(def ^:const one-month (* one-day 31))
|
||||
|
||||
(def ^:const metrics-github-link
|
||||
"https://github.com/status-im/status-go/blob/develop/_docs/app-metrics.md")
|
||||
(def ^:const privacy-policy-link "https://status.im/privacy-policy/")
|
||||
(def ^:const terms-of-service-link "https://status.im/terms-of-use")
|
||||
(def ^:const docs-link "https://status.im/docs/")
|
||||
|
|
|
@ -15,10 +15,7 @@
|
|||
:mainnet "0x12824271339304d3a9f7e096e62a2a7e73b4a7e7"}
|
||||
:status/sticker-pack
|
||||
{:testnet "0xf852198d0385c4b871e0b91804ecd47c6ba97351"
|
||||
:mainnet "0x110101156e8F0743948B2A61aFcf3994A8Fb172e"}
|
||||
:status/acquisition
|
||||
{:rinkeby "statusreferrals.eth"
|
||||
:mainnet "statusreferrals.eth"}})
|
||||
:mainnet "0x110101156e8F0743948B2A61aFcf3994A8Fb172e"}})
|
||||
|
||||
(defn get-address
|
||||
[db contract]
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
(:require clojure.set
|
||||
[re-frame.core :as re-frame]
|
||||
status-im.add-new.core
|
||||
[status-im.anon-metrics.core :as anon-metrics]
|
||||
[status-im.async-storage.core :as async-storage]
|
||||
status-im.backup.core
|
||||
status-im.bootnodes.core
|
||||
|
@ -238,8 +237,7 @@
|
|||
(chat/preload-chat-data cofx constants/timeline-chat-id)))
|
||||
|
||||
(fx/defn on-will-focus
|
||||
{:events [:screens/on-will-focus]
|
||||
:interceptors [anon-metrics/interceptor]}
|
||||
{:events [:screens/on-will-focus]}
|
||||
[{:keys [db] :as cofx} view-id]
|
||||
(fx/merge cofx
|
||||
(cond
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
(:require [clojure.string :as string]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.multiaccounts.login.core :as multiaccounts.login]
|
||||
[status-im.anon-metrics.core :as anon-metrics]
|
||||
[status-im.native-module.core :as status]
|
||||
[status-im.network.net-info :as network]
|
||||
[status-im.db :refer [app-db]]
|
||||
|
@ -58,8 +57,7 @@
|
|||
(assoc :multiaccounts/logout? logout?)
|
||||
(assoc :multiaccounts/loading false))
|
||||
:dispatch-n [[::initialize-view]
|
||||
[:get-opted-in-to-new-terms-of-service]
|
||||
[::anon-metrics/fetch-opt-in-screen-displayed?]]})))
|
||||
[:get-opted-in-to-new-terms-of-service]]})))
|
||||
|
||||
(fx/defn start-app
|
||||
{:events [:init/app-started]}
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
[status-im.ethereum.stateofus :as stateofus]
|
||||
[status-im.multiaccounts.update.core :as multiaccounts.update]
|
||||
[status-im.bottom-sheet.core :as bottom-sheet]
|
||||
[status-im.anon-metrics.core :as anon-metrics]
|
||||
[status-im.native-module.core :as native-module]
|
||||
[status-im.ethereum.json-rpc :as json-rpc]
|
||||
[status-im.utils.fx :as fx]
|
||||
|
@ -150,17 +149,6 @@
|
|||
:default-sync-period value
|
||||
{}))
|
||||
|
||||
(fx/defn switch-share-anonymous-usage-data
|
||||
{:events [:multiaccounts.ui/share-anonymous-usage-data-switched]}
|
||||
[cofx opted-in?]
|
||||
(fx/merge cofx
|
||||
(multiaccounts.update/multiaccount-update
|
||||
:anon-metrics/should-send? (boolean opted-in?)
|
||||
{})
|
||||
(if opted-in?
|
||||
(anon-metrics/start-transferring)
|
||||
(anon-metrics/stop-transferring))))
|
||||
|
||||
(fx/defn switch-preview-privacy-mode-flag
|
||||
[{:keys [db]}]
|
||||
(let [private? (get-in db [:multiaccount :preview-privacy?])]
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
(ns status-im.multiaccounts.login.core
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[status-im.anon-metrics.core :as anon-metrics]
|
||||
[status-im.contact.core :as contact]
|
||||
[status-im.utils.config :as config]
|
||||
[status-im.data-store.settings :as data-store.settings]
|
||||
|
@ -27,7 +26,6 @@
|
|||
[status-im.utils.utils :as utils]
|
||||
[status-im.wallet.core :as wallet]
|
||||
[status-im.wallet.prices :as prices]
|
||||
[status-im.acquisition.core :as acquisition]
|
||||
[taoensso.timbre :as log]
|
||||
[status-im.data-store.invitations :as data-store.invitations]
|
||||
[status-im.chat.models.link-preview :as link-preview]
|
||||
|
@ -392,7 +390,6 @@
|
|||
{:on-success
|
||||
#(do (re-frame/dispatch [:chats-list/load-success %])
|
||||
(re-frame/dispatch [::get-chats-callback]))})
|
||||
(acquisition/login)
|
||||
(initialize-appearance)
|
||||
(initialize-communities-enabled)
|
||||
(initialize-wallet-connect)
|
||||
|
@ -474,22 +471,9 @@
|
|||
(defn redirect-to-root
|
||||
"Decides which root should be initialised depending on user and app state"
|
||||
[db]
|
||||
(let [tos-accepted? (get db :tos/accepted?)
|
||||
metrics-opt-in-screen-displayed? (get db :anon-metrics/opt-in-screen-displayed?)]
|
||||
;; There is a race condition to show metrics opt-in and
|
||||
;; tos opt-in. Tos is more important and is displayed first.
|
||||
;; Metrics opt-in is diplayed the next time the user logs in
|
||||
(cond
|
||||
(not tos-accepted?)
|
||||
(re-frame/dispatch [:init-root :tos])
|
||||
|
||||
;; TODO <shivekkhurana>: This needs work post new navigation
|
||||
(and tos-accepted?
|
||||
(not metrics-opt-in-screen-displayed?)
|
||||
config/metrics-enabled?)
|
||||
(navigation/navigate-to :anon-metrics-opt-in {})
|
||||
|
||||
:else (re-frame/dispatch [:init-root :chat-stack]))))
|
||||
(if (get db :tos/accepted?)
|
||||
(re-frame/dispatch [:init-root :chat-stack])
|
||||
(re-frame/dispatch [:init-root :tos])))
|
||||
|
||||
(fx/defn login-only-events
|
||||
[{:keys [db] :as cofx} key-uid password save-password?]
|
||||
|
@ -571,8 +555,7 @@
|
|||
recovered-account?
|
||||
(keycard-setup? cofx)))
|
||||
from-migration? (get-in db [:keycard :from-key-storage-and-migration?])
|
||||
nodes nil
|
||||
should-send-metrics? (get-in db [:multiaccount :anon-metrics/should-send?])]
|
||||
nodes nil]
|
||||
(log/debug "[multiaccount] multiaccount-login-success"
|
||||
"login-only?" login-only?
|
||||
"recovered-account?" recovered-account?)
|
||||
|
@ -581,9 +564,6 @@
|
|||
::json-rpc/call
|
||||
[{:method "web3_clientVersion"
|
||||
:on-success #(re-frame/dispatch [::initialize-web3-client-version %])}]}
|
||||
;; Start tasks to save usage data locally
|
||||
(when should-send-metrics?
|
||||
(anon-metrics/start-transferring))
|
||||
;;FIXME
|
||||
(when nodes
|
||||
(fleet/set-nodes :eth.contract nodes))
|
||||
|
@ -722,14 +702,8 @@
|
|||
|
||||
(fx/defn welcome-lets-go
|
||||
{:events [:welcome-lets-go]}
|
||||
[cofx]
|
||||
(let [first-account? (get-in cofx [:db :multiaccount :multiaccounts/first-account])]
|
||||
(fx/merge cofx
|
||||
{:init-root-fx :chat-stack}
|
||||
(when first-account?
|
||||
(acquisition/create))
|
||||
(when config/metrics-enabled?
|
||||
{:dispatch [:navigate-to :anon-metrics-opt-in]}))))
|
||||
[_]
|
||||
{:init-root-fx :chat-stack})
|
||||
|
||||
(fx/defn multiaccount-selected
|
||||
{:events [:multiaccounts.login.ui/multiaccount-selected]}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
(ns status-im.multiaccounts.logout.core
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[status-im.anon-metrics.core :as anon-metrics]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[status-im.init.core :as init]
|
||||
[status-im.native-module.core :as status]
|
||||
|
@ -13,8 +12,7 @@
|
|||
(fx/defn logout-method
|
||||
{:events [::logout-method]}
|
||||
[{:keys [db] :as cofx} {:keys [auth-method logout?]}]
|
||||
(let [key-uid (get-in db [:multiaccount :key-uid])
|
||||
should-send-metrics? (get-in db [:multiaccount :anon-metrics/should-send?])]
|
||||
(let [key-uid (get-in db [:multiaccount :key-uid])]
|
||||
(fx/merge cofx
|
||||
{:init-root-fx :progress
|
||||
:hide-popover nil
|
||||
|
@ -22,8 +20,6 @@
|
|||
::multiaccounts/webview-debug-changed false
|
||||
:keychain/clear-user-password key-uid
|
||||
::init/open-multiaccounts #(re-frame/dispatch [::init/initialize-multiaccounts % {:logout? logout?}])}
|
||||
(when should-send-metrics?
|
||||
(anon-metrics/stop-transferring))
|
||||
(keychain/save-auth-method key-uid auth-method)
|
||||
(wallet/clear-timeouts)
|
||||
(init/initialize-app-db))))
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
(ns status-im.navigation
|
||||
(:require [status-im.anon-metrics.core :as anon-metrics]
|
||||
[status-im.utils.fx :as fx]))
|
||||
(:require [status-im.utils.fx :as fx]))
|
||||
|
||||
(defn- all-screens-params [db view screen-params]
|
||||
(cond-> db
|
||||
|
@ -15,9 +14,7 @@
|
|||
{:db
|
||||
(-> (assoc db :view-id go-to-view-id)
|
||||
(all-screens-params go-to-view-id screen-params))
|
||||
:navigate-to-fx go-to-view-id
|
||||
;; simulate a navigate-to event so it can be captured be anon-metrics
|
||||
::anon-metrics/transform-and-log {:coeffects {:event [:navigate-to go-to-view-id screen-params]}}})
|
||||
:navigate-to-fx go-to-view-id})
|
||||
|
||||
(fx/defn navigate-to
|
||||
{:events [:navigate-to]}
|
||||
|
@ -45,8 +42,7 @@
|
|||
{:change-tab-fx tab})
|
||||
|
||||
(fx/defn navigate-replace
|
||||
{:events [:navigate-replace]
|
||||
:interceptors [anon-metrics/interceptor]}
|
||||
{:events [:navigate-replace]}
|
||||
[{:keys [db]} go-to-view-id screen-params]
|
||||
(let [db (cond-> (assoc db :view-id go-to-view-id)
|
||||
(seq screen-params)
|
||||
|
|
|
@ -1,50 +0,0 @@
|
|||
(ns status-im.notifications.android-remote
|
||||
(:require #?@(:google-free []
|
||||
:cljs [[re-frame.core :as re-frame]
|
||||
[taoensso.timbre :as log]
|
||||
[status-im.notifications.android :as pn-android]
|
||||
["react-native-notifications" :refer (Notifications)]])))
|
||||
|
||||
#?(:google-free
|
||||
[(defn register-remote-notifications [] nil)
|
||||
(defn unregister-remote-notifications [] nil)]
|
||||
|
||||
:cljs
|
||||
[(defonce remote-notifications? (atom false))
|
||||
|
||||
(defn remote-notifications-registered-listener []
|
||||
(.registerRemoteNotificationsRegistered
|
||||
(.events Notifications)
|
||||
(fn [^js evn]
|
||||
(let [token (.-deviceToken evn)]
|
||||
(when @remote-notifications?
|
||||
(re-frame/dispatch [:notifications/registered-for-push-notifications token]))))))
|
||||
|
||||
(defn remote-notifications-registration-failed-listener []
|
||||
(.registerRemoteNotificationsRegistrationFailed
|
||||
(.events Notifications)
|
||||
(fn [^js err]
|
||||
(log/info "Remote notifications registration failed" err)
|
||||
(reset! @remote-notifications? false)
|
||||
(re-frame/dispatch [:notifications/switch-error true err]))))
|
||||
|
||||
(defn notification-opened-listener []
|
||||
(.registerNotificationOpened
|
||||
(.events Notifications)
|
||||
(fn [^js _ cb _]
|
||||
(when @remote-notifications?
|
||||
(pn-android/clear-all-message-notifications))
|
||||
(^js cb))))
|
||||
|
||||
(defn register-remote-notifications []
|
||||
(reset! remote-notifications? true)
|
||||
;; event listeners registeration
|
||||
(remote-notifications-registered-listener)
|
||||
(remote-notifications-registration-failed-listener)
|
||||
(notification-opened-listener)
|
||||
;; Register for remote notifications
|
||||
(.registerRemoteNotifications Notifications))
|
||||
|
||||
(defn unregister-remote-notifications []
|
||||
(reset! remote-notifications? false)
|
||||
(re-frame/dispatch [:notifications/unregistered-from-push-notifications]))])
|
|
@ -8,8 +8,7 @@
|
|||
[status-im.notifications.local :as local]
|
||||
[quo.platform :as platform]
|
||||
[status-im.utils.config :as config]
|
||||
[status-im.ethereum.json-rpc :as json-rpc]
|
||||
[status-im.notifications.android-remote :as pn-android-remote]))
|
||||
[status-im.ethereum.json-rpc :as json-rpc]))
|
||||
|
||||
(def server-type-default 1)
|
||||
(def server-type-custom 2)
|
||||
|
@ -46,22 +45,14 @@
|
|||
(.abandonPermissions ^js pn-ios)
|
||||
(re-frame/dispatch [:notifications/unregistered-from-push-notifications]))
|
||||
|
||||
(defn enable-android-notifications [remote-push-notifications-enabled?]
|
||||
(if (and remote-push-notifications-enabled? (not config/google-free))
|
||||
(do
|
||||
(pn-android/disable-notifications)
|
||||
(pn-android/clear-all-message-notifications)
|
||||
(pn-android-remote/register-remote-notifications))
|
||||
(do
|
||||
(pn-android-remote/unregister-remote-notifications)
|
||||
(pn-android/create-channel
|
||||
{:channel-id "status-im-notifications"
|
||||
:channel-name "Status push notifications"})
|
||||
(pn-android/enable-notifications))))
|
||||
(defn enable-android-notifications []
|
||||
(pn-android/create-channel
|
||||
{:channel-id "status-im-notifications"
|
||||
:channel-name "Status push notifications"})
|
||||
(pn-android/enable-notifications))
|
||||
|
||||
(defn disable-android-notifications []
|
||||
(pn-android/disable-notifications)
|
||||
(pn-android-remote/unregister-remote-notifications))
|
||||
(pn-android/disable-notifications))
|
||||
|
||||
;; FIXME: Repalce with request permission from audio messages PR lib
|
||||
(re-frame/reg-fx
|
||||
|
@ -82,10 +73,9 @@
|
|||
|
||||
(re-frame/reg-fx
|
||||
::enable
|
||||
(fn [remote-push-notifications-enabled?]
|
||||
(fn []
|
||||
(if platform/android?
|
||||
(enable-android-notifications
|
||||
remote-push-notifications-enabled?)
|
||||
(enable-android-notifications)
|
||||
(enable-ios-notifications))))
|
||||
|
||||
(re-frame/reg-fx
|
||||
|
@ -102,16 +92,13 @@
|
|||
(pn-android/disable-notifications)
|
||||
(.abandonPermissions ^js pn-ios))))
|
||||
|
||||
(defn clear-all-message-notifications []
|
||||
(if platform/android?
|
||||
(pn-android/clear-all-message-notifications)
|
||||
(.removeAllDeliveredNotifications ^js pn-ios)))
|
||||
|
||||
(re-frame/reg-fx
|
||||
:clear-message-notifications
|
||||
(fn [[chat-ids remote-push-notifications-enabled?]]
|
||||
(fn [[chat-ids] remote-push-notifications-enabled?]
|
||||
(if remote-push-notifications-enabled?
|
||||
(clear-all-message-notifications)
|
||||
(if platform/android?
|
||||
(pn-android/clear-all-message-notifications)
|
||||
(.removeAllDeliveredNotifications ^js pn-ios))
|
||||
(when platform/android?
|
||||
(doseq [chat-id chat-ids]
|
||||
(pn-android/clear-message-notifications chat-id))))))
|
||||
|
|
|
@ -52,8 +52,7 @@
|
|||
"g/" group-chat-extractor
|
||||
["wallet/" :account] :wallet-account
|
||||
["u/" :user-id] :user
|
||||
["user/" :user-id] :user
|
||||
["referral/" :referrer] :referrals}
|
||||
["user/" :user-id] :user}
|
||||
ethereum-scheme eip-extractor}])
|
||||
|
||||
(defn parse-query-params
|
||||
|
@ -175,10 +174,6 @@
|
|||
(defn address->eip681 [address]
|
||||
(match-eip681 (str ethereum-scheme address)))
|
||||
|
||||
(defn match-referral [{:keys [referrer]}]
|
||||
{:type :referrals
|
||||
:referrer referrer})
|
||||
|
||||
(defn match-wallet-account [{:keys [account]}]
|
||||
{:type :wallet-account
|
||||
:account (when account (string/lower-case account))})
|
||||
|
@ -217,9 +212,6 @@
|
|||
(= handler :community-chat)
|
||||
(cb {:type handler :chat-id (:chat-id route-params)})
|
||||
|
||||
(= handler :referrals)
|
||||
(cb (match-referral route-params))
|
||||
|
||||
(= handler :wallet-account)
|
||||
(cb (match-wallet-account route-params))
|
||||
|
||||
|
|
|
@ -236,8 +236,6 @@
|
|||
(reg-root-key-sub :push-notifications/servers :push-notifications/servers)
|
||||
(reg-root-key-sub :push-notifications/preferences :push-notifications/preferences)
|
||||
|
||||
(reg-root-key-sub :acquisition :acquisition)
|
||||
|
||||
(reg-root-key-sub :buy-crypto/on-ramps :buy-crypto/on-ramps)
|
||||
|
||||
;; communities
|
||||
|
@ -253,15 +251,6 @@
|
|||
(reg-root-key-sub :activity.center/notifications :activity.center/notifications)
|
||||
(reg-root-key-sub :activity.center/notifications-count :activity.center/notifications-count)
|
||||
|
||||
;; anon. metrics
|
||||
(reg-root-key-sub :anon-metrics/opt-in-screen-displayed? :anon-metrics/opt-in-screen-displayed?)
|
||||
(reg-root-key-sub :anon-metrics/show-thank-you? :anon-metrics/show-thank-you?)
|
||||
(reg-root-key-sub :anon-metrics/events :anon-metrics/events)
|
||||
(reg-root-key-sub :anon-metrics/total-count :anon-metrics/total-count)
|
||||
(reg-root-key-sub :anon-metrics/fetching? :anon-metrics/fetching?)
|
||||
(reg-root-key-sub :anon-metrics/data-visible? :anon-metrics/data-visible?)
|
||||
(reg-root-key-sub :anon-metrics/learn-more-visible? :anon-metrics/learn-more-visible?)
|
||||
|
||||
(reg-root-key-sub :bug-report/description-error :bug-report/description-error)
|
||||
(reg-root-key-sub :bug-report/details :bug-report/details)
|
||||
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
(ns status-im.ui.components.invite.advertiser
|
||||
(:require [status-im.ui.components.invite.modal :as modal]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[status-im.acquisition.core :as acquisition]
|
||||
[status-im.acquisition.advertiser :as advertiser]))
|
||||
|
||||
(defn accept-popover []
|
||||
(let [{:keys [rewardable]} @(re-frame/subscribe [::acquisition/metadata])]
|
||||
[modal/popover {:on-accept #(re-frame/dispatch [::advertiser/decision :accept])
|
||||
:on-decline #(re-frame/dispatch [::advertiser/decision :decline])
|
||||
:has-reward rewardable
|
||||
:accept-label (i18n/label :t/advertiser-starter-pack-accept)
|
||||
:title (if rewardable
|
||||
(i18n/label :t/advertiser-starter-pack-title)
|
||||
(i18n/label :t/advertiser-title))
|
||||
:description (if rewardable
|
||||
(i18n/label :t/advertiser-starter-pack-description)
|
||||
(i18n/label :t/advertiser-description))}]))
|
|
@ -1,126 +0,0 @@
|
|||
(ns status-im.ui.components.invite.chat
|
||||
(:require [clojure.string :as cstr]
|
||||
[quo.design-system.colors :as colors]
|
||||
[quo.design-system.spacing :as spacing]
|
||||
[quo.react-native :as rn]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.ui.components.invite.utils :as utils]
|
||||
[quo.core :as quo]
|
||||
[status-im.acquisition.chat :as acquisition]
|
||||
[status-im.ui.components.invite.events :as invite]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[status-im.acquisition.gateway :as gateway]
|
||||
[status-im.ui.components.invite.style :as styles]))
|
||||
|
||||
(defn messages-wrapper []
|
||||
(:small spacing/padding-vertical))
|
||||
|
||||
(defn message-wrapper []
|
||||
{:padding-right 96
|
||||
:padding-left 8
|
||||
:flex-direction :row})
|
||||
|
||||
(defn message-view []
|
||||
{:border-top-left-radius 16
|
||||
:border-top-right-radius 16
|
||||
:border-bottom-right-radius 16
|
||||
:border-radius 8
|
||||
:border-bottom-left-radius 4
|
||||
:border-width 1
|
||||
:margin-bottom 4
|
||||
:border-color (:border-01 @colors/theme)})
|
||||
|
||||
(defn message-text []
|
||||
(merge (:small spacing/padding-horizontal)
|
||||
{:padding-vertical 6}))
|
||||
|
||||
(defn author-text []
|
||||
(merge (:small spacing/padding-horizontal)
|
||||
{:padding-top (:tiny spacing/spacing)
|
||||
:paddingbottom (:x-tiny spacing/spacing)}))
|
||||
|
||||
(defn button-message []
|
||||
{:flex-direction :row
|
||||
:justify-content :center
|
||||
:align-items :center})
|
||||
|
||||
(defn starter-pack-style []
|
||||
(merge (:small spacing/padding-horizontal)
|
||||
(:small spacing/padding-vertical)
|
||||
{:background-color (:interactive-02 @colors/theme)
|
||||
:flex-direction :row
|
||||
:border-bottom-width 1
|
||||
:border-top-width 1
|
||||
:border-color (:border-02 @colors/theme)}))
|
||||
|
||||
(defn starter-pack []
|
||||
(let [pack @(re-frame/subscribe [::invite/starter-pack])
|
||||
tokens (utils/transform-tokens pack)
|
||||
reward-text (->> tokens
|
||||
(map (comp :symbol first))
|
||||
(filter (comp not nil?))
|
||||
(map name)
|
||||
(cstr/join ", "))]
|
||||
[rn/view {:style (starter-pack-style)}
|
||||
[rn/view {:style (styles/reward-tokens-icons (count tokens))}
|
||||
(doall
|
||||
(for [[{name :name
|
||||
{source :source} :icon} _ idx] tokens]
|
||||
^{:key name}
|
||||
[rn/view {:style (styles/reward-token-icon idx)}
|
||||
[rn/image {:source (if (fn? source) (source) source)
|
||||
:style {:width 40
|
||||
:height 40}}]]))]
|
||||
[rn/view {:style styles/reward-description}
|
||||
[quo/text {:weight :medium}
|
||||
(i18n/label :t/invite-chat-starter-pack)]
|
||||
[quo/text {} reward-text]]]))
|
||||
|
||||
(defn render-message [{:keys [content]}]
|
||||
[rn/view {:style (message-wrapper)}
|
||||
[rn/view {:style (message-view)}
|
||||
(for [{:keys [type value]} content]
|
||||
(case type
|
||||
:text [rn/view {:style (message-text)}
|
||||
[quo/text value]]
|
||||
:pack [starter-pack]
|
||||
:author [rn/view {:style (author-text)}
|
||||
[quo/text {:color :secondary}
|
||||
value]]
|
||||
:button [rn/view {:style (button-message)}
|
||||
value]
|
||||
nil))]])
|
||||
|
||||
(defn reward-messages []
|
||||
(let [has-invite @(re-frame/subscribe [::invite/has-chat-invite])
|
||||
loading (#{(get gateway/network-statuses :initiated)
|
||||
(get gateway/network-statuses :in-flight)}
|
||||
@(re-frame/subscribe [::gateway/network-status]))
|
||||
pending @(re-frame/subscribe [::invite/pending-reward])
|
||||
messages [{:content [{:type :text
|
||||
:value "👋"}]}
|
||||
{:content [{:type :author
|
||||
:value (i18n/label :t/invite-chat-name)}
|
||||
{:type :text
|
||||
:value (i18n/label :t/invite-chat-intro)}
|
||||
{:type :pack}
|
||||
{:type :button
|
||||
:value [quo/button {:type :secondary
|
||||
:loading loading
|
||||
:disabled pending
|
||||
:on-press #(re-frame/dispatch [::acquisition/accept-pack])}
|
||||
(if pending
|
||||
(i18n/label :t/invite-chat-pending)
|
||||
(i18n/label :t/invite-chat-accept))]}]}
|
||||
{:content [{:type :text
|
||||
:value (i18n/label :t/invite-chat-rule)}]}
|
||||
{:content [{:type :text
|
||||
:value [:<>
|
||||
(i18n/label :t/invite-privacy-policy1) " "
|
||||
[quo/text {:color :link
|
||||
:on-press #(re-frame/dispatch [::invite/terms-and-conditions])}
|
||||
(i18n/label :t/invite-privacy-policy2)]]}]}]]
|
||||
(when has-invite
|
||||
[rn/view {:style (messages-wrapper)}
|
||||
(for [message messages]
|
||||
[render-message message])])))
|
|
@ -1,17 +0,0 @@
|
|||
(ns status-im.ui.components.invite.dapp
|
||||
(:require [status-im.ui.components.invite.modal :as modal]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.acquisition.core :as acquisition]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[status-im.acquisition.dapp :as dapp]))
|
||||
|
||||
(defn accept-popover []
|
||||
(let [{:keys [rewardable]} @(re-frame/subscribe [::acquisition/metadata])]
|
||||
[modal/popover {:on-accept #(re-frame/dispatch [::dapp/decision :accept])
|
||||
:on-decline #(re-frame/dispatch [::dapp/decision :decline])
|
||||
:has-reward rewardable
|
||||
:accept-label (i18n/label :t/dapp-starter-pack-accept)
|
||||
:title (i18n/label :t/dapp-starter-pack-title)
|
||||
:description (i18n/label :t/dapp-starter-pack-description)}]))
|
||||
|
||||
|
|
@ -1,23 +1,9 @@
|
|||
(ns status-im.ui.components.invite.events
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[reagent.ratom :refer [make-reaction]]
|
||||
[taoensso.timbre :as log]
|
||||
[status-im.utils.fx :as fx]
|
||||
[status-im.utils.config :as config]
|
||||
[status-im.ethereum.abi-spec :as abi-spec]
|
||||
[status-im.ethereum.json-rpc :as json-rpc]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[status-im.signing.core :as signing]
|
||||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.ui.components.react :as react]
|
||||
[status-im.navigation :as navigation]
|
||||
[status-im.utils.universal-links.utils :as universal-links]
|
||||
[status-im.acquisition.core :as acquisition]
|
||||
[status-im.acquisition.persistance :as persistence]
|
||||
[status-im.utils.money :as money]
|
||||
[status-im.bottom-sheet.core :as bottom-sheet]))
|
||||
|
||||
(def privacy-policy-link "https://status.im/referral-program/terms-and-conditions")
|
||||
[status-im.utils.universal-links.utils :as universal-links]))
|
||||
|
||||
(re-frame/reg-fx
|
||||
::share
|
||||
|
@ -26,216 +12,9 @@
|
|||
|
||||
(fx/defn share-link
|
||||
{:events [::share-link]}
|
||||
[{:keys [db]} response]
|
||||
[{:keys [db]}]
|
||||
(let [{:keys [public-key preferred-name]} (get db :multiaccount)
|
||||
invite-id (get response :invite_code)
|
||||
profile-link (universal-links/generate-link :user :external
|
||||
(or preferred-name public-key))
|
||||
share-link (cond-> profile-link
|
||||
invite-id
|
||||
(str "?invite=" invite-id))
|
||||
message (i18n/label :t/join-me {:url share-link})]
|
||||
message (i18n/label :t/join-me {:url profile-link})]
|
||||
{::share {:message message}}))
|
||||
|
||||
(fx/defn generate-invite
|
||||
{:events [::generate-invite]}
|
||||
[{:keys [db] :as cofx} {:keys [address]}]
|
||||
(acquisition/handle-registration cofx
|
||||
{:message {:address address
|
||||
:interaction_address (get-in db [:multiaccount :public-key])}
|
||||
:on-success [::share-link]}))
|
||||
|
||||
(re-frame/reg-sub
|
||||
::has-chat-invite
|
||||
:<- [:chats/current-chat-id]
|
||||
:<- [:acquisition]
|
||||
(fn [[chat-id acquisition]]
|
||||
(let [{:keys [flow-state attributed]} acquisition
|
||||
chat-referrer (get-in acquisition [:chat-referrer chat-id])]
|
||||
(and chat-referrer
|
||||
(not attributed)
|
||||
(nil? flow-state)))))
|
||||
|
||||
(re-frame/reg-sub
|
||||
::pending-reward
|
||||
:<- [:acquisition]
|
||||
(fn [{:keys [flow-state]}]
|
||||
(= flow-state (get persistence/referrer-state :accepted))))
|
||||
|
||||
(re-frame/reg-sub
|
||||
::has-public-chat-invite
|
||||
:<- [:acquisition]
|
||||
(fn [acquisition]
|
||||
(let [{:keys [metadata flow-state attributed]} acquisition
|
||||
{:keys [type]} metadata]
|
||||
(and (= type "public-chat")
|
||||
(not attributed)
|
||||
(nil? flow-state)))))
|
||||
|
||||
(fx/defn go-to-invite
|
||||
{:events [::open-invite]}
|
||||
[{:keys [db] :as cofx}]
|
||||
(let [contract (get-in db [:acquisition :contract])
|
||||
accounts (filter #(not= (:type %) :watch) (get db :multiaccount/accounts))]
|
||||
(fx/merge cofx
|
||||
{::get-rewards (mapv (fn [{:keys [address]}]
|
||||
{:address address
|
||||
:contract contract
|
||||
:on-success (fn [type data]
|
||||
(re-frame/dispatch [::get-reward-success address type data]))})
|
||||
accounts)}
|
||||
(navigation/open-modal :referral-invite nil))))
|
||||
|
||||
(re-frame/reg-fx
|
||||
::terms-and-conditions
|
||||
(fn []
|
||||
(.openURL ^js react/linking privacy-policy-link)))
|
||||
|
||||
(fx/defn open-privacy-policy-link
|
||||
{:events [::terms-and-conditions]}
|
||||
[_]
|
||||
{::terms-and-conditions nil})
|
||||
|
||||
(fx/defn redeem-success
|
||||
{:events [::redeem-success]}
|
||||
[{:keys [db]} account]
|
||||
{:db (assoc-in db [:acquisition :accounts account :bonuses] 0)})
|
||||
|
||||
(fx/defn redeem-error
|
||||
{:events [::redeem-error]}
|
||||
[cofx error]
|
||||
{:utils/show-popup {:title "Error"
|
||||
:content error}})
|
||||
|
||||
(fx/defn redeem-bonus
|
||||
{:events [::redeem-bonus]}
|
||||
[{:keys [db] :as cofx} {:keys [address]}]
|
||||
(fx/merge cofx
|
||||
(bottom-sheet/hide-bottom-sheet)
|
||||
(signing/sign
|
||||
{:tx-obj {:to (get-in db [:acquisition :contract])
|
||||
:from address
|
||||
:data (abi-spec/encode "withdrawAttributions()" [])}
|
||||
:on-result [::redeem-success address]
|
||||
:on-error [::redeem-error]})))
|
||||
|
||||
;; Invite reward
|
||||
|
||||
(re-frame/reg-sub
|
||||
:invite/accounts-reward
|
||||
(fn [db]
|
||||
(get-in db [:acquisition :accounts])))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:invite/account-reward
|
||||
:<- [:invite/accounts-reward]
|
||||
(fn [accounts [_ account]]
|
||||
(get accounts account)))
|
||||
|
||||
(defn- get-reward [contract address on-success]
|
||||
(json-rpc/eth-call
|
||||
{:contract contract
|
||||
:method "pendingAttributionCnt(address)"
|
||||
:params [address]
|
||||
:outputs ["uint256"]
|
||||
:on-success (fn [[response]]
|
||||
(log/info "Attribution count for" address "=" response)
|
||||
(on-success :attribution response))})
|
||||
(json-rpc/eth-call
|
||||
{:contract contract
|
||||
:method "getReferralReward(address,bool)"
|
||||
:params [address false]
|
||||
;; [uint ethAmount, uint tokenLen, uint maxThreshold, uint attribCount]
|
||||
:outputs ["uint256" "uint256" "uint256" "uint256"]
|
||||
:on-success (fn [[eth-amount tokens-count max-threshold attrib-count]]
|
||||
(on-success :reward [eth-amount tokens-count max-threshold attrib-count])
|
||||
(log/info "Reward data for" address "=" eth-amount tokens-count max-threshold attrib-count)
|
||||
(dotimes [id tokens-count]
|
||||
(json-rpc/eth-call
|
||||
{:contract contract
|
||||
:method "getReferralRewardTokens(address,bool,uint256)"
|
||||
:params [address false id]
|
||||
:outputs ["address" "uint256"]
|
||||
:on-success (fn [token-data]
|
||||
(log/info "Token data for" address "token id" id "=" token-data)
|
||||
(on-success :token token-data))})))}))
|
||||
|
||||
(re-frame/reg-fx
|
||||
::get-rewards
|
||||
(fn [accounts]
|
||||
(doseq [{:keys [contract address on-success]} accounts]
|
||||
(get-reward contract address on-success))))
|
||||
|
||||
(fx/defn default-reward-success
|
||||
{:events [::default-reward-success]}
|
||||
[{:keys [db]} type data]
|
||||
(case type
|
||||
:reward
|
||||
(let [[eth-amount tokens-count max-threshold attrib-count] data]
|
||||
{:db (assoc-in db [:acquisition :referral-reward] {:eth-amount (money/wei->ether eth-amount)
|
||||
:tokens-count tokens-count
|
||||
:max-threshold max-threshold
|
||||
:attrib-count attrib-count})})
|
||||
:token
|
||||
(let [[address amount] data]
|
||||
{:db (assoc-in db [:acquisition :referral-reward :tokens address] (money/wei->ether amount))})
|
||||
|
||||
:attribution
|
||||
{:db (assoc-in db [:acquisition :referral-reward :bonuses] data)}))
|
||||
|
||||
(fx/defn get-reward-success
|
||||
{:events [::get-reward-success]}
|
||||
[{:keys [db]} account type data]
|
||||
(case type
|
||||
:reward
|
||||
(let [[eth-amount _ max-threshold attrib-count] data]
|
||||
{:db (update-in db [:acquisition :accounts account] merge {:eth-amount (money/wei->ether eth-amount)
|
||||
:max-threshold max-threshold
|
||||
:attrib-count attrib-count})})
|
||||
:token
|
||||
(let [[address amount] data]
|
||||
{:db (assoc-in db [:acquisition :accounts account :tokens address] (money/wei->ether amount))})
|
||||
|
||||
:attribution
|
||||
{:db (assoc-in db [:acquisition :accounts account :bonuses] data)}))
|
||||
|
||||
;;TODO this one rerender whole root many times FIX IT
|
||||
(re-frame/reg-sub-raw
|
||||
::default-reward
|
||||
(fn [db]
|
||||
(get-reward (get-in @db [:acquisition :contract])
|
||||
(ethereum/default-address @db)
|
||||
(fn [type data]
|
||||
(re-frame/dispatch [::default-reward-success type data])))
|
||||
(make-reaction
|
||||
(fn []
|
||||
(get-in @db [:acquisition :referral-reward])))))
|
||||
|
||||
;; Starter pack
|
||||
|
||||
(fx/defn get-starter-pack-amount
|
||||
{:events [::starter-pack-amount]}
|
||||
[{:keys [db]} [_ eth-amount tokens tokens-amount sticker-packs]]
|
||||
{:db (assoc-in db [:acquisition :starter-pack :pack]
|
||||
{:eth-amount (money/wei->ether eth-amount)
|
||||
:tokens (zipmap tokens
|
||||
(map money/wei->ether tokens-amount))
|
||||
:sticker-packs sticker-packs})})
|
||||
(re-frame/reg-sub-raw
|
||||
::starter-pack
|
||||
(fn [db]
|
||||
(let [contract (get-in @db [:acquisition :contract])]
|
||||
(json-rpc/eth-call
|
||||
{:contract contract
|
||||
:method "getDefaultPack()"
|
||||
:outputs ["address" "uint256" "address[]" "uint256[]" "uint256[]"]
|
||||
:on-success #(re-frame/dispatch [::starter-pack-amount (vec %)])})
|
||||
(make-reaction
|
||||
(fn []
|
||||
(get-in @db [:acquisition :starter-pack :pack]))))))
|
||||
|
||||
(re-frame/reg-sub
|
||||
::enabled
|
||||
(fn [db]
|
||||
(and config/referrals-invite-enabled?
|
||||
(get-in db [:acquisition :contract]))))
|
||||
|
|
|
@ -1,77 +0,0 @@
|
|||
(ns status-im.ui.components.invite.modal
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[quo.react-native :as rn]
|
||||
[quo.core :as quo]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[status-im.ui.components.invite.style :as styles]
|
||||
[status-im.ui.components.invite.events :as invite]
|
||||
[status-im.acquisition.gateway :as gateway]
|
||||
[status-im.ui.components.invite.utils :as utils]))
|
||||
|
||||
(defn perk [{name :name
|
||||
{source :source} :icon} value]
|
||||
[rn/view {:style {:flex-direction :row
|
||||
:align-items :center
|
||||
:padding-vertical 4}}
|
||||
[rn/view {:style {:flex-direction :row}}
|
||||
[rn/image {:source (if (fn? source) (source) source)
|
||||
:style {:width 20
|
||||
:height 20
|
||||
:margin-right 8}}]
|
||||
[quo/text {:size :small
|
||||
:weight :medium}
|
||||
(str value " ")]
|
||||
[quo/text {:size :small
|
||||
:weight :medium}
|
||||
name]]])
|
||||
|
||||
(defn popover [{:keys [on-accept has-reward on-decline accept-label title description]}]
|
||||
(fn []
|
||||
(let [pack (when has-reward @(re-frame/subscribe [::invite/starter-pack]))
|
||||
loading (#{(get gateway/network-statuses :initiated)
|
||||
(get gateway/network-statuses :in-flight)}
|
||||
@(re-frame/subscribe [::gateway/network-status]))
|
||||
tokens (when has-reward (utils/transform-tokens pack))]
|
||||
[rn/view {:style {:align-items :center
|
||||
:padding-vertical 16
|
||||
:padding-horizontal 16}}
|
||||
(when has-reward
|
||||
[rn/view {:style (styles/modal-tokens-icons-style (count tokens))}
|
||||
(for [[{name :name
|
||||
{source :source} :icon} _ i] tokens]
|
||||
^{:key name}
|
||||
[rn/view {:style (styles/modal-token-icon-style i)}
|
||||
[rn/image {:source (if (fn? source) (source) source)
|
||||
:style {:width 40
|
||||
:height 40}}]])])
|
||||
[rn/view {:style {:padding 8}}
|
||||
(when title
|
||||
[quo/text {:style {:margin-bottom 8}
|
||||
:align :center
|
||||
:size :x-large}
|
||||
title])
|
||||
[quo/text {:align :center}
|
||||
description]]
|
||||
(when has-reward
|
||||
[rn/view {:style (styles/modal-perks-container)}
|
||||
(for [[k v] tokens]
|
||||
^{:key (:name k)}
|
||||
[perk k v])])
|
||||
[rn/view {:style {:margin-vertical 8}}
|
||||
[quo/button {:on-press on-accept
|
||||
:loading loading}
|
||||
accept-label]]
|
||||
[rn/view {:style {:opacity (if loading 0 1)}}
|
||||
[quo/button {:type :secondary
|
||||
:on-press on-decline}
|
||||
(i18n/label :t/advertiser-starter-pack-decline)]]
|
||||
[rn/view {:padding-vertical 8}
|
||||
[quo/text {:color :secondary
|
||||
:align :center
|
||||
:size :small}
|
||||
(i18n/label :t/invite-privacy-policy1)]
|
||||
[quo/text {:color :link
|
||||
:align :center
|
||||
:size :small
|
||||
:on-press #(re-frame/dispatch [::invite/terms-and-conditions])}
|
||||
(i18n/label :t/invite-privacy-policy2)]]])))
|
|
@ -1,104 +0,0 @@
|
|||
(ns status-im.ui.components.invite.style
|
||||
(:require [quo.design-system.spacing :as spacing]
|
||||
[quo.design-system.colors :as colors]))
|
||||
|
||||
(def reward-item-title (merge (:base spacing/padding-horizontal)
|
||||
{:padding-top 12
|
||||
:padding-bottom 4}))
|
||||
(defn reward-item-content []
|
||||
(merge (:base spacing/padding-horizontal)
|
||||
(:base spacing/padding-vertical)
|
||||
{:background-color (:interactive-02 @colors/theme)
|
||||
:flex-direction :row
|
||||
:border-bottom-width 1
|
||||
:border-top-width 1
|
||||
:border-color (:border-02 @colors/theme)}))
|
||||
|
||||
(defn reward-token-icon [idx]
|
||||
{:align-items :center
|
||||
:shadow-radius 16
|
||||
:shadow-opacity 1
|
||||
:shadow-color (:shadow-01 @colors/theme)
|
||||
:shadow-offset {:width 0 :height 4}
|
||||
:width 40
|
||||
:height 40
|
||||
:border-radius 20
|
||||
:position :absolute
|
||||
:top (* idx 20)})
|
||||
|
||||
(def reward-description {:flex 1})
|
||||
|
||||
(defn reward-tokens-icons [c]
|
||||
{:margin-right 16
|
||||
:width 40
|
||||
:height (- (* 40 c) (* 20 (dec c)))})
|
||||
|
||||
(defn home-token-icon-style [idx]
|
||||
{:align-items :center
|
||||
:shadow-radius 16
|
||||
:shadow-opacity 1
|
||||
:shadow-color (:shadow-01 @colors/theme)
|
||||
:shadow-offset {:width 0 :height 4}
|
||||
:width 20
|
||||
:height 20
|
||||
:border-radius 20
|
||||
:position :absolute
|
||||
:top 0
|
||||
:left (* idx 10)})
|
||||
|
||||
(defn home-tokens-icons [c]
|
||||
{:height 20
|
||||
:margin-horizontal 6
|
||||
:width (- (* 20 c) (* 10 (dec c)))})
|
||||
|
||||
(defn invite-instructions []
|
||||
{:border-top-width 1
|
||||
:border-top-color (:ui-01 @colors/theme)
|
||||
:border-bottom-width 1
|
||||
:border-bottom-color (:ui-01 @colors/theme)
|
||||
:padding-top (:small spacing/spacing)})
|
||||
|
||||
(defn invite-instructions-title []
|
||||
(merge
|
||||
(:tiny spacing/padding-vertical)
|
||||
(:base spacing/padding-horizontal)))
|
||||
|
||||
(defn invite-instructions-content []
|
||||
(merge (:tiny spacing/padding-vertical)
|
||||
(:base spacing/padding-horizontal)))
|
||||
|
||||
(defn invite-warning []
|
||||
(merge
|
||||
(:tiny spacing/padding-vertical)
|
||||
(:base spacing/padding-horizontal)
|
||||
{:background-color (:warning-02 @colors/theme)
|
||||
:border-top-width 1
|
||||
:border-top-color (:warning-01 @colors/theme)
|
||||
:border-bottom-width 1
|
||||
:border-bottom-color (:warning-01 @colors/theme)}))
|
||||
|
||||
(defn modal-token-icon-style [idx]
|
||||
{:align-items :center
|
||||
:shadow-radius 16
|
||||
:shadow-opacity 1
|
||||
:shadow-color (:shadow-01 @colors/theme)
|
||||
:shadow-offset {:width 0 :height 4}
|
||||
:width 40
|
||||
:height 40
|
||||
:border-radius 20
|
||||
:position :absolute
|
||||
:top 0
|
||||
:left (* idx 20)})
|
||||
|
||||
(defn modal-tokens-icons-style [c]
|
||||
{:height 40
|
||||
:width (- (* 40 c) (* 20 (dec c)))})
|
||||
|
||||
(defn modal-perks-container []
|
||||
{:border-radius 8
|
||||
:border-width 1
|
||||
:border-color (:ui-02 @colors/theme)
|
||||
:width "100%"
|
||||
:margin-vertical 8
|
||||
:padding-vertical 8
|
||||
:padding-horizontal 12})
|
|
@ -1,15 +0,0 @@
|
|||
(ns status-im.ui.components.invite.utils
|
||||
(:require [status-im.ethereum.tokens :as tokens]
|
||||
[re-frame.core :as re-frame]))
|
||||
|
||||
;;TODO: this is not cool, because this should be separate subscription
|
||||
(defn transform-tokens [{:keys [tokens eth-amount]}]
|
||||
(let [all-tokens @(re-frame/subscribe [:wallet/all-tokens])
|
||||
chain @(re-frame/subscribe [:ethereum/chain-keyword])]
|
||||
(cond-> (mapv (fn [[k v] i]
|
||||
[(tokens/address->token all-tokens k) v i])
|
||||
tokens
|
||||
(range))
|
||||
|
||||
(pos? eth-amount)
|
||||
(conj [(get tokens/all-native-currencies chain) eth-amount (count tokens)]))))
|
|
@ -1,289 +1,24 @@
|
|||
(ns status-im.ui.components.invite.views
|
||||
(:require [quo.core :as quo]
|
||||
[reagent.core :as reagent]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.ui.components.chat-icon.screen :as chat-icon]
|
||||
[status-im.ui.components.toolbar :as toolbar]
|
||||
[status-im.utils.utils :as utils]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[quo.design-system.spacing :as spacing]
|
||||
[quo.design-system.colors :as colors]
|
||||
[status-im.ui.components.invite.style :as styles]
|
||||
[status-im.ui.components.invite.events :as invite.events]
|
||||
[status-im.ui.components.invite.utils :refer [transform-tokens]]
|
||||
[quo.react-native :as rn]
|
||||
[clojure.string :as cstr]))
|
||||
|
||||
(defn- threshold-badge [max-threshold attrib-count]
|
||||
(when (pos? max-threshold)
|
||||
[rn/view {:flex-direction :row}
|
||||
[rn/view {:padding-horizontal 8
|
||||
:padding-vertical 2
|
||||
:border-radius 11
|
||||
:background-color (:interactive-01 @colors/theme)}
|
||||
[quo/text {:weight :medium
|
||||
:size :small
|
||||
:color :inverse}
|
||||
(i18n/label :t/attribution-received {:max max-threshold
|
||||
:attrib attrib-count})]]]))
|
||||
|
||||
;; Select account sheet
|
||||
(defn- render-account [current-account change-account]
|
||||
(fn [account]
|
||||
(let [{:keys [max-threshold attrib-count bonuses]
|
||||
:or {bonuses 0}}
|
||||
@(re-frame/subscribe [:invite/account-reward (:address account)])]
|
||||
[:<>
|
||||
[quo/list-item
|
||||
{:theme :accent
|
||||
:active (= (:address current-account) (:address account))
|
||||
:disabled (and max-threshold attrib-count
|
||||
(< max-threshold (inc attrib-count)))
|
||||
:accessory :radio
|
||||
:icon [chat-icon/custom-icon-view-list (:name account) (:color account)]
|
||||
:title (:name account)
|
||||
:subtitle [:<>
|
||||
[quo/text {:monospace true
|
||||
:color :secondary}
|
||||
(utils/get-shortened-checksum-address (:address account))]
|
||||
[threshold-badge max-threshold attrib-count]]
|
||||
:on-press #(change-account account)}]
|
||||
[quo/list-item
|
||||
{:theme :accent
|
||||
:disabled (not (pos? bonuses))
|
||||
:icon :main-icons/arrow-down
|
||||
:title (i18n/label :t/redeem-now)
|
||||
:subtitle (i18n/label :t/redeem-amount {:quantity bonuses})
|
||||
:on-press #(re-frame/dispatch [::invite.events/redeem-bonus account])}]
|
||||
[quo/separator {:style {:margin-vertical 10}}]])))
|
||||
|
||||
(defn- accounts-list [accounts current-account change-account]
|
||||
[rn/view {:flex 1}
|
||||
[rn/view {:style (merge (:base spacing/padding-horizontal)
|
||||
(:tiny spacing/padding-vertical))}
|
||||
[quo/text {:align :center}
|
||||
(i18n/label :t/invite-select-account)]]
|
||||
[rn/flat-list {:data accounts
|
||||
:key-fn :address
|
||||
:render-fn (render-account current-account change-account)}]])
|
||||
|
||||
;; Invite sheet
|
||||
|
||||
(defn- step [{:keys [number description]}]
|
||||
[rn/view {:style (merge
|
||||
(:small spacing/padding-vertical)
|
||||
{:flex-direction :row
|
||||
:flex 1
|
||||
:align-items :center})}
|
||||
[rn/view {:style {:width 40
|
||||
:height 40
|
||||
:border-radius 20
|
||||
:border-width 1
|
||||
:justify-content :center
|
||||
:align-items :center
|
||||
:border-color (:ui-01 @colors/theme)}}
|
||||
[quo/text {:weight :bold
|
||||
:size :large}
|
||||
number]]
|
||||
[rn/view {:padding-left (:base spacing/spacing)
|
||||
:flex 1}
|
||||
[quo/text (i18n/label description)]]])
|
||||
|
||||
(def steps-values [{:number 1
|
||||
:description :t/invite-instruction-first}
|
||||
{:number 2
|
||||
:description :t/invite-instruction-second}
|
||||
{:number 3
|
||||
:description :t/invite-instruction-third}
|
||||
{:number 4
|
||||
:description :t/invite-instruction-fourth}
|
||||
{:number 5
|
||||
:description :t/invite-instruction-fifth}])
|
||||
|
||||
(defn- referral-steps []
|
||||
[rn/view {:style (styles/invite-instructions)}
|
||||
[rn/view {:style (styles/invite-instructions-title)}
|
||||
[quo/text {:color :secondary}
|
||||
(i18n/label :t/how-it-works)]]
|
||||
[rn/view {:style (styles/invite-warning)}
|
||||
[quo/text (i18n/label :t/invite-warning)]]
|
||||
[rn/view {:style (styles/invite-instructions-content)}
|
||||
(for [s steps-values]
|
||||
^{:key (str (:number s))}
|
||||
[step s])]])
|
||||
|
||||
(defn bottom-sheet-content [accounts account change-account]
|
||||
(fn []
|
||||
[accounts-list accounts account (fn [a]
|
||||
(re-frame/dispatch [:bottom-sheet/hide])
|
||||
(change-account a))]))
|
||||
|
||||
(defn- referral-account [{:keys [account accounts change-account]}]
|
||||
(let [{:keys [max-threshold bonuses attrib-count]
|
||||
:or {bonuses 0}}
|
||||
@(re-frame/subscribe [:invite/account-reward (:address account)])]
|
||||
[rn/view {:style (:tiny spacing/padding-vertical)}
|
||||
[rn/view {:style (merge (:base spacing/padding-horizontal)
|
||||
(:x-tiny spacing/padding-vertical))}
|
||||
[quo/text {:color :secondary}
|
||||
(i18n/label :t/invite-receive-account)]]
|
||||
[quo/list-item
|
||||
{:icon [chat-icon/custom-icon-view-list (:name account) (:color account)]
|
||||
:title (:name account)
|
||||
:subtitle [:<>
|
||||
[quo/text {:monospace true
|
||||
:color :secondary}
|
||||
(utils/get-shortened-checksum-address (:address account))]
|
||||
[threshold-badge max-threshold attrib-count]]
|
||||
:on-press #(re-frame/dispatch
|
||||
[:bottom-sheet/show-sheet
|
||||
{:content (bottom-sheet-content accounts account change-account)}])}]
|
||||
[quo/list-item
|
||||
{:theme :accent
|
||||
:disabled (not (pos? bonuses))
|
||||
:icon :main-icons/arrow-down
|
||||
:title (i18n/label :t/redeem-now)
|
||||
:subtitle (i18n/label :t/redeem-amount {:quantity bonuses})
|
||||
:on-press #(re-frame/dispatch [::invite.events/redeem-bonus account])}]]))
|
||||
|
||||
(defn reward-item [data description]
|
||||
(let [tokens (transform-tokens data)
|
||||
reward-text (->> tokens
|
||||
(map (fn [[{:keys [symbol]} value _]]
|
||||
(str value " " (name symbol))))
|
||||
(cstr/join ", "))]
|
||||
[rn/view {}
|
||||
[rn/view {:style styles/reward-item-title}
|
||||
[quo/text {:weight :medium}
|
||||
[quo/text {:color :link
|
||||
:weight :inherit}
|
||||
(i18n/label :t/invite-reward-you)]
|
||||
(i18n/label :t/invite-reward-you-name)]]
|
||||
[rn/view {:style (styles/reward-item-content)}
|
||||
[rn/view {:style (styles/reward-tokens-icons (count tokens))}
|
||||
(doall
|
||||
(for [[{name :name
|
||||
{source :source} :icon} _ idx] tokens]
|
||||
^{:key name}
|
||||
[rn/view {:style (styles/reward-token-icon idx)}
|
||||
[rn/image {:source (if (fn? source) (source) source)
|
||||
:style {:width 40
|
||||
:height 40}}]]))]
|
||||
[rn/view {:style styles/reward-description}
|
||||
[quo/text {}
|
||||
(i18n/label description {:reward reward-text})]]]]))
|
||||
|
||||
(defn friend-reward-item [starter-pack-amount description]
|
||||
(let [tokens (transform-tokens starter-pack-amount)
|
||||
reward-text (->> tokens
|
||||
(map (comp :symbol first))
|
||||
(filter (comp not nil?))
|
||||
(map name)
|
||||
(cstr/join ", "))]
|
||||
[rn/view {}
|
||||
[rn/view {:style styles/reward-item-title}
|
||||
[quo/text {:weight :medium}
|
||||
[quo/text {:color :link
|
||||
:weight :inherit}
|
||||
(i18n/label :t/invite-reward-friend)]
|
||||
(i18n/label :t/invite-reward-friend-name)]]
|
||||
[rn/view {:style (styles/reward-item-content)}
|
||||
[rn/view {:style (styles/reward-tokens-icons (count tokens))}
|
||||
(doall
|
||||
(for [[{name :name
|
||||
{source :source} :icon} _ idx] tokens]
|
||||
^{:key name}
|
||||
[rn/view {:style (styles/reward-token-icon idx)}
|
||||
[rn/image {:source (if (fn? source) (source) source)
|
||||
:style {:width 40
|
||||
:height 40}}]]))]
|
||||
[rn/view {:style styles/reward-description}
|
||||
[quo/text {}
|
||||
(i18n/label description {:reward reward-text})]]]]))
|
||||
|
||||
(defn referral-invite []
|
||||
(let [account* (reagent/atom nil)]
|
||||
(fn []
|
||||
(let [accounts @(re-frame/subscribe [:accounts-without-watch-only])
|
||||
default-account @(re-frame/subscribe [:multiaccount/default-account])
|
||||
account (or @account* default-account)
|
||||
reward @(re-frame/subscribe [::invite.events/default-reward])
|
||||
starter-pack @(re-frame/subscribe [::invite.events/starter-pack])]
|
||||
[:<>
|
||||
[rn/scroll-view {:flex 1}
|
||||
[reward-item reward :t/invite-reward-you-description]
|
||||
[friend-reward-item starter-pack :t/invite-reward-friend-description]
|
||||
[referral-account {:account account
|
||||
:change-account #(reset! account* %)
|
||||
:accounts accounts}]
|
||||
[referral-steps]
|
||||
[rn/view {:padding-vertical 10
|
||||
:padding-horizontal 16}
|
||||
[quo/text {}
|
||||
(i18n/label :t/invite-privacy-policy1)
|
||||
" "
|
||||
[quo/text {:color :link
|
||||
:on-press #(re-frame/dispatch [::invite.events/terms-and-conditions])}
|
||||
(i18n/label :t/invite-privacy-policy2)]]]]
|
||||
[toolbar/toolbar
|
||||
{:show-border? true
|
||||
:center
|
||||
[quo/button {:type :secondary
|
||||
:on-press #(re-frame/dispatch [::invite.events/generate-invite
|
||||
{:address (get account :address)}])}
|
||||
(i18n/label :t/invite-button)]}]]))))
|
||||
[status-im.i18n.i18n :as i18n]))
|
||||
|
||||
(defn button []
|
||||
(if-not @(re-frame/subscribe [::invite.events/enabled])
|
||||
[quo/button {:on-press #(re-frame/dispatch [::invite.events/share-link nil])
|
||||
:accessibility-label :invite-friends-button}
|
||||
(i18n/label :t/invite-friends)]
|
||||
(let [pack @(re-frame/subscribe [::invite.events/default-reward])
|
||||
tokens (transform-tokens pack)]
|
||||
[rn/view {:style {:align-items :center
|
||||
:padding-horizontal 8
|
||||
:padding-vertical 8}}
|
||||
[rn/view {:style (:tiny spacing/padding-vertical)}
|
||||
[quo/button {:on-press #(re-frame/dispatch [::invite.events/open-invite])
|
||||
:accessibility-label :invite-friends-button}
|
||||
(i18n/label :t/invite-friends)]]
|
||||
[rn/view {:style (merge (:tiny spacing/padding-vertical)
|
||||
(:base spacing/padding-horizontal))}
|
||||
(when (seq tokens)
|
||||
[rn/view {:style {:flex-direction :row
|
||||
:justify-content :center}}
|
||||
[rn/view {:style (styles/home-tokens-icons (count tokens))}
|
||||
(doall
|
||||
(for [[{name :name
|
||||
{source :source} :icon} _ i] tokens]
|
||||
^{:key name}
|
||||
[rn/view {:style (styles/home-token-icon-style i)}
|
||||
[rn/image {:source (if (fn? source) (source) source)
|
||||
:style {:width 20
|
||||
:height 20}}]]))]
|
||||
[quo/text {:align :center}
|
||||
(i18n/label :t/invite-reward)]])]])))
|
||||
[quo/button {:on-press #(re-frame/dispatch [::invite.events/share-link nil])
|
||||
:accessibility-label :invite-friends-button}
|
||||
(i18n/label :t/invite-friends)])
|
||||
|
||||
(defn list-item [{:keys [accessibility-label]}]
|
||||
(if-not @(re-frame/subscribe [::invite.events/enabled])
|
||||
[quo/list-item
|
||||
{:theme :accent
|
||||
:title (i18n/label :t/invite-friends)
|
||||
:icon :main-icons/share
|
||||
:accessibility-label accessibility-label
|
||||
:on-press (fn []
|
||||
(re-frame/dispatch [:bottom-sheet/hide])
|
||||
(js/setTimeout
|
||||
#(re-frame/dispatch [::invite.events/share-link nil]) 250))}]
|
||||
[quo/list-item
|
||||
{:theme :accent
|
||||
:title (i18n/label :t/invite-friends)
|
||||
:subtitle (i18n/label :t/invite-reward)
|
||||
:icon :main-icons/share
|
||||
:accessibility-label accessibility-label
|
||||
:on-press #(do
|
||||
(re-frame/dispatch [:bottom-sheet/hide])
|
||||
(re-frame/dispatch [::invite.events/open-invite]))}]))
|
||||
[quo/list-item
|
||||
{:theme :accent
|
||||
:title (i18n/label :t/invite-friends)
|
||||
:icon :main-icons/share
|
||||
:accessibility-label accessibility-label
|
||||
:on-press (fn []
|
||||
(re-frame/dispatch [:bottom-sheet/hide])
|
||||
(js/setTimeout
|
||||
#(re-frame/dispatch [::invite.events/share-link nil]) 250))}])
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -16,14 +16,14 @@
|
|||
[reagent.core :as reagent]
|
||||
[quo.react-native :as rn]
|
||||
[clojure.string :as string]
|
||||
[status-im.ui.components.invite.views :as invite]
|
||||
[status-im.ethereum.ens :as ens]
|
||||
[quo.platform :as platform]
|
||||
[status-im.utils.identicon :as identicon]
|
||||
[status-im.ui.components.keyboard-avoid-presentation :as kb-presentation]
|
||||
[status-im.ui.components.animation :as animation]
|
||||
[status-im.ui.screens.chat.photos :as photos]
|
||||
[status-im.utils.db :as utils.db])
|
||||
[status-im.utils.db :as utils.db]
|
||||
[status-im.ui.components.invite.views :as invite])
|
||||
(:require-macros [status-im.utils.views :as views]))
|
||||
|
||||
(defn- render-row [row]
|
||||
|
|
|
@ -69,13 +69,6 @@
|
|||
:on-press
|
||||
#(re-frame/dispatch [:navigate-to :rpc-usage-info])
|
||||
:chevron true}
|
||||
(when-not config/google-free
|
||||
{:size :small
|
||||
:title (i18n/label :t/notification-settings)
|
||||
:accessibility-label :advanced-notification-settings
|
||||
:on-press
|
||||
#(re-frame/dispatch [:navigate-to :notifications-advanced-settings])
|
||||
:chevron true})
|
||||
;; If it's enabled in the config, we don't show the option
|
||||
(when (not config/communities-enabled?)
|
||||
{:size :small
|
||||
|
|
|
@ -1,301 +0,0 @@
|
|||
(ns status-im.ui.screens.anonymous-metrics-settings.views
|
||||
(:require-macros [status-im.utils.views :refer [defview letsubs]])
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[status-im.ui.components.animation :as animation]
|
||||
[status-im.react-native.resources :as resources]
|
||||
[status-im.anon-metrics.core :as anon-metrics]
|
||||
[status-im.ui.components.accordion :as accordion]
|
||||
[status-im.ui.components.react :as react]
|
||||
[quo.design-system.colors :as colors]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[status-im.constants :refer [metrics-github-link]]
|
||||
[quo.design-system.spacing :as spacing]
|
||||
[status-im.ui.components.topbar :as topbar]
|
||||
[quo.core :as quo]))
|
||||
|
||||
(defn graphic-and-desc [{:keys [show-title?]}]
|
||||
[:<>
|
||||
[react/view {:align-items :center
|
||||
:margin-vertical 25}
|
||||
[react/image {:source (resources/get-image :graph)}]]
|
||||
(when show-title?
|
||||
[quo/text {:size :x-large
|
||||
:weight :bold
|
||||
:align :center
|
||||
:style {:margin-bottom 16}}
|
||||
(i18n/label :t/help-improve-status)])
|
||||
[react/touchable-highlight
|
||||
{:on-press #(re-frame/dispatch [:navigate-to :anon-metrics-learn-more])
|
||||
:accessibility-label :learn-more-anchor}
|
||||
[react/nested-text
|
||||
{:style (merge {:color colors/gray
|
||||
:text-align :center}
|
||||
(:large spacing/padding-horizontal))}
|
||||
(i18n/label :t/anonymous-usage-data-subtitle)
|
||||
[{:style {:color colors/blue
|
||||
;; :font-weight key doesn't work
|
||||
:fontWeight :bold}}
|
||||
(str " " (i18n/label :t/learn-more))]]]])
|
||||
|
||||
(defn setting-switch [enabled? on-press]
|
||||
[quo/list-item {:title (i18n/label :t/share-anonymous-usage-data)
|
||||
:active enabled?
|
||||
:accessibility-label :opt-in-switch
|
||||
:accessory :switch
|
||||
:subtitle-max-lines 2
|
||||
:on-press on-press}])
|
||||
|
||||
(defn icon-list-item
|
||||
([icon label]
|
||||
(icon-list-item icon {} label))
|
||||
([icon icon-opts label]
|
||||
[react/view {:flex-direction :row
|
||||
:margin-horizontal (:base spacing/spacing)
|
||||
:margin-vertical (:tiny spacing/spacing)}
|
||||
[icons/icon icon (into icon-opts
|
||||
{:container-style {:margin-top 1.2
|
||||
:margin-right (:tiny spacing/spacing)}})]
|
||||
[react/view {:style {:padding-right (:xx-large spacing/spacing)}}
|
||||
(if (string? label)
|
||||
[react/text label]
|
||||
label)]]))
|
||||
|
||||
(defn what-is-shared []
|
||||
[:<>
|
||||
[quo/list-header (i18n/label :t/what-is-shared)]
|
||||
(for [label [(i18n/label :t/anon-metrics-your-interactions)
|
||||
(i18n/label :t/anon-metrics-bg-activity)
|
||||
(i18n/label :t/anon-metrics-settings-and-prefs)]]
|
||||
^{:key label}
|
||||
[icon-list-item :main-icons/info {:color colors/blue} label])])
|
||||
|
||||
(defn event-item [event]
|
||||
[accordion/section
|
||||
{:title [react/view {:flex 1
|
||||
:flex-direction :row
|
||||
:margin-bottom (:base spacing/spacing)}
|
||||
[react/view {:style {:padding-right (:base spacing/spacing)}}
|
||||
(for [label ["event" "time" "os"]]
|
||||
^{:key label}
|
||||
[react/text {:style {:color colors/gray}}
|
||||
label])]
|
||||
|
||||
[react/view
|
||||
[react/text (:event event)]
|
||||
[react/text (:created_at event)]
|
||||
[react/text (:os event)]]]
|
||||
:content [react/view {:style {:background-color colors/gray-lighter
|
||||
:padding (:small spacing/spacing)
|
||||
:border-radius 14}}
|
||||
[react/text (:value event)]]}])
|
||||
|
||||
(defn data-sheet-header-and-desc []
|
||||
[:<>
|
||||
[quo/text {:size :x-large
|
||||
:weight :bold
|
||||
:align :center
|
||||
:style {:margin-vertical 16}}
|
||||
(i18n/label :t/data-collected)]
|
||||
[react/touchable-highlight
|
||||
{:on-press #(.openURL ^js react/linking metrics-github-link)}
|
||||
[react/nested-text
|
||||
{:style (:base spacing/padding-horizontal)}
|
||||
(i18n/label :t/data-collected-subtitle)
|
||||
[{:style {:color colors/blue}}
|
||||
(str " " (i18n/label :t/view-rules))]]]])
|
||||
|
||||
(defview view-data []
|
||||
(letsubs [events [:anon-metrics/events]
|
||||
total [:anon-metrics/total-count]
|
||||
fetching? [:anon-metrics/fetching?]]
|
||||
{:component-did-mount #(re-frame/dispatch [::anon-metrics/fetch-local-metrics
|
||||
{:clear-existing? true
|
||||
:limit 10
|
||||
:offset 0}])}
|
||||
[:<>
|
||||
[topbar/topbar {:modal? true
|
||||
:border-bottom false}]
|
||||
[react/scroll-view
|
||||
[data-sheet-header-and-desc]
|
||||
[quo/list-header (i18n/label :t/count-metrics-collected {:count total})]
|
||||
(when (pos? total)
|
||||
[react/view
|
||||
{:style (merge
|
||||
{:border-width 1
|
||||
:border-radius 8
|
||||
:border-color colors/gray-lighter
|
||||
:padding-top 16
|
||||
:padding-bottom 20
|
||||
:margin 16}
|
||||
(:base spacing/padding-horizontal))}
|
||||
(doall
|
||||
(map-indexed
|
||||
(fn [index event]
|
||||
^{:key index}
|
||||
[event-item event])
|
||||
events))
|
||||
(if fetching?
|
||||
[react/activity-indicator {:size :large
|
||||
:animating true}]
|
||||
[quo/button {:type :primary
|
||||
:disabled (= (count events) total)
|
||||
:accessibility-label :show-more-button
|
||||
:on-press #(re-frame/dispatch [::anon-metrics/fetch-local-metrics
|
||||
{:clear-existing? false
|
||||
:limit 10
|
||||
:offset (count events)}])}
|
||||
(i18n/label :t/show-more)])])]]))
|
||||
|
||||
(defn view-data-button []
|
||||
[react/view {:flex 1
|
||||
:align-items :center
|
||||
:style {:margin-top (:x-large spacing/spacing)}}
|
||||
[quo/button {:type :primary
|
||||
:theme :main
|
||||
:accessibility-label :view-data-button
|
||||
:on-press #(re-frame/dispatch [:navigate-to :anon-metrics-view-data])}
|
||||
(i18n/label :t/view-data)]])
|
||||
|
||||
(defn desc-point-with-link [desc link-text link-href accessibility-label]
|
||||
[react/touchable-highlight {:on-press #(.openURL ^js react/linking link-href)
|
||||
:accessibility-label accessibility-label}
|
||||
[react/view
|
||||
[react/text desc]
|
||||
[react/view {:flex-direction :row}
|
||||
[react/text {:style {:text-align :center
|
||||
:color colors/blue}}
|
||||
link-text]
|
||||
[icons/tiny-icon :tiny-icons/tiny-external
|
||||
{:color colors/blue
|
||||
:container-style {:margin-left 4
|
||||
:margin-top 4}}]]]])
|
||||
|
||||
(defn learn-more []
|
||||
[:<>
|
||||
[topbar/topbar {:modal? true
|
||||
:border-bottom false}]
|
||||
[react/scroll-view
|
||||
[quo/text {:size :x-large
|
||||
:weight :bold
|
||||
:align :center
|
||||
:style {:margin-top 16}}
|
||||
(i18n/label :t/about-sharing-data)]
|
||||
[react/text {:style (merge
|
||||
(:base spacing/padding-horizontal)
|
||||
(:small spacing/padding-vertical))}
|
||||
(i18n/label :t/about-sharing-data-subtitle)]
|
||||
[what-is-shared]
|
||||
[view-data-button]
|
||||
[quo/separator {:style {:margin-vertical (:base spacing/spacing)}}]
|
||||
[quo/list-header (i18n/label :t/how-it-works)]
|
||||
(for [label [[desc-point-with-link
|
||||
(i18n/label :t/sharing-data-desc-1)
|
||||
(i18n/label :t/view-rules)
|
||||
metrics-github-link
|
||||
:view-rules-anchor]
|
||||
(i18n/label :t/sharing-data-desc-2)
|
||||
(i18n/label :t/sharing-data-desc-3)
|
||||
(i18n/label :t/sharing-data-desc-4)
|
||||
;; TODO (shivekkhurana): Enable this link when the public
|
||||
;; dashboard is live
|
||||
;; [desc-point-with-link
|
||||
;; (i18n/label :t/sharing-data-desc-5)
|
||||
;; (i18n/label :t/view-public-dashboard)
|
||||
;; "https://github.com/"
|
||||
;; :view-dashboad-anchor]
|
||||
(i18n/label :t/sharing-data-desc-6)]]
|
||||
^{:key label}
|
||||
[icon-list-item :main-icons/arrow-right {:color colors/blue} label])
|
||||
[react/view {:style {:margin-bottom (:xx-large spacing/spacing)}}]]])
|
||||
|
||||
(defview settings []
|
||||
(letsubs [{:keys [:anon-metrics/should-send?]} [:multiaccount]]
|
||||
[:<>
|
||||
[topbar/topbar {:title (i18n/label :t/anonymous-usage-data)}]
|
||||
[react/scroll-view {:flex 1}
|
||||
[graphic-and-desc]
|
||||
[setting-switch
|
||||
should-send?
|
||||
#(re-frame/dispatch [:multiaccounts.ui/share-anonymous-usage-data-switched (not should-send?)])]
|
||||
[quo/separator]
|
||||
[what-is-shared]
|
||||
[react/view {:padding-bottom 80}
|
||||
[view-data-button]]]]))
|
||||
|
||||
(defn allow-or-not-actions []
|
||||
[react/view {:align-items :center
|
||||
:style {:padding-bottom 80}}
|
||||
[quo/button {:type :primary
|
||||
:theme :main
|
||||
:accessibility-label :opt-in-button
|
||||
:on-press #(re-frame/dispatch [::anon-metrics/opt-in true])}
|
||||
(i18n/label :t/allow-and-send)]
|
||||
[react/view {:style {:margin-top (:base spacing/spacing)}}]
|
||||
[quo/button {:type :primary
|
||||
:theme :main
|
||||
:accessibility-label :opt-out-button
|
||||
:on-press #(re-frame/dispatch [::anon-metrics/opt-in false])}
|
||||
(i18n/label :t/no-thanks)]])
|
||||
|
||||
(defn thank-you-animation [overlay-opacity box-opacity]
|
||||
(fn []
|
||||
(animation/start
|
||||
(animation/parallel
|
||||
[(animation/spring
|
||||
overlay-opacity
|
||||
{:toValue 0.72
|
||||
:useNativeDriver true})
|
||||
(animation/spring
|
||||
box-opacity
|
||||
{:toValue 1
|
||||
:useNativeDriver true})]))))
|
||||
|
||||
(defview floating-thank-you []
|
||||
(letsubs [overlay-opacity (animation/create-value 1)
|
||||
box-opacity (animation/create-value 0.2)]
|
||||
{:component-did-mount (thank-you-animation overlay-opacity box-opacity)}
|
||||
[:<>
|
||||
[react/animated-view ; thank you container
|
||||
{:style {:position :absolute
|
||||
:opacity box-opacity
|
||||
:z-index 2
|
||||
:top "40%"
|
||||
:padding (:x-large spacing/spacing)
|
||||
:background-color colors/white
|
||||
:align-items :center
|
||||
:align-self :center}}
|
||||
[react/text {:style {:font-size 32}} "\uD83C\uDF89"]
|
||||
[quo/text {:size :x-large
|
||||
:weight :bold}
|
||||
(i18n/label :t/thank-you)]]
|
||||
[react/animated-view ; translucent overlay
|
||||
{:style {:position :absolute
|
||||
:top 0
|
||||
:bottom 0
|
||||
:left 0
|
||||
:right 0
|
||||
:z-index 1
|
||||
:background-color colors/white
|
||||
:opacity overlay-opacity}}]]))
|
||||
|
||||
(defview new-account-opt-in []
|
||||
(letsubs [show-thank-you? [:anon-metrics/show-thank-you?]]
|
||||
[react/scroll-view {:flex 1
|
||||
:padding-vertical (:large spacing/spacing)
|
||||
:flex-direction :column}
|
||||
(when show-thank-you? [floating-thank-you])
|
||||
[graphic-and-desc {:show-title? true}]
|
||||
[react/view {:style {:margin-bottom (:small spacing/spacing)
|
||||
:margin-top (:large spacing/spacing)}}
|
||||
[quo/separator]]
|
||||
[what-is-shared]
|
||||
[react/view {:style (:large spacing/padding-vertical)}
|
||||
[quo/separator]]
|
||||
[allow-or-not-actions]]))
|
||||
|
||||
(comment
|
||||
(re-frame/dispatch [:navigate-back])
|
||||
(re-frame/dispatch [:navigate-to :metrics-learn-more])
|
||||
(re-frame/dispatch [:navigate-to :metrics-view-data])
|
||||
(re-frame/dispatch [:navigate-to :anon-metrics-opt-in {}]))
|
|
@ -23,7 +23,6 @@
|
|||
[status-im.ui.screens.chat.extensions.views :as extensions]
|
||||
[status-im.ui.screens.chat.group :as chat.group]
|
||||
[status-im.ui.screens.chat.message.gap :as gap]
|
||||
[status-im.ui.components.invite.chat :as invite.chat]
|
||||
[status-im.ui.screens.chat.components.accessory :as accessory]
|
||||
[status-im.ui.screens.chat.components.input :as components]
|
||||
[status-im.ui.screens.chat.message.datemark :as message-datemark]
|
||||
|
@ -226,7 +225,7 @@
|
|||
(when panel
|
||||
(js/setTimeout #(react/dismiss-keyboard!) 100))))
|
||||
|
||||
(defn list-footer [{:keys [chat-id chat-type] :as chat}]
|
||||
(defn list-footer [{:keys [chat-id] :as chat}]
|
||||
(let [loading-messages? @(re-frame/subscribe [:chats/loading-messages? chat-id])
|
||||
no-messages? @(re-frame/subscribe [:chats/chat-no-messages? chat-id])
|
||||
all-loaded? @(re-frame/subscribe [:chats/all-loaded? chat-id])]
|
||||
|
@ -234,9 +233,7 @@
|
|||
(if (or loading-messages? (not chat-id) (not all-loaded?))
|
||||
[react/view {:height 324 :align-items :center :justify-content :center}
|
||||
[react/activity-indicator {:animating true}]]
|
||||
[chat-intro-header-container chat no-messages?])
|
||||
(when (= chat-type constants/one-to-one-chat-type)
|
||||
[invite.chat/reward-messages])]))
|
||||
[chat-intro-header-container chat no-messages?])]))
|
||||
|
||||
(defn list-header [{:keys [chat-id chat-type invitation-admin]}]
|
||||
(when (= chat-type constants/private-group-chat-type)
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
[status-im.ui.screens.home.styles :as styles]
|
||||
[status-im.ui.screens.communities.views :as communities.views]
|
||||
[status-im.ui.screens.home.views.inner-item :as inner-item]
|
||||
[status-im.ui.screens.referrals.home-item :as referral-item]
|
||||
[quo.design-system.colors :as colors]
|
||||
[quo.core :as quo]
|
||||
[status-im.add-new.core :as new-chat]
|
||||
|
@ -18,12 +17,12 @@
|
|||
[status-im.add-new.db :as db]
|
||||
[status-im.utils.debounce :as debounce]
|
||||
[status-im.utils.utils :as utils]
|
||||
[status-im.ui.components.invite.views :as invite]
|
||||
[status-im.ui.components.topbar :as topbar]
|
||||
[status-im.ui.components.plus-button :as components.plus-button]
|
||||
[status-im.ui.screens.chat.sheets :as sheets]
|
||||
[status-im.ui.components.tabbar.core :as tabbar]
|
||||
["react-native-navigation" :refer (Navigation)])
|
||||
["react-native-navigation" :refer (Navigation)]
|
||||
[status-im.ui.components.invite.views :as invite])
|
||||
(:require-macros [status-im.utils.views :as views]))
|
||||
|
||||
(defn home-tooltip-view []
|
||||
|
@ -135,7 +134,6 @@
|
|||
:header [:<>
|
||||
(when (or (seq items) @search-active? (seq search-filter))
|
||||
[search-input-wrapper search-filter (empty? items)])
|
||||
[referral-item/list-item]
|
||||
(when (and (empty? items)
|
||||
(or @search-active? (seq search-filter)))
|
||||
[start-suggestion search-filter])]
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
[status-im.i18n.i18n :as i18n]
|
||||
[quo.core :as quo]
|
||||
[quo.platform :as platform]
|
||||
[status-im.utils.config :as config]
|
||||
[quo.design-system.colors :as quo-colors]
|
||||
[status-im.notifications.core :as notifications]
|
||||
[status-im.ui.components.react :as react]))
|
||||
|
@ -13,48 +12,25 @@
|
|||
(defonce server (reagent/atom ""))
|
||||
|
||||
(defn local-notifications []
|
||||
(let [{:keys [enabled]} @(re-frame/subscribe [:notifications/wallet-transactions])
|
||||
{:keys [notifications-enabled?]} @(re-frame/subscribe [:multiaccount])
|
||||
enabled (and enabled (or platform/ios? notifications-enabled?))]
|
||||
[quo/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/notifications-transactions)
|
||||
:accessibility-label :notifications-button
|
||||
:active enabled
|
||||
:disabled (not (or platform/ios? notifications-enabled?))
|
||||
:on-press #(re-frame/dispatch
|
||||
[::notifications/switch-transaction-notifications enabled])
|
||||
:accessory :switch}]))
|
||||
(let [{:keys [enabled]} @(re-frame/subscribe [:notifications/wallet-transactions])]
|
||||
[:<>
|
||||
[quo/separator {:color (:ui-02 @quo-colors/theme)
|
||||
:style {:margin-vertical 8}}]
|
||||
[quo/list-header (i18n/label :t/local-notifications)]
|
||||
[quo/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/notifications-transactions)
|
||||
:accessibility-label :notifications-button
|
||||
:active enabled
|
||||
:on-press #(re-frame/dispatch
|
||||
[::notifications/switch-transaction-notifications enabled])
|
||||
:accessory :switch}]]))
|
||||
|
||||
(defn remote-notifications []
|
||||
(defn notifications-settings-ios []
|
||||
(let [{:keys [remote-push-notifications-enabled?
|
||||
push-notifications-block-mentions?
|
||||
push-notifications-from-contacts-only?]}
|
||||
@(re-frame/subscribe [:multiaccount])]
|
||||
[:<>
|
||||
[quo/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/notifications-non-contacts)
|
||||
:accessibility-label :notifications-button
|
||||
:active (and remote-push-notifications-enabled?
|
||||
(not push-notifications-from-contacts-only?))
|
||||
:disabled (not remote-push-notifications-enabled?)
|
||||
:on-press #(re-frame/dispatch
|
||||
[::notifications/switch-non-contacts (not push-notifications-from-contacts-only?)])
|
||||
:accessory :switch}]
|
||||
[quo/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/allow-mention-notifications)
|
||||
:accessibility-label :notifications-button
|
||||
:active (and remote-push-notifications-enabled?
|
||||
(not push-notifications-block-mentions?))
|
||||
:disabled (not remote-push-notifications-enabled?)
|
||||
:on-press #(re-frame/dispatch
|
||||
[::notifications/switch-block-mentions (not push-notifications-block-mentions?)])
|
||||
:accessory :switch}]]))
|
||||
|
||||
(defn notifications-settings-ios []
|
||||
(let [{:keys [remote-push-notifications-enabled?]} @(re-frame/subscribe [:multiaccount])]
|
||||
[:<>
|
||||
[quo/list-item
|
||||
{:size :small
|
||||
|
@ -66,12 +42,28 @@
|
|||
[quo/separator {:color (:ui-02 @quo-colors/theme)
|
||||
:style {:margin-vertical 8}}]
|
||||
[quo/list-header (i18n/label :t/notifications-preferences)]
|
||||
[local-notifications]
|
||||
[remote-notifications]]))
|
||||
[quo/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/notifications-non-contacts)
|
||||
:accessibility-label :notifications-button
|
||||
:active (and remote-push-notifications-enabled?
|
||||
(not push-notifications-from-contacts-only?))
|
||||
:on-press #(re-frame/dispatch
|
||||
[::notifications/switch-non-contacts (not push-notifications-from-contacts-only?)])
|
||||
:accessory :switch}]
|
||||
[quo/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/allow-mention-notifications)
|
||||
:accessibility-label :notifications-button
|
||||
:active (and remote-push-notifications-enabled?
|
||||
(not push-notifications-block-mentions?))
|
||||
:on-press #(re-frame/dispatch
|
||||
[::notifications/switch-block-mentions (not push-notifications-block-mentions?)])
|
||||
:accessory :switch}]
|
||||
[local-notifications]]))
|
||||
|
||||
(defn notifications-settings-android []
|
||||
(let [{:keys [notifications-enabled? remote-push-notifications-enabled?]}
|
||||
@(re-frame/subscribe [:multiaccount])]
|
||||
(let [{:keys [notifications-enabled?]} @(re-frame/subscribe [:multiaccount])]
|
||||
[:<>
|
||||
[quo/list-item
|
||||
{:title (i18n/label :t/local-notifications)
|
||||
|
@ -81,22 +73,7 @@
|
|||
:on-press #(re-frame/dispatch
|
||||
[::notifications/switch (not notifications-enabled?) false])
|
||||
:accessory :switch}]
|
||||
(when (and platform/android? (not config/google-free))
|
||||
[quo/list-item
|
||||
{:title (i18n/label :t/remote-notifications)
|
||||
:accessibility-label :remote-notifications-settings-button
|
||||
:subtitle (i18n/label :t/remote-notifications-subtitle)
|
||||
:active remote-push-notifications-enabled?
|
||||
:on-press #(re-frame/dispatch
|
||||
[::notifications/switch
|
||||
(not remote-push-notifications-enabled?) true])
|
||||
:accessory :switch}])
|
||||
[quo/separator {:color (:ui-02 @quo-colors/theme)
|
||||
:style {:margin-vertical 8}}]
|
||||
[quo/list-header (i18n/label :t/notifications-preferences)]
|
||||
[local-notifications]
|
||||
(when (and platform/android? (not config/google-free))
|
||||
[remote-notifications])]))
|
||||
[local-notifications]]))
|
||||
|
||||
(defn notifications-settings []
|
||||
[react/scroll-view {:style {:flex 1}
|
||||
|
|
|
@ -10,9 +10,7 @@
|
|||
[status-im.ui.screens.wallet.request.views :as request]
|
||||
[status-im.ui.screens.profile.user.views :as profile.user]
|
||||
["react-native" :refer (BackHandler)]
|
||||
[status-im.ui.components.invite.advertiser :as advertiser.invite]
|
||||
[status-im.ui.screens.reset-password.views :as reset-password.views]
|
||||
[status-im.ui.components.invite.dapp :as dapp.invite]
|
||||
[status-im.ui.screens.multiaccounts.recover.views :as multiaccounts.recover]
|
||||
[status-im.ui.screens.multiaccounts.key-storage.views :as multiaccounts.key-storage]
|
||||
[status-im.ui.screens.signing.views :as signing]
|
||||
|
@ -154,15 +152,9 @@
|
|||
(= :blocked-card view)
|
||||
[keycard.views/blocked-card-popover]
|
||||
|
||||
(= :advertiser-invite view)
|
||||
[advertiser.invite/accept-popover]
|
||||
|
||||
(= :export-community view)
|
||||
[communities/export-community]
|
||||
|
||||
(= :dapp-invite view)
|
||||
[dapp.invite/accept-popover]
|
||||
|
||||
(= :seed-key-uid-mismatch view)
|
||||
[multiaccounts.key-storage/seed-key-uid-mismatch-popover]
|
||||
|
||||
|
|
|
@ -100,12 +100,6 @@
|
|||
(re-frame/dispatch [::reset-password/clear-form-vals])
|
||||
(re-frame/dispatch [:navigate-to :reset-password]))
|
||||
:accessibility-label :reset-password}])
|
||||
(when config/metrics-enabled?
|
||||
[quo/list-item {:size :small
|
||||
:title (i18n/label :t/anonymous-usage-data)
|
||||
:chevron true
|
||||
:on-press #(re-frame/dispatch [:navigate-to :anonymous-metrics-settings])
|
||||
:accessibility-label :anonymous-usage-data}])
|
||||
(when platform/android?
|
||||
[quo/list-item {:size :small
|
||||
:title (i18n/label :t/webview-camera-permission-requests)
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
(ns status-im.ui.screens.referrals.home-item
|
||||
(:require [status-im.acquisition.chat :as acquisition.chat]
|
||||
[status-im.acquisition.core :as acquisition]
|
||||
[quo.core :as quo]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.ui.components.chat-icon.screen :as chat-icon.screen]
|
||||
[quo.react-native :as rn]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.utils.core :as utils]
|
||||
[quo.design-system.colors :as colors]
|
||||
[status-im.ui.components.invite.events :as invite]))
|
||||
|
||||
(defn icon-style []
|
||||
{:color colors/black
|
||||
:width 15
|
||||
:height 15
|
||||
:container-style {:width 15
|
||||
:height 15
|
||||
:margin-right 2}})
|
||||
|
||||
(defn referral-sheet []
|
||||
[quo/list-item
|
||||
{:theme :negative
|
||||
:title (i18n/label :t/delete-chat)
|
||||
:accessibility-label :delete-chat-button
|
||||
:icon :main-icons/delete
|
||||
:on-press #(re-frame/dispatch [::acquisition.chat/decline])}])
|
||||
|
||||
(defn list-item []
|
||||
(let [{:keys [id]} @(re-frame/subscribe [::acquisition/metadata])
|
||||
{:keys [chat-id
|
||||
chat-name
|
||||
group-chat
|
||||
color]} {:chat-name (str "#" id)
|
||||
:chat-id id
|
||||
:color "#887af9"
|
||||
:public? true
|
||||
:group-chat true}]
|
||||
(when @(re-frame/subscribe [::invite/has-public-chat-invite])
|
||||
[quo/list-item {:icon [chat-icon.screen/chat-icon-view-chat-list
|
||||
chat-id group-chat chat-name color nil false]
|
||||
:title [rn/view {:flex-direction :row
|
||||
:flex 1}
|
||||
[rn/view {:flex-direction :row
|
||||
:flex 1
|
||||
:padding-right 16
|
||||
:align-items :center}
|
||||
[icons/icon :main-icons/tiny-public (icon-style)]
|
||||
[quo/text {:weight :medium
|
||||
:accessibility-label :chat-name-text
|
||||
:ellipsize-mode :tail
|
||||
:number-of-lines 1}
|
||||
(utils/truncate-str chat-name 30)]]]
|
||||
:title-accessibility-label :chat-name-text
|
||||
:subtitle (i18n/label :t/invite-public-chat-home)
|
||||
:on-press #(re-frame/dispatch [:navigate-to :chat])
|
||||
:on-long-press #(re-frame/dispatch [:bottom-sheet/show-sheet
|
||||
{:content referral-sheet}])}])))
|
|
@ -1,108 +0,0 @@
|
|||
(ns status-im.ui.screens.referrals.public-chat
|
||||
(:require [status-im.ui.components.topbar :as topbar]
|
||||
[status-im.ui.screens.chat.toolbar-content :as toolbar-content]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.acquisition.chat :as chat.acquisition]
|
||||
[status-im.acquisition.core :as acquisition]
|
||||
[status-im.ui.components.invite.events :as invite]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[status-im.acquisition.gateway :as gateway]
|
||||
[quo.react-native :as rn]
|
||||
[quo.core :as quo]
|
||||
[quo.design-system.colors :as colors]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.ui.components.chat-icon.screen :as chat-icon.screen]
|
||||
[status-im.ui.screens.chat.styles.main :as chat.styles]
|
||||
[status-im.ui.components.invite.chat :as invite.chat]))
|
||||
|
||||
(defn non-reward []
|
||||
(let [loading (#{(get gateway/network-statuses :initiated)
|
||||
(get gateway/network-statuses :in-flight)}
|
||||
@(re-frame/subscribe [::gateway/network-status]))]
|
||||
|
||||
[rn/view {:border-radius 16
|
||||
:padding-horizontal 12
|
||||
:padding-vertical 16
|
||||
:justify-content :center
|
||||
:align-items :center
|
||||
:border-width 1
|
||||
:border-color (colors/get-color :border-01)}
|
||||
[rn/view
|
||||
[icons/icon :main-icons/link {:color (colors/get-color :icon-04)}]]
|
||||
[rn/view {:style {:padding-vertical 10}}
|
||||
[quo/text {:color :secondary
|
||||
:align :center}
|
||||
(i18n/label :t/invite-privacy-policy-public) " "
|
||||
[quo/text {:color :link
|
||||
:on-press #(re-frame/dispatch [::invite/terms-and-conditions])}
|
||||
(i18n/label :t/invite-privacy-policy2)]]]
|
||||
[rn/view {:padding-horizontal 16
|
||||
:padding-vertival 8
|
||||
:flex-direction :row}
|
||||
[quo/button {:loading loading
|
||||
:on-press #(re-frame/dispatch [::chat.acquisition/accept-pack])}
|
||||
(i18n/label :t/invite-chat-accept-join)]]]))
|
||||
|
||||
(defn reward-messages []
|
||||
(let [loading (#{(get gateway/network-statuses :initiated)
|
||||
(get gateway/network-statuses :in-flight)}
|
||||
@(re-frame/subscribe [::gateway/network-status]))
|
||||
pending @(re-frame/subscribe [::invite/pending-reward])
|
||||
messages [{:content [{:type :text
|
||||
:value "👋"}]}
|
||||
{:content [{:type :text
|
||||
:value (i18n/label :t/invite-public-chat-intro)}
|
||||
{:type :pack}
|
||||
{:type :button
|
||||
:value [quo/button {:type :secondary
|
||||
:loading loading
|
||||
:disabled pending
|
||||
:on-press #(re-frame/dispatch [::chat.acquisition/accept-pack])}
|
||||
(if pending
|
||||
(i18n/label :t/invite-chat-pending)
|
||||
(i18n/label :t/invite-chat-accept-join))]}]}
|
||||
{:content [{:type :text
|
||||
:value [:<>
|
||||
(i18n/label :t/invite-privacy-policy-public) " "
|
||||
[quo/text {:color :link
|
||||
:on-press #(re-frame/dispatch [::invite/terms-and-conditions])}
|
||||
(i18n/label :t/invite-privacy-policy2)]]}]}]]
|
||||
[rn/view {:style (invite.chat/messages-wrapper)}
|
||||
(for [message messages]
|
||||
[invite.chat/render-message message])]))
|
||||
|
||||
(defn view []
|
||||
(let [{:keys [rewardable id]} @(re-frame/subscribe [::acquisition/metadata])
|
||||
{:keys [chat-id
|
||||
chat-name
|
||||
group-chat
|
||||
color]
|
||||
:as chat-info} {:chat-name (str "#" id)
|
||||
:color "#887af9"
|
||||
:public? true
|
||||
:group-chat true}]
|
||||
[:<>
|
||||
[topbar/topbar
|
||||
{:content [toolbar-content/toolbar-content-view-inner chat-info]}]
|
||||
[rn/scroll-view {:style {:flex 1}
|
||||
:center-content true
|
||||
:content-container-style {:padding 16}}
|
||||
[rn/view {:style {:flex 1
|
||||
:justify-content :flex-end
|
||||
:align-items :center
|
||||
:padding-vertical 24}}
|
||||
[rn/view {:style {:padding-vertical 16}}
|
||||
[chat-icon.screen/chat-intro-icon-view
|
||||
chat-name chat-id group-chat
|
||||
{:default-chat-icon (chat.styles/intro-header-icon 120 color)
|
||||
:default-chat-icon-text chat.styles/intro-header-icon-text
|
||||
:size 120}]]
|
||||
[rn/view {:style {:padding-horizontal 32
|
||||
:padding-bottom 32}}
|
||||
[quo/text {:size :x-large
|
||||
:weight :bold}
|
||||
chat-name]]]
|
||||
(if rewardable
|
||||
[reward-messages]
|
||||
[non-reward])]]))
|
||||
|
|
@ -5,12 +5,10 @@
|
|||
[status-im.i18n.i18n :as i18n]
|
||||
[status-im.keycard.core :as keycard.core]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.ui.components.invite.views :as invite]
|
||||
[status-im.ui.screens.about-app.views :as about-app]
|
||||
[status-im.ui.screens.add-new.new-chat.views :as new-chat]
|
||||
[status-im.ui.screens.add-new.new-public-chat.view :as new-public-chat]
|
||||
[status-im.ui.screens.advanced-settings.views :as advanced-settings]
|
||||
[status-im.ui.screens.anonymous-metrics-settings.views :as anonymous-metrics-settings]
|
||||
[status-im.ui.screens.appearance.views :as appearance]
|
||||
[status-im.ui.screens.bootnodes-settings.edit-bootnode.views
|
||||
:as
|
||||
|
@ -104,7 +102,6 @@
|
|||
[status-im.ui.screens.profile.seed.views :as profile.seed]
|
||||
[status-im.ui.screens.progress.views :as progress]
|
||||
[status-im.ui.screens.qr-scanner.views :as qr-scanner]
|
||||
[status-im.ui.screens.referrals.public-chat :as referrals.public-chat]
|
||||
[status-im.ui.screens.backup-settings.view :as backup-settings]
|
||||
[status-im.ui.screens.reset-password.views :as reset-password]
|
||||
[status-im.ui.screens.rpc-usage-info :as rpc-usage-info]
|
||||
|
@ -316,10 +313,6 @@
|
|||
:options {:topBar {:visible false}}
|
||||
;;TODO custom subtitle
|
||||
:component group-chat/new-group}
|
||||
{:name :referral-enclav
|
||||
;;TODO custom content
|
||||
:options {:topBar {:visible false}}
|
||||
:component referrals.public-chat/view}
|
||||
{:name :communities
|
||||
;;TODO custom
|
||||
:options {:topBar {:visible false}}
|
||||
|
@ -594,15 +587,6 @@
|
|||
{:name :default-sync-period-settings
|
||||
:options {:topBar {:title {:text (i18n/label :t/default-sync-period)}}}
|
||||
:component default-sync-period-settings/default-sync-period-settings}
|
||||
{:name :anonymous-metrics-settings
|
||||
:component anonymous-metrics-settings/settings}
|
||||
{:name :anon-metrics-learn-more
|
||||
:component anonymous-metrics-settings/learn-more}
|
||||
{:name :anon-metrics-view-data
|
||||
:component anonymous-metrics-settings/view-data}
|
||||
{:name :anon-metrics-opt-in
|
||||
:back-handler :noop
|
||||
:component anonymous-metrics-settings/new-account-opt-in}
|
||||
|
||||
;;MODALS
|
||||
|
||||
|
@ -659,12 +643,6 @@
|
|||
:options {:topBar {:visible false}}
|
||||
:component new-chat/new-contact}
|
||||
|
||||
;Refferal invite
|
||||
{:name :referral-invite
|
||||
:insets {:bottom true}
|
||||
:options {:topBar {:title {:text (i18n/label :t/invite-friends)}}}
|
||||
:component invite/referral-invite}
|
||||
|
||||
;[Wallet] Recipient
|
||||
{:name :recipient
|
||||
:insets {:bottom true}
|
||||
|
|
|
@ -41,13 +41,10 @@
|
|||
(def commands-enabled? (enabled? (get-config :COMMANDS_ENABLED "0")))
|
||||
(def keycard-test-menu-enabled? (enabled? (get-config :KEYCARD_TEST_MENU "0")))
|
||||
(def qr-test-menu-enabled? (enabled? (get-config :QR_READ_TEST_MENU "0")))
|
||||
(def referrals-invite-enabled? (enabled? (get-config :ENABLE_REFERRAL_INVITE "0")))
|
||||
(def quo-preview-enabled? (enabled? (get-config :ENABLE_QUO_PREVIEW "0")))
|
||||
(def google-free (enabled? (get-config :GOOGLE_FREE "0")))
|
||||
(def communities-enabled? (enabled? (get-config :COMMUNITIES_ENABLED "0")))
|
||||
(def database-management-enabled? (enabled? (get-config :DATABASE_MANAGEMENT_ENABLED "0")))
|
||||
(def debug-webview? (enabled? (get-config :DEBUG_WEBVIEW "0")))
|
||||
(def metrics-enabled? (enabled? (get-config :METRICS_ENABLED "0")))
|
||||
(def delete-message-enabled? (enabled? (get-config :DELETE_MESSAGE_ENABLED "0")))
|
||||
(def collectibles-enabled? (enabled? (get-config :COLLECTIBLES_ENABLED "1")))
|
||||
(def test-stateofus? (enabled? (get-config :TEST_STATEOFUS "0")))
|
||||
|
@ -87,7 +84,6 @@
|
|||
:profile-pictures-visibility 1
|
||||
:log-level log-level
|
||||
:webview-allow-permission-requests? false
|
||||
:anon-metrics/should-send? false
|
||||
:opensea-enabled? false
|
||||
:link-previews-enabled-sites #{}
|
||||
:link-preview-request-enabled true})
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
[status-im.navigation :as navigation]
|
||||
[status-im.utils.fx :as fx]
|
||||
[taoensso.timbre :as log]
|
||||
[status-im.acquisition.core :as acquisition]
|
||||
[status-im.wallet.choose-recipient.core :as choose-recipient]
|
||||
[status-im.group-chats.core :as group-chats]))
|
||||
|
||||
|
@ -99,10 +98,6 @@
|
|||
(choose-recipient/parse-eip681-uri-and-resolve-ens data true)
|
||||
(navigation/navigate-to-cofx :wallet nil)))
|
||||
|
||||
(fx/defn handle-referrer-url [_ {:keys [referrer]}]
|
||||
;; TODO: Use only for testing
|
||||
{::acquisition/check-referrer referrer})
|
||||
|
||||
(defn existing-account? [{:keys [db]} address]
|
||||
(when address
|
||||
(some #(when (= (string/lower-case (:address %))
|
||||
|
@ -138,7 +133,6 @@
|
|||
:contact (handle-view-profile cofx data)
|
||||
:browser (handle-browse cofx data)
|
||||
:eip681 (handle-eip681 cofx data)
|
||||
:referrals (handle-referrer-url cofx data)
|
||||
:wallet-account (handle-wallet-account cofx data)
|
||||
(handle-not-found url)))
|
||||
|
||||
|
|
|
@ -71,17 +71,6 @@
|
|||
"allowing-authorizes-this-dapp": "يسمح لـ DApp باسترداد عنوان محفظتك وتمكين Web3",
|
||||
"already-have-asset": "لديك بالفعل هذا الأصل",
|
||||
"amount": "المبلغ",
|
||||
"anon-metrics-bg-activity": "نشاط الخلفية والعمليات الداخلية",
|
||||
"anon-metrics-data-is-validated": "يتم التحقق من صحة البيانات مقابل قواعد التحقق العامة لضمان عدم إرسال بيانات حساسة.",
|
||||
"anon-metrics-ephemeral-key": "بدلا من مفتاح الدردشة العادي، يتم استخدام مفتاح استخدام واحد",
|
||||
"anon-metrics-public-dashboard": "البيانات التراكمية لجميع المستخدمين متاحة للعامة عرض لوحة المعلومات العامة",
|
||||
"anon-metrics-removed-from-phone": "تتم إزالة البيانات من هاتفك بعد إرسالها",
|
||||
"anon-metrics-settings-and-prefs": "الإعدادات والتفضيلات",
|
||||
"anon-metrics-usage-data-sent": "يتم إرسال بيانات الاستخدام مشفرة من طرف إلى طرف عبر شبكة نظير إلى نظير الخاصة بStatus",
|
||||
"anon-metrics-usage-not-linked-to-ip": "لا يمكن إقران بيانات الاستخدام بعنوان IP الخاص بك",
|
||||
"anon-metrics-your-interactions": "تفاعلاتك مع التطبيق مثل النقرات وطرق عرض الشاشة",
|
||||
"anonymous-usage-data": "بيانات الاستخدام المجهول",
|
||||
"anonymous-usage-data-subtitle": "شارك بيانات مشفرة مجهولة المصدر من طرف إلى طرف حول كيفية استخدام Status.",
|
||||
"anyone": "اي شخص",
|
||||
"app-commit": "فرض التطبيق",
|
||||
"appearance": "مظهر خارجي",
|
||||
|
@ -332,7 +321,6 @@
|
|||
"copy-to-clipboard": "نسخ",
|
||||
"copy-transaction-hash": "نسخ معرف المعاملة",
|
||||
"cost-fee": "التكلفة \/ رسوم",
|
||||
"count-metrics-collected": "{{count}} المقاييس التي تم جمعها",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99 +",
|
||||
"create": "انشاء",
|
||||
|
@ -1473,7 +1461,6 @@
|
|||
"settings": "الإعدادات",
|
||||
"share": "مشاركه",
|
||||
"share-address": "مشاركة العنوان",
|
||||
"share-anonymous-usage-data": "مشاركة بيانات الاستخدام المجهول",
|
||||
"share-chat": "مشاركة الدردشة",
|
||||
"share-contact-code": "مشاركة مفتاح الدردشة الخاص بي",
|
||||
"share-dapp-text": "تحقق من هذا التطبيق الذي أستخدمه في Status: {{link}}",
|
||||
|
|
|
@ -71,17 +71,6 @@
|
|||
"allowing-authorizes-this-dapp": "আপনার ওয়ালেট ঠিকানা পুনরুদ্ধার এবং Web3 সক্রিয় করতে এই DApp অনুমোদন দেন",
|
||||
"already-have-asset": "আপনার এই সম্পদ ইতিমধ্যেই আছে",
|
||||
"amount": "পরিমান",
|
||||
"anon-metrics-bg-activity": "পটভূমি কার্যকলাপ এবং অভ্যন্তরীণ প্রক্রিয়া",
|
||||
"anon-metrics-data-is-validated": "কোনও সংবেদনশীল ডেটা প্রেরণ করা হয় না তা নিশ্চিত করার জন্য ডেটা সর্বজনীন যাচাইকরণের নিয়মগুলির বিরুদ্ধে যাচাই করা হয়।",
|
||||
"anon-metrics-ephemeral-key": "আপনার নিয়মিত চ্যাট কী এর পরিবর্তে, একটি একক ব্যবহার কী ব্যবহার করা হয়",
|
||||
"anon-metrics-public-dashboard": "সমস্ত ব্যবহারকারীর সমষ্টিগত তথ্য প্রকাশ্যে পাওয়া যায় পাবলিক ড্যাশবোর্ড দেখুন",
|
||||
"anon-metrics-removed-from-phone": "ডেটা পাঠানোর পরে আপনার ফোন থেকে সরানো হয়",
|
||||
"anon-metrics-settings-and-prefs": "সেটিংস এবং পছন্দসমূহ",
|
||||
"anon-metrics-usage-data-sent": "স্ট্যাটাস 'পিয়ার-টু-পিয়ার নেটওয়ার্কে ব্যবহারের ডেটা এন্ড-টু-এন্ড এনক্রিপ্ট করা হয়",
|
||||
"anon-metrics-usage-not-linked-to-ip": "ব্যবহারের তথ্য আপনার আইপি ঠিকানার সাথে যুক্ত করা যাবে না",
|
||||
"anon-metrics-your-interactions": "অ্যাপের সাথে আপনার ইন্টারঅ্যাকশন যেমন ক্লিক এবং স্ক্রিন ভিউ",
|
||||
"anonymous-usage-data": "বেনামী ব্যবহারের তথ্য",
|
||||
"anonymous-usage-data-subtitle": "আপনি কিভাবে স্ট্যাটাস ব্যবহার করেন সে সম্পর্কে বেনামী, এন্ড-টু-এন্ড এক্রিপটেড ডেটা শেয়ার করুন।",
|
||||
"anyone": "যে কেউ",
|
||||
"app-commit": "অ্যাপ কমিট",
|
||||
"appearance": "উপস্থিতি",
|
||||
|
@ -319,7 +308,6 @@
|
|||
"copy-to-clipboard": "অনুলিপি",
|
||||
"copy-transaction-hash": "লেনদেন আইডি অনুলিপি করুন",
|
||||
"cost-fee": "খরচ \/ ফি",
|
||||
"count-metrics-collected": "{{count}} মেট্রিক্স সংগ্রহ করা হয়েছে",
|
||||
"counter-9-plus": "৯+",
|
||||
"counter-99-plus": "৯৯+",
|
||||
"create": "তৈরি",
|
||||
|
@ -1409,7 +1397,6 @@
|
|||
"settings": "সেটিংস",
|
||||
"share": "ভাগ করুন",
|
||||
"share-address": "ঠিকানা শেয়ার করুন",
|
||||
"share-anonymous-usage-data": "বেনামী ব্যবহারের ডেটা শেয়ার করুন",
|
||||
"share-chat": "চ্যাট শেয়ার করুন",
|
||||
"share-contact-code": "আমার চ্যাট কী শেয়ার করুন",
|
||||
"share-dapp-text": "Status আমি যে DApp ব্যবহার করছি তা দেখুন: {{link}}",
|
||||
|
|
|
@ -71,17 +71,6 @@
|
|||
"allowing-authorizes-this-dapp": "Durch das Zulassen wird diese DApp berechtigt, Ihre Wallet Adresse abzurufen und Web3 zu aktivieren",
|
||||
"already-have-asset": "Sie haben dieses Asset bereits",
|
||||
"amount": "Betrag",
|
||||
"anon-metrics-bg-activity": "Hintergrundaktivitäten und interne Prozesse",
|
||||
"anon-metrics-data-is-validated": "Die Daten werden anhand öffentlicher Validierungsregeln validiert, um sicherzustellen, dass keine sensiblen Daten gesendet werden.",
|
||||
"anon-metrics-ephemeral-key": "Anstelle Ihres normalen Chat-Schlüssels wird ein Einmalschlüssel verwendet",
|
||||
"anon-metrics-public-dashboard": "Kumulative Daten aller Benutzer sind öffentlich verfügbar. Öffentliches Dashboard anzeigen",
|
||||
"anon-metrics-removed-from-phone": "Die Daten werden nach dem Senden von Ihrem Smartphone entfernt",
|
||||
"anon-metrics-settings-and-prefs": "Einstellungen und Präferenzen",
|
||||
"anon-metrics-usage-data-sent": "Nutzungsdaten werden Ende-zu-Ende verschlüsselt über das Peer-to-Peer-Netzwerk von Status gesendet",
|
||||
"anon-metrics-usage-not-linked-to-ip": "Nutzungsdaten können nicht mit Ihrer IP-Adresse in Verbindung gebracht werden",
|
||||
"anon-metrics-your-interactions": "Ihre Interaktionen mit der App wie Klicks und Bildschirmaufrufe",
|
||||
"anonymous-usage-data": "Anonyme Nutzungsdaten",
|
||||
"anonymous-usage-data-subtitle": "Teilen Sie anonyme, Ende-zu-Ende verschlüsselte Daten darüber, wie Sie Status verwenden.",
|
||||
"anyone": "Jeder",
|
||||
"appearance": "Erscheinungsbild",
|
||||
"apply": "Anwenden",
|
||||
|
@ -318,7 +307,6 @@
|
|||
"copy-to-clipboard": "Kopieren",
|
||||
"copy-transaction-hash": "Transaktions-ID kopieren",
|
||||
"cost-fee": "Kosten\/Gebühr",
|
||||
"count-metrics-collected": "{{count}} gesammelte Metriken",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99+",
|
||||
"create": "Erstellen",
|
||||
|
@ -1404,7 +1392,6 @@
|
|||
"settings": "Einstellungen",
|
||||
"share": "Teilen",
|
||||
"share-address": "Adresse teilen",
|
||||
"share-anonymous-usage-data": "Teilen Sie anonyme Nutzungsdaten",
|
||||
"share-chat": "Chat teilen",
|
||||
"share-contact-code": "Meinen Chat-Schlüssel teilen",
|
||||
"share-dapp-text": "Schauen Sie sich diese DApp an, die ich in Status verwende: {{link}}",
|
||||
|
|
|
@ -959,6 +959,7 @@
|
|||
"notifications-switch": "Show notifications",
|
||||
"notifications-non-contacts": "Notifications from non-contacts",
|
||||
"notifications-transactions": "Wallet transactions",
|
||||
"local-notifications": "Local notifications",
|
||||
"send-push-notifications": "Send Push Notifications",
|
||||
"send-push-notifications-description": "When disabled, the person receiving your messages won't be notified of their arrival",
|
||||
"push-notifications-server-enabled": "Server enabled",
|
||||
|
@ -1597,26 +1598,13 @@
|
|||
"bip39-password-placeholder": "BIP39 password",
|
||||
"public-channel": "Public channel",
|
||||
"default-sync-period": "Sync history for",
|
||||
"anonymous-usage-data": "Anonymous usage data",
|
||||
"anonymous-usage-data-subtitle": "Share anonymous, end-to-end ecrypted data about how you use Status.",
|
||||
"share-anonymous-usage-data": "Share anonymous usage data",
|
||||
"what-is-shared": "What is shared",
|
||||
"anon-metrics-your-interactions": "Your interactions with the app like clicks and screen views",
|
||||
"anon-metrics-bg-activity": "Background activity and internal processes",
|
||||
"anon-metrics-settings-and-prefs": "Settings and preferences",
|
||||
"anon-metrics-data-is-validated": "Data is validated against public validation rules to ensure no sensitive data is sent.",
|
||||
"anon-metrics-usage-data-sent": "Usage data is sent end-to-end encrypted over Status’ peer-to-peer network",
|
||||
"anon-metrics-ephemeral-key": "Instead of your regular chat key, a single use key is used",
|
||||
"anon-metrics-usage-not-linked-to-ip": "Usage data cannot be associated with your IP address",
|
||||
"anon-metrics-removed-from-phone": "The data is removed from your phone after they are sent",
|
||||
"anon-metrics-public-dashboard": "Cumulative data of all users is publicaly available View public dashboard",
|
||||
"view-data": "View data",
|
||||
"data-collected": "Data collected",
|
||||
"data-collected-subtitle": "The table below shows the exact data that is stored and will be sent. Data is validated against public rules to ensure no sensitive data is sent. Don’t trust, verify.",
|
||||
"view-rules": "View rules",
|
||||
"expand-all": "Expand all",
|
||||
"about-sharing-data": "About sharing data",
|
||||
"about-sharing-data-subtitle": "As open-source community project, Status asks you to share anonymous, non-invasive data to improve the app. This is strictly opt-in, and can be changed at any time in Settings.",
|
||||
"sharing-data-desc-1": "Data is validated against public rules to ensure no sensitive data is sent. Don’t trust, verify.",
|
||||
"sharing-data-desc-2": "Usage data is sent end-to-end encrypted over Status’ peer-to-peer network",
|
||||
"sharing-data-desc-3": "Instead of your regular chat key, a single use key is used",
|
||||
|
@ -1628,7 +1616,6 @@
|
|||
"no-thanks": "No thanks",
|
||||
"help-improve-status": "Help improve Status",
|
||||
"thank-you": "Thank you",
|
||||
"count-metrics-collected": "{{count}} metrics collected",
|
||||
"current-password": "Current password",
|
||||
"reset-password": "Reset password",
|
||||
"password-reset-success": "Password changed",
|
||||
|
|
|
@ -71,17 +71,6 @@
|
|||
"allowing-authorizes-this-dapp": "Permitir autoriza a esta DApp a recuperar la dirección de tu billetera y habilitar Web3",
|
||||
"already-have-asset": "Ya tienes este activo",
|
||||
"amount": "Cantidad",
|
||||
"anon-metrics-bg-activity": "Actividad de fondo y procesos internos",
|
||||
"anon-metrics-data-is-validated": "Los datos se validan según las normas de validación pública para garantizar que no se envían datos sensibles.",
|
||||
"anon-metrics-ephemeral-key": "En lugar de la clave de chat habitual, se utiliza una clave de uso único",
|
||||
"anon-metrics-public-dashboard": "Los datos acumulativos de todos los usuarios está disponible públicamente Ver el panel público",
|
||||
"anon-metrics-removed-from-phone": "El dato es removido de su teléfono luego de ser enviado",
|
||||
"anon-metrics-settings-and-prefs": "Configuración y preferencias",
|
||||
"anon-metrics-usage-data-sent": "Los datos de uso se envían cifrados de extremo a extremo a través de la red peer-to-peer de Status",
|
||||
"anon-metrics-usage-not-linked-to-ip": "Los datos de Uso no pueden asociarse con su dirección IP",
|
||||
"anon-metrics-your-interactions": "Sus interacciones con la app como clics y vistas de pantalla",
|
||||
"anonymous-usage-data": "Datos de uso Anónimos",
|
||||
"anonymous-usage-data-subtitle": "Comparta datos anónimos, escritos de extremo a extremo sobre cómo usa Status.",
|
||||
"anyone": "Cualquiera",
|
||||
"appearance": "Apariencia",
|
||||
"apply": "Aplicar",
|
||||
|
@ -317,7 +306,6 @@
|
|||
"copy-to-clipboard": "Copiar",
|
||||
"copy-transaction-hash": "Copiar ID de transacción",
|
||||
"cost-fee": "Costo\/Tarifa",
|
||||
"count-metrics-collected": "{{count}} métricas recolectadas",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99+",
|
||||
"create": "Crear",
|
||||
|
@ -1404,7 +1392,6 @@
|
|||
"settings": "Ajustes",
|
||||
"share": "Compartir",
|
||||
"share-address": "Compartir dirección",
|
||||
"share-anonymous-usage-data": "Compartir datos de uso anónimo",
|
||||
"share-chat": "Compartir chat",
|
||||
"share-contact-code": "Compartir mi clave de chat",
|
||||
"share-dapp-text": "Echa un vistazo a esta DApp que estoy usando en Status: {{link}}",
|
||||
|
|
|
@ -71,17 +71,6 @@
|
|||
"allowing-authorizes-this-dapp": "Pinapayagan ang nagpapahintulot sa DApp na ito na makuha ang iyong address ng pitaka at paganahin ang Web3",
|
||||
"already-have-asset": "Mayroon ka nang asset na ito",
|
||||
"amount": "Halaga",
|
||||
"anon-metrics-bg-activity": "Aktibidad sa likod at mga panloob na proseso",
|
||||
"anon-metrics-data-is-validated": "Ang data ay napatunayan laban sa mga patakaran sa pagpapatunay ng publiko upang matiyak na walang sensitibong data ang naipadala.",
|
||||
"anon-metrics-ephemeral-key": "Sa halip na iyong regular na chat key, ginagamit ang isang solong key para magamit",
|
||||
"anon-metrics-public-dashboard": "Ang Cumulative data ng lahat ng mga gumagamit ay magagamit sa publiko Tingnan ang pampublikong dashboard",
|
||||
"anon-metrics-removed-from-phone": "Ang data ay tinanggal mula sa iyong telepono pagkatapos maipadala ang mga ito",
|
||||
"anon-metrics-settings-and-prefs": "Mga setting at kagustuhan",
|
||||
"anon-metrics-usage-data-sent": "Ang usage data ay ipinadala end-to-end na naka-encrypt sa peer-to-peer network ng Status",
|
||||
"anon-metrics-usage-not-linked-to-ip": "Ang usage data ay hindi maaaring maiugnay sa iyong IP address",
|
||||
"anon-metrics-your-interactions": "Ang iyong mga pakikipag-ugnayan sa app tulad ng mga pag-click at view ng screen",
|
||||
"anonymous-usage-data": "Data ng hindi nagpapakilalang paggamit",
|
||||
"anonymous-usage-data-subtitle": "Magbahagi ng hindi nagpapakilalang, end-to-end na naka-encrypt na data tungkol sa kung paano mo ginagamit ang Status.",
|
||||
"anyone": "Sinuman",
|
||||
"app-commit": "App commit",
|
||||
"appearance": "Hitsura",
|
||||
|
@ -331,7 +320,6 @@
|
|||
"copy-to-clipboard": "Kopya",
|
||||
"copy-transaction-hash": "Kopyahin ang transaksyon ID",
|
||||
"cost-fee": "Gastos \/ Bayad",
|
||||
"count-metrics-collected": "Nakolektang mga metriko {{count}}",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99+",
|
||||
"create": "Lumikha",
|
||||
|
@ -1468,7 +1456,6 @@
|
|||
"settings": "Settings",
|
||||
"share": "Ibahagi",
|
||||
"share-address": "Share address",
|
||||
"share-anonymous-usage-data": "Magbahagi ng data ng hindi nagpapakilalang paggamit",
|
||||
"share-chat": "Ibahagi ang chat",
|
||||
"share-contact-code": "Ibahagi ang aking susi sa chat",
|
||||
"share-dapp-text": "Tingnan ang DApp na ginagamit ko sa Status:{{link}}",
|
||||
|
|
|
@ -71,17 +71,6 @@
|
|||
"allowing-authorizes-this-dapp": "Autoriser cette DApp à récupérer votre adresse portefeuille et à activer Web3",
|
||||
"already-have-asset": "Vous avez déjà cet actif",
|
||||
"amount": "Montant",
|
||||
"anon-metrics-bg-activity": "Activité en arrière-plan et processus internes",
|
||||
"anon-metrics-data-is-validated": "Les données sont validées par rapport à des règles de validation publiques afin de garantir qu'aucune donnée sensible n'est envoyée.",
|
||||
"anon-metrics-ephemeral-key": "Au lieu de votre clé de chat habituelle, une clé à usage unique est utilisée",
|
||||
"anon-metrics-public-dashboard": "Les données cumulées de tous les utilisateurs sont disponibles publiquement sur le tableau de bord public",
|
||||
"anon-metrics-removed-from-phone": "Les données sont supprimées de votre téléphone après leur envoi.",
|
||||
"anon-metrics-settings-and-prefs": "Paramètres et préférences",
|
||||
"anon-metrics-usage-data-sent": "Les données d'utilisation envoyées sont cryptées de bout en bout sur le réseau peer-to-peer de Status.",
|
||||
"anon-metrics-usage-not-linked-to-ip": "Les données d'utilisation ne peuvent pas être associées à votre adresse IP",
|
||||
"anon-metrics-your-interactions": "Vos interactions avec l'application, comme les clics et l'écran.",
|
||||
"anonymous-usage-data": "Données d'utilisation anonymes",
|
||||
"anonymous-usage-data-subtitle": "Partager des données anonymes, cryptées de bout en bout, sur la façon dont vous utilisez Status.",
|
||||
"anyone": "Tout le monde",
|
||||
"appearance": "Apparence",
|
||||
"apply": "Appliquer",
|
||||
|
@ -302,7 +291,6 @@
|
|||
"copy-to-clipboard": "Copie",
|
||||
"copy-transaction-hash": "Copier l'ID de transaction",
|
||||
"cost-fee": "Coût\/Frais",
|
||||
"count-metrics-collected": "{{count}} mesures collectées",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99+",
|
||||
"create": "Créer",
|
||||
|
@ -1369,7 +1357,6 @@
|
|||
"settings": "Réglages",
|
||||
"share": "Partager",
|
||||
"share-address": "Partager l'adresse",
|
||||
"share-anonymous-usage-data": "Partager des données d'utilisation anonymes",
|
||||
"share-chat": "Partager un chat",
|
||||
"share-contact-code": "Partager mon code de contact",
|
||||
"share-dapp-text": "Découvrez ce DApp que j'utilise sur Status: {{link}}",
|
||||
|
|
|
@ -64,17 +64,6 @@
|
|||
"allowing-authorizes-this-dapp": "Mengizinkan otorisasi DApp ini untuk mengambil alamat dompet Anda dan mengaktifkan Web3",
|
||||
"already-have-asset": "Anda sudah memiliki aset ini",
|
||||
"amount": "Jumlah",
|
||||
"anon-metrics-bg-activity": "Aktivitas latar belakang dan proses internal",
|
||||
"anon-metrics-data-is-validated": "Data divalidasi terhadap aturan validasi publik untuk memastikan tidak ada data sensitif yang dikirim.",
|
||||
"anon-metrics-ephemeral-key": "Alih-alih kunci obrolan reguler Anda, kunci sekali pakai digunakan",
|
||||
"anon-metrics-public-dashboard": "Data kumulatif semua pengguna tersedia untuk umum Lihat dasbor publik",
|
||||
"anon-metrics-removed-from-phone": "Data dihapus dari ponsel Anda setelah dikirim",
|
||||
"anon-metrics-settings-and-prefs": "Pengaturan dan preferensi",
|
||||
"anon-metrics-usage-data-sent": "Data penggunaan dikirim dari ujung ke ujung yang dienkripsi melalui jaringan peer-to-peer Status",
|
||||
"anon-metrics-usage-not-linked-to-ip": "Data pengguna tidak dapat di kaitkan dengan alamat IP anda",
|
||||
"anon-metrics-your-interactions": "Interaksi Anda dengan aplikasi seperti klik dan tampilan layar",
|
||||
"anonymous-usage-data": "Data penggunaan anonim",
|
||||
"anonymous-usage-data-subtitle": "Bagikan data terenkripsi anonim dan end-to-end tentang cara Anda menggunakan Status.",
|
||||
"anyone": "Siapa saja",
|
||||
"appearance": "Penampilan",
|
||||
"apply": "Menerapkan",
|
||||
|
@ -253,7 +242,6 @@
|
|||
"copy-to-clipboard": "Salinan",
|
||||
"copy-transaction-hash": "Salin ID transaksi",
|
||||
"cost-fee": "Biaya\/Biaya",
|
||||
"count-metrics-collected": "{{count}} metrik dikumpulkan",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99+",
|
||||
"create": "Membuat",
|
||||
|
@ -1165,7 +1153,6 @@
|
|||
"settings": "Pengaturan",
|
||||
"share": "Bagikan",
|
||||
"share-address": "Bagikan alamat",
|
||||
"share-anonymous-usage-data": "Bagikan data penggunaan anonim",
|
||||
"share-chat": "Bagikan obrolan",
|
||||
"share-contact-code": "Bagikan kunci obrolan saya",
|
||||
"share-dapp-text": "Lihat DApp ini yang saya gunakan di Status: {{link}}",
|
||||
|
|
|
@ -71,17 +71,6 @@
|
|||
"allowing-authorizes-this-dapp": "Autorizzare questo DApp a recuperare l'indirizzo del tuo portafoglio e abilitare Web3",
|
||||
"already-have-asset": "Hai già questo cryptoasset",
|
||||
"amount": "Importo",
|
||||
"anon-metrics-bg-activity": "Attività in background e processi interni",
|
||||
"anon-metrics-data-is-validated": "I dati vengono validati rispetto alle regole di convalida pubbliche per garantire che non vengano inviati dati sensibili.",
|
||||
"anon-metrics-ephemeral-key": "Invece della normale chiave di chat, viene utilizzata una chiave monouso",
|
||||
"anon-metrics-public-dashboard": "I dati cumulativi di tutti gli utenti sono pubblicamente disponibili Visualizza dashboard pubblica",
|
||||
"anon-metrics-removed-from-phone": "I dati vengono rimossi dal telefono dopo l'invio",
|
||||
"anon-metrics-settings-and-prefs": "Impostazioni e preferenze",
|
||||
"anon-metrics-usage-data-sent": "I dati di utilizzo vengono inviati crittografati end-to-end sulla rete peer-to-peer di Status",
|
||||
"anon-metrics-usage-not-linked-to-ip": "I dati di utilizzo non possono essere associati al tuo indirizzo IP",
|
||||
"anon-metrics-your-interactions": "Le tue interazioni con l'app come clic e visualizzazioni dello schermo",
|
||||
"anonymous-usage-data": "Dati di utilizzo anonimi",
|
||||
"anonymous-usage-data-subtitle": "Condividi dati crittografati end-to-end anonimi su come utilizzi Status.",
|
||||
"anyone": "Chiunque",
|
||||
"appearance": "Aspetto",
|
||||
"apply": "Applica",
|
||||
|
@ -317,7 +306,6 @@
|
|||
"copy-to-clipboard": "Copia",
|
||||
"copy-transaction-hash": "Copia ID transazione",
|
||||
"cost-fee": "Costo\/Tassa",
|
||||
"count-metrics-collected": "{{count}} metriche raccolte",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99+",
|
||||
"create": "Crea",
|
||||
|
@ -1402,7 +1390,6 @@
|
|||
"settings": "Impostazioni",
|
||||
"share": "Condividi",
|
||||
"share-address": "Condividi l'indirizzo",
|
||||
"share-anonymous-usage-data": "Condividi dati di utilizzo anonimi",
|
||||
"share-chat": "Condividi chat",
|
||||
"share-contact-code": "Condividi la mia chiave di chat",
|
||||
"share-dapp-text": "Dai un'occhiata a questa DApp che sto usando su Status: {{link}}",
|
||||
|
|
|
@ -71,17 +71,6 @@
|
|||
"allowing-authorizes-this-dapp": "アクセスを許可すると、このDAppはあなたのウォレットアドレスを取得し、Web3を有効にします。",
|
||||
"already-have-asset": "このアセットはすでに持っています",
|
||||
"amount": "金額",
|
||||
"anon-metrics-bg-activity": "バックグラウンド処理と内部プロセス",
|
||||
"anon-metrics-data-is-validated": "機密データが送信されることがないよう、データは公開検証ルールに照らして検証されます。",
|
||||
"anon-metrics-ephemeral-key": "通常のチャット キーの代わりに、使い捨てキーが用いられます。",
|
||||
"anon-metrics-public-dashboard": "全ユーザの累積データはView公開ダッシュボードで公開されます。",
|
||||
"anon-metrics-removed-from-phone": "データは送信後にこの電話から削除されます。",
|
||||
"anon-metrics-settings-and-prefs": "設定情報",
|
||||
"anon-metrics-usage-data-sent": "使用状況データはエンドツーエンド暗号化され、Statusのピアツーピアネットワークを介して送信されます。",
|
||||
"anon-metrics-usage-not-linked-to-ip": "使用状況データがIPアドレスと関連付けられることはありません。",
|
||||
"anon-metrics-your-interactions": "クリックや画面表示などのアプリでの操作",
|
||||
"anonymous-usage-data": "匿名の利用データ",
|
||||
"anonymous-usage-data-subtitle": "あなたがどのように Status を利用しているかについて、匿名でエンドツーエンドの暗号化されたデータを共有します。",
|
||||
"anyone": "全員",
|
||||
"app-commit": "コミットハッシュ",
|
||||
"appearance": "画面表示",
|
||||
|
@ -317,7 +306,6 @@
|
|||
"copy-to-clipboard": "コピー",
|
||||
"copy-transaction-hash": "トランザクションIDをコピー",
|
||||
"cost-fee": "コスト\/手数料",
|
||||
"count-metrics-collected": "{{count}}メトリックが収集されました",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99以上",
|
||||
"create": "作成",
|
||||
|
@ -1403,7 +1391,6 @@
|
|||
"settings": "設定",
|
||||
"share": "シェア",
|
||||
"share-address": "アドレスを共有",
|
||||
"share-anonymous-usage-data": "匿名の利用データを共有する",
|
||||
"share-chat": "チャットを共有",
|
||||
"share-contact-code": "チャットキーを共有",
|
||||
"share-dapp-text": "このDAppをチェックしてください {{link}}",
|
||||
|
|
|
@ -71,17 +71,6 @@
|
|||
"allowing-authorizes-this-dapp": "웹3를 활용하기 위해, 디앱이 사용자의 지갑 주소를 검색하는 것을 허용합니다",
|
||||
"already-have-asset": "이미 해당 자산을 가지고 있습니다",
|
||||
"amount": "수량",
|
||||
"anon-metrics-bg-activity": "백그라운드 활동 및 내부 프로세스",
|
||||
"anon-metrics-data-is-validated": "데이터는 중요한 데이터가 전송되지 않도록 공공 유효성 검사 규칙에 따라 검증됩니다.",
|
||||
"anon-metrics-ephemeral-key": "일반 채팅 키 대신 일회용 키가 사용됩니다",
|
||||
"anon-metrics-public-dashboard": "모든 사용자의 누적 데이터를 공개적으로 사용할 수 있습니다. 공공 대시보드 보기",
|
||||
"anon-metrics-removed-from-phone": "데이터가 전송된 후 휴대폰에서 제거됩니다",
|
||||
"anon-metrics-settings-and-prefs": "기본 설정",
|
||||
"anon-metrics-usage-data-sent": "사용 데이터는 스테이터스의 P2P 네트워크를 통해 암호화되어 종단간 전송됩니다",
|
||||
"anon-metrics-usage-not-linked-to-ip": "사용 데이터는 IP 주소와 연동될 수 없습니다",
|
||||
"anon-metrics-your-interactions": "클릭 및 화면 보기 등 앱과의 상호 작용",
|
||||
"anonymous-usage-data": "익명의 사용 데이터",
|
||||
"anonymous-usage-data-subtitle": "스테이터스 사용 방법에 대한 익명의 데이터가 종단간 암호화를 거쳐 공유됩니다.",
|
||||
"anyone": "누구든지",
|
||||
"app-commit": "앱 커밋",
|
||||
"appearance": "테마",
|
||||
|
@ -317,7 +306,6 @@
|
|||
"copy-to-clipboard": "클립보드에 복사",
|
||||
"copy-transaction-hash": "트랜잭션 ID 복사",
|
||||
"cost-fee": "비용",
|
||||
"count-metrics-collected": "{{count}} 메트릭스 수집됨",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99+",
|
||||
"create": "만들기",
|
||||
|
@ -1403,7 +1391,6 @@
|
|||
"settings": "설정",
|
||||
"share": "공유",
|
||||
"share-address": "주소 공유",
|
||||
"share-anonymous-usage-data": "익명의 사용 데이터 공유",
|
||||
"share-chat": "채팅 공유",
|
||||
"share-contact-code": "채팅 키 공유하기",
|
||||
"share-dapp-text": "스테이터스에서 사용하는 디앱 확인: {{link}}",
|
||||
|
|
|
@ -71,17 +71,6 @@
|
|||
"allowing-authorizes-this-dapp": "Membolehkan membenarkan DApp ini untuk mengambil alamat dompet anda dan mengaktifkan Web3",
|
||||
"already-have-asset": "Anda sudah mempunyai aset ini",
|
||||
"amount": "Jumlah",
|
||||
"anon-metrics-bg-activity": "Aktiviti latar belakang dan proses dalaman",
|
||||
"anon-metrics-data-is-validated": "Data disahkan berdasarkan peraturan pengesahan awam untuk memastikan tidak ada data sensitif yang dikirim.",
|
||||
"anon-metrics-ephemeral-key": "Daripada kekunci sembang biasa anda, kunci penggunaan sekali sahaja digunakan",
|
||||
"anon-metrics-public-dashboard": "Data kumulatif semua pengguna boleh didapati secara umum Paparan papan pemuka awam",
|
||||
"anon-metrics-removed-from-phone": "Data dipadam daripada telefon anda selepas ia dihantar",
|
||||
"anon-metrics-settings-and-prefs": "Tetapan dan pilihan",
|
||||
"anon-metrics-usage-data-sent": "Data penggunaan dihantar dari hujung ke hujung dienkripsi melalui rangkaian peer-to-peer Status",
|
||||
"anon-metrics-usage-not-linked-to-ip": "Penggunaan data tidak akan dikaitkan dengan alamat IP anda",
|
||||
"anon-metrics-your-interactions": "Interaksi anda dengan aplikasi seperti klik dan pandangan skrin",
|
||||
"anonymous-usage-data": "Data penggunaan tanpa nama",
|
||||
"anonymous-usage-data-subtitle": "Kongsi data yang dienkripsi dari hujung ke hujung tanpa nama tentang cara anda menggunakan Status.",
|
||||
"anyone": "Sesiapa",
|
||||
"appearance": "Penampilan",
|
||||
"apply": "Memohon",
|
||||
|
@ -294,7 +283,6 @@
|
|||
"copy-to-clipboard": "Salinan",
|
||||
"copy-transaction-hash": "Salin ID transaksi",
|
||||
"cost-fee": "Kos \/ Bayaran",
|
||||
"count-metrics-collected": "{{count}} metrik dikumpul",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99+",
|
||||
"create": "Buat",
|
||||
|
@ -1341,7 +1329,6 @@
|
|||
"settings": "Tetapan",
|
||||
"share": "Berkongsi",
|
||||
"share-address": "Kongsi alamat",
|
||||
"share-anonymous-usage-data": "Kongsi penggunaan data tanpa nama",
|
||||
"share-chat": "Kongsi sembang",
|
||||
"share-contact-code": "Kongsi kod pengenalan saya",
|
||||
"share-dapp-text": "Lihat DApp ini yang saya gunakan di Status: {{link}}",
|
||||
|
|
|
@ -70,17 +70,6 @@
|
|||
"allowing-authorizes-this-dapp": "Toestaan autoriseert deze DApp om je wallet-adres op te halen en Web3 in te schakelen",
|
||||
"already-have-asset": "Je hebt deze asset al",
|
||||
"amount": "Bedrag",
|
||||
"anon-metrics-bg-activity": "Achtergrondactiviteit en interne processen",
|
||||
"anon-metrics-data-is-validated": "Data wordt gevalideerd aan de hand van openbare validatieregels om ervoor te zorgen dat er geen gevoelige data wordt verzonden.",
|
||||
"anon-metrics-ephemeral-key": "In plaats van je gewone chat-key wordt een eenmalige-key gebruikt",
|
||||
"anon-metrics-public-dashboard": "Cumulatieve data van alle gebruikers zijn openbaar beschikbaar Openbaar dashboard weergeven",
|
||||
"anon-metrics-removed-from-phone": "De data wordt van je telefoon verwijderd nadat het is verzonden",
|
||||
"anon-metrics-settings-and-prefs": "Instellingen en voorkeuren",
|
||||
"anon-metrics-usage-data-sent": "Gebruiksdata wordt end-to-end versleuteld verzonden via het peer-to-peer-netwerk van Status",
|
||||
"anon-metrics-usage-not-linked-to-ip": "Gebruiksdata kan niet worden gekoppeld aan je IP-adres",
|
||||
"anon-metrics-your-interactions": "Je interacties met de app, zoals klikken en schermweergaven",
|
||||
"anonymous-usage-data": "Anonieme gebruiksdata",
|
||||
"anonymous-usage-data-subtitle": "Deel anonieme, end-to-end versleutelde data over hoe je Status gebruikt.",
|
||||
"anyone": "Iedereen",
|
||||
"appearance": "Thema",
|
||||
"apply": "Toepassen",
|
||||
|
@ -298,7 +287,6 @@
|
|||
"copy-to-clipboard": "Kopiëren",
|
||||
"copy-transaction-hash": "Kopieer transactie-ID",
|
||||
"cost-fee": "Kosten\/Tarief",
|
||||
"count-metrics-collected": "{{count}} verzamelde statistieken",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99+",
|
||||
"create": "Maken",
|
||||
|
@ -1353,7 +1341,6 @@
|
|||
"settings": "Instellingen",
|
||||
"share": "Delen",
|
||||
"share-address": "Adres delen",
|
||||
"share-anonymous-usage-data": "Anonieme gebruiksgegevens delen",
|
||||
"share-chat": "Deel chat",
|
||||
"share-contact-code": "Deel mijn chat-key",
|
||||
"share-dapp-text": "Kijk eens naar deze DApp die ik op Status gebruik: {{link}}",
|
||||
|
|
|
@ -71,17 +71,6 @@
|
|||
"allowing-authorizes-this-dapp": "Zgadzając się, umożliwisz tej zdecentralizowanej aplikacji na pobranie adresu Twojego portfela i uruchomieniu Web3",
|
||||
"already-have-asset": "Masz już to aktywo",
|
||||
"amount": "Ilość",
|
||||
"anon-metrics-bg-activity": "Działalność w tle i procesy wewnętrzne",
|
||||
"anon-metrics-data-is-validated": "Dane są weryfikowane zgodnie z publicznymi regułami walidacji, aby upewnić się, że nie są wysyłane żadne dane wrażliwe.",
|
||||
"anon-metrics-ephemeral-key": "Zamiast zwykłego klucza czatu używany jest klucz jednorazowy",
|
||||
"anon-metrics-public-dashboard": "Zbiorcze dane wszystkich użytkowników są publicznie dostępne w widoku publicznego pulpitu nawigacyjnego",
|
||||
"anon-metrics-removed-from-phone": "Dane są usuwane z telefonu po ich wysłaniu",
|
||||
"anon-metrics-settings-and-prefs": "Ustawienia i preferencje",
|
||||
"anon-metrics-usage-data-sent": "Dane użytkowania są przesyłane zaszyfrowane end-to-end przez sieć peer-to-peer Statusu",
|
||||
"anon-metrics-usage-not-linked-to-ip": "Dane użytkowania nie mogą być powiązane z Twoim adresem IP",
|
||||
"anon-metrics-your-interactions": "Twoje interakcje z aplikacją, takie jak kliknięcia i wyświetlenia ekranu",
|
||||
"anonymous-usage-data": "Anonimowe dane użytkowania",
|
||||
"anonymous-usage-data-subtitle": "Udostępniaj anonimowe, kompleksowo zaszyfrowane dane dotyczące sposobu korzystania ze Statusu.",
|
||||
"anyone": "Ktoś",
|
||||
"appearance": "Wygląd",
|
||||
"apply": "Zastosuj",
|
||||
|
@ -323,7 +312,6 @@
|
|||
"copy-to-clipboard": "Kopiuj",
|
||||
"copy-transaction-hash": "Skopiuj ID transakcji",
|
||||
"cost-fee": "Koszt\/Opłata",
|
||||
"count-metrics-collected": "Zebrano {{count}} metryk",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99+",
|
||||
"create": "Utwórz",
|
||||
|
@ -1430,7 +1418,6 @@
|
|||
"settings": "Ustawienia",
|
||||
"share": "Udostępnij",
|
||||
"share-address": "Udostępnij adres",
|
||||
"share-anonymous-usage-data": "Udostępnij anonimowe dane użytkowania",
|
||||
"share-chat": "Udostępnij czat",
|
||||
"share-contact-code": "Udostępnij mój klucz czatu",
|
||||
"share-dapp-text": "Sprawdź tą zdecentralizowaną aplikację, której używam na platformie Status: {{link}}",
|
||||
|
|
|
@ -71,17 +71,6 @@
|
|||
"allowing-authorizes-this-dapp": "Permitir que este DApp recupere o endereço da sua carteira e ative o Web3",
|
||||
"already-have-asset": "Você já tem este ativo",
|
||||
"amount": "Quantia",
|
||||
"anon-metrics-bg-activity": "Atividade de fundo e processos internos",
|
||||
"anon-metrics-data-is-validated": "Os dados são validados de acordo com as regras de validação pública para garantir que nenhum dado sensível seja enviado.",
|
||||
"anon-metrics-ephemeral-key": "Em vez de sua chave de bate-papo normal, uma única chave de uso é usada",
|
||||
"anon-metrics-public-dashboard": "Os dados cumulativos de todos os usuários estão disponíveis publicamente. Visualize o painel público",
|
||||
"anon-metrics-removed-from-phone": "Os dados são removidos do seu telefone após serem enviados",
|
||||
"anon-metrics-settings-and-prefs": "Configurações e preferências",
|
||||
"anon-metrics-usage-data-sent": "Os dados de uso são enviados criptografados de ponta a ponta pela rede ponto a ponto (P2P) da Status",
|
||||
"anon-metrics-usage-not-linked-to-ip": "Os dados de uso não podem ser associados ao seu endereço IP",
|
||||
"anon-metrics-your-interactions": "Suas interações com o aplicativo, como cliques e visualizações de tela",
|
||||
"anonymous-usage-data": "Dados de uso anônimos",
|
||||
"anonymous-usage-data-subtitle": "Compartilhe dados criptografados, anônimos de ponta a ponta, sobre como você usa o Status.",
|
||||
"anyone": "Qualquer um",
|
||||
"app-commit": "Commit do aplicativo",
|
||||
"appearance": "Aparência",
|
||||
|
@ -319,7 +308,6 @@
|
|||
"copy-to-clipboard": "Copiar",
|
||||
"copy-transaction-hash": "Copiar ID da transação",
|
||||
"cost-fee": "Custo\/Taxa",
|
||||
"count-metrics-collected": "{{count}} métricas coletadas",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99+",
|
||||
"create": "Criar",
|
||||
|
@ -1412,7 +1400,6 @@
|
|||
"settings": "Configurações",
|
||||
"share": "Compartilhar",
|
||||
"share-address": "Compartilhar endereço",
|
||||
"share-anonymous-usage-data": "Compartilhe dados de uso anônimos",
|
||||
"share-chat": "Compartilhar bate-papo",
|
||||
"share-contact-code": "Compartilhar minha chave de bate-papo",
|
||||
"share-dapp-text": "Confira este DApp que estou usando no Status: {{link}}",
|
||||
|
|
|
@ -71,17 +71,6 @@
|
|||
"allowing-authorizes-this-dapp": "Соглашаясь, вы разрешаете DApp получить адрес вашего кошелька и включить Web3",
|
||||
"already-have-asset": "У вас есть актив с таким адресом",
|
||||
"amount": "Сумма",
|
||||
"anon-metrics-bg-activity": "Фоновая активность и внутренние процессы",
|
||||
"anon-metrics-data-is-validated": "Данные проверяются на соответствие общедоступным правилам проверки, чтобы гарантировать, что конфиденциальные данные не будут отправлены.",
|
||||
"anon-metrics-ephemeral-key": "Вместо обычного ключа чата используется одноразовый ключ.",
|
||||
"anon-metrics-public-dashboard": "Кумулятивные данные всех пользователей общедоступны. Посмотреть общедоступную панель управления",
|
||||
"anon-metrics-removed-from-phone": "Данные удаляются с вашего телефона после их отправки",
|
||||
"anon-metrics-settings-and-prefs": "Настройки и предпочтения",
|
||||
"anon-metrics-usage-data-sent": "Данные об использовании отправляются сквозным шифрованием по одноранговой сети Status",
|
||||
"anon-metrics-usage-not-linked-to-ip": "Данные об использовании не могут быть связаны с вашим IP-адресом",
|
||||
"anon-metrics-your-interactions": "Ваше взаимодействие с приложением, например клики и просмотры экрана.",
|
||||
"anonymous-usage-data": "Анонимные данные об использовании",
|
||||
"anonymous-usage-data-subtitle": "Делитесь анонимными, зашифрованными сквозным шифрованием данными о том, как вы используете Status.",
|
||||
"anyone": "Любой",
|
||||
"appearance": "Внешний вид",
|
||||
"apply": "Применить",
|
||||
|
@ -326,7 +315,6 @@
|
|||
"copy-to-clipboard": "Копировать",
|
||||
"copy-transaction-hash": "Копировать ID транзакции",
|
||||
"cost-fee": "Стоимость\/Комиссия",
|
||||
"count-metrics-collected": "Собранные метрики {{count}}",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99+",
|
||||
"create": "Создать",
|
||||
|
@ -1444,7 +1432,6 @@
|
|||
"settings": "Настройки",
|
||||
"share": "Поделиться",
|
||||
"share-address": "Поделиться адресом",
|
||||
"share-anonymous-usage-data": "Обмен анонимными данными об использовании",
|
||||
"share-chat": "Поделиться чатом",
|
||||
"share-contact-code": "Поделиться своим кодом контакта",
|
||||
"share-dapp-text": "Попробуйте это DApp, которое я использую в приложении Status: {{link}}",
|
||||
|
|
|
@ -71,17 +71,6 @@
|
|||
"allowing-authorizes-this-dapp": "Bu DApp'e cüzdan adresinizi alma ve Web3'ü etkinleştirme yetkisi verin.",
|
||||
"already-have-asset": "Bu öğeye zaten sahipsiniz",
|
||||
"amount": "Miktar",
|
||||
"anon-metrics-bg-activity": "Arka plan etkinliği ve dahili süreçler",
|
||||
"anon-metrics-data-is-validated": "Hassas verilerin gönderilmediğinden emin olmak için veriler genel doğrulama kurallarına göre doğrulanır.",
|
||||
"anon-metrics-ephemeral-key": "Normal sohbet anahtarınız yerine tek kullanımlık bir anahtar kullanılır",
|
||||
"anon-metrics-public-dashboard": "Tüm kullanıcıların toplu verileri herkese açıktır Genel gösterge panosunu görüntüleyin",
|
||||
"anon-metrics-removed-from-phone": "Veriler gönderildikten sonra telefonunuzdan kaldırılır",
|
||||
"anon-metrics-settings-and-prefs": "Ayarlar ve tercihler",
|
||||
"anon-metrics-usage-data-sent": "Kullanım verileri, Status' eşler arası ağ üzerinden uçtan uca şifreli olarak gönderilir",
|
||||
"anon-metrics-usage-not-linked-to-ip": "Kullanım verileri IP adresinizle ilişkilendirilemez",
|
||||
"anon-metrics-your-interactions": "Tıklamalar ve ekran görünümleri gibi uygulamayla etkileşimleriniz",
|
||||
"anonymous-usage-data": "Anonim kullanım verileri",
|
||||
"anonymous-usage-data-subtitle": "Statusu nasıl kullandığınızla ilgili anonim, uçtan uca şifrelenmiş verileri paylaşın.",
|
||||
"anyone": "Kimse",
|
||||
"appearance": "Görünüm",
|
||||
"apply": "Uygula",
|
||||
|
@ -311,7 +300,6 @@
|
|||
"copy-to-clipboard": "Kopyala",
|
||||
"copy-transaction-hash": "İşlem kimliğini kopyala",
|
||||
"cost-fee": "Maliyet \/ Ücret",
|
||||
"count-metrics-collected": "Toplanan metrik {{count}}.",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99+",
|
||||
"create": "Oluştur",
|
||||
|
@ -1384,7 +1372,6 @@
|
|||
"settings": "Ayarlar",
|
||||
"share": "Paylaş",
|
||||
"share-address": "Adresi paylaş",
|
||||
"share-anonymous-usage-data": "Anonim kullanım verilerini paylaşın",
|
||||
"share-chat": "Sohbeti paylaş",
|
||||
"share-contact-code": "Sohbet anahtarımı paylaş",
|
||||
"share-dapp-text": "Status'da kullandığım şu DApp'e göz atın: {{link}}",
|
||||
|
|
|
@ -71,17 +71,6 @@
|
|||
"allowing-authorizes-this-dapp": "允许授权此DApp以检索您的钱包地址, 并启用Web3",
|
||||
"already-have-asset": "您已有该资产",
|
||||
"amount": "金额",
|
||||
"anon-metrics-bg-activity": "后台活动和内部流程",
|
||||
"anon-metrics-data-is-validated": "数据根据公共验证规则进行验证,以确保不会发送敏感数据。",
|
||||
"anon-metrics-ephemeral-key": "使用一次性密钥而不是您的常规聊天密钥",
|
||||
"anon-metrics-public-dashboard": "所有用户的累积数据均公开 可在公共仪表板查看",
|
||||
"anon-metrics-removed-from-phone": "数据发送后会从您的手机中删除",
|
||||
"anon-metrics-settings-and-prefs": "设置和选项",
|
||||
"anon-metrics-usage-data-sent": "使用数据通过 Status 的对等网络进行端到端加密发送",
|
||||
"anon-metrics-usage-not-linked-to-ip": "使用数据无法与您的IP地址相关联",
|
||||
"anon-metrics-your-interactions": "您与应用程序的互动,如点击数据和屏幕视图",
|
||||
"anonymous-usage-data": "匿名使用数据",
|
||||
"anonymous-usage-data-subtitle": "共享匿名的端到端加密数据,了解您如何使用Status。",
|
||||
"anyone": "任何人",
|
||||
"app-commit": "应用程序提交",
|
||||
"appearance": "显示",
|
||||
|
@ -316,7 +305,6 @@
|
|||
"copy-to-clipboard": "复制",
|
||||
"copy-transaction-hash": "复制交易ID",
|
||||
"cost-fee": "成本\/费用",
|
||||
"count-metrics-collected": "{{count}}项指标已收集",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99+",
|
||||
"create": "创建",
|
||||
|
@ -1398,7 +1386,6 @@
|
|||
"settings": "设置",
|
||||
"share": "分享",
|
||||
"share-address": "分享地址",
|
||||
"share-anonymous-usage-data": "共享匿名使用数据",
|
||||
"share-chat": "分享聊天",
|
||||
"share-contact-code": "分享我的聊天码",
|
||||
"share-dapp-text": "查看我在Status上使用的这个DApp:{{link}}",
|
||||
|
|
|
@ -71,17 +71,6 @@
|
|||
"allowing-authorizes-this-dapp": "允許授權此DApp檢索您的錢包地址並啟用Web3",
|
||||
"already-have-asset": "您已經擁有此資產",
|
||||
"amount": "數目",
|
||||
"anon-metrics-bg-activity": "背景活動和內部流程",
|
||||
"anon-metrics-data-is-validated": "資料根據公共驗證規則進行驗證,以確保不會發送敏感資料。",
|
||||
"anon-metrics-ephemeral-key": "使用一次性密鑰而不是您個人的聊天密鑰",
|
||||
"anon-metrics-public-dashboard": "所有用戶的累積資料均公開,可至公共數據面板查看",
|
||||
"anon-metrics-removed-from-phone": "資料傳送後會從您的手機中刪除",
|
||||
"anon-metrics-settings-and-prefs": "設定和選項",
|
||||
"anon-metrics-usage-data-sent": "使用資料是通過 Status 的對等網路進行端到端加密發送",
|
||||
"anon-metrics-usage-not-linked-to-ip": "使用資料無法與您的 IP 地址相關聯",
|
||||
"anon-metrics-your-interactions": "您與應用程式的互動,例如點擊次數和頁面瀏覽次數",
|
||||
"anonymous-usage-data": "匿名使用資料",
|
||||
"anonymous-usage-data-subtitle": "匿名共享、端到端加密傳送有關您如何使用 Status 的資料",
|
||||
"anyone": "任何人",
|
||||
"app-commit": "App提交",
|
||||
"appearance": "版面外觀",
|
||||
|
@ -317,7 +306,6 @@
|
|||
"copy-to-clipboard": "複製",
|
||||
"copy-transaction-hash": "複製交易編號",
|
||||
"cost-fee": "支出\/交易費用",
|
||||
"count-metrics-collected": "{{count}}項指標已收集",
|
||||
"counter-9-plus": "9+",
|
||||
"counter-99-plus": "99+",
|
||||
"create": "建立",
|
||||
|
@ -1403,7 +1391,6 @@
|
|||
"settings": "設定",
|
||||
"share": "分享",
|
||||
"share-address": "分享地址",
|
||||
"share-anonymous-usage-data": "共享匿名使用資料",
|
||||
"share-chat": "分享聊天",
|
||||
"share-contact-code": "分享聊天金鑰",
|
||||
"share-dapp-text": "在Status上查看這個使用中的ÐApp: {{link}}",
|
||||
|
|
15
yarn.lock
15
yarn.lock
|
@ -4321,11 +4321,6 @@ hasha@^3.0.0:
|
|||
dependencies:
|
||||
is-stream "^1.0.1"
|
||||
|
||||
hermes-engine@0.5.2-rc1:
|
||||
version "0.5.2-rc1"
|
||||
resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.5.2-rc1.tgz#01faccf58b45f6a4592443c1acf98f0ddbd5bf36"
|
||||
integrity sha512-+cLjML2+XVSLPdEtU/b5FwtF+3yhxV8dfuviRS3MPdMxlxDlG/Iu3wFvTByOzTzWaQyPg+Q/68o5HLrL4QqJng==
|
||||
|
||||
hermes-engine@~0.5.0:
|
||||
version "0.5.1"
|
||||
resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.5.1.tgz#601115e4b1e0a17d9aa91243b96277de4e926e09"
|
||||
|
@ -7346,11 +7341,6 @@ react-native-crypto@^2.0.1:
|
|||
public-encrypt "^4.0.0"
|
||||
randomfill "^1.0.3"
|
||||
|
||||
react-native-device-info@^7.4.0:
|
||||
version "7.4.0"
|
||||
resolved "https://registry.yarnpkg.com/react-native-device-info/-/react-native-device-info-7.4.0.tgz#694deddfc6de0ff7268ff463d84693ee980c683c"
|
||||
integrity sha512-n5mrUuwUcPXAspLZcAOE+Q087yq+Gfvo8+soZIg1l7rUZUrLNWlFxFgOo/DMPNZA5vcBSv1TSGFFdiAZVHalLw==
|
||||
|
||||
react-native-dialogs@^1.0.4:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/react-native-dialogs/-/react-native-dialogs-1.1.0.tgz#8f7ee7f9d96574fc878fb7c1be101611fb4af517"
|
||||
|
@ -7437,11 +7427,6 @@ react-native-navigation@^7.27.1:
|
|||
react-lifecycles-compat "2.0.0"
|
||||
tslib "1.9.3"
|
||||
|
||||
react-native-notifications@^4.1.3:
|
||||
version "4.1.3"
|
||||
resolved "https://registry.yarnpkg.com/react-native-notifications/-/react-native-notifications-4.1.3.tgz#841e4a1542c45184a6725eaa46094acf5d1edc48"
|
||||
integrity sha512-A4SmRyfh2OlkptlJQvcQKkfnBKO1toUShmFplTkLXPNCqfpm/i4Fz+Uv+LzHSvbsU5U7EYf3JX9sfuyR06ZGPg==
|
||||
|
||||
react-native-permissions@^2.1.5:
|
||||
version "2.1.5"
|
||||
resolved "https://registry.yarnpkg.com/react-native-permissions/-/react-native-permissions-2.1.5.tgz#6cfc4f1ab1590f4952299b7cdc9698525ad540e0"
|
||||
|
|
Loading…
Reference in New Issue