Compare commits

..
63 changed files with 844 additions and 987 deletions
+2 -1
View File
@@ -33,7 +33,8 @@
android:name=".MainApplication"
android:largeHeap="true"
android:usesCleartextTraffic="true"
android:extractNativeLibs="true">
android:extractNativeLibs="true"
android:requestLegacyExternalStorage="true">
<!-- After upgrading Android Gradle Plugin to 4.2.0 and above we must get rid of `extractNativeLibs="true"`
and use`useLegacyPackaging` flag in our app's `build.gradle`-->
<meta-data android:name="commitHash" android:value="${commitHash}"/>
+1 -1
View File
@@ -22,7 +22,7 @@
# Version requirements used throughout the Gradle scripts
kotlinVersion=1.6.20
minSdkVersion=23
minSdkVersion=24
compileSdkVersion=31
targetSdkVersion=31
buildToolsVersion=31.0.0
+7
View File
@@ -75,6 +75,13 @@ abstract_target 'Status' do
# TODO : remove after upgrading to react-native 0.72.x
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', '_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION']
end
# We need to remove the predefinition of IPHONEOS_DEPLOYMENT_TARGET from RNCK lib to use our own.
case target.name
when 'ReactNativeCameraKit'
target.build_configurations.each do |config|
config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
end
end
end
end
+8 -8
View File
@@ -247,7 +247,7 @@ PODS:
- React-Core
- react-native-blur (4.3.3):
- React-Core
- react-native-cameraroll (4.0.4):
- react-native-cameraroll (5.10.0):
- React-Core
- react-native-config (1.5.0):
- react-native-config/App (= 1.5.0)
@@ -346,7 +346,7 @@ PODS:
- React-perflogger (= 0.69.10)
- ReactNativeAudioToolkit (2.0.3):
- React
- ReactNativeCameraKit (13.0.0):
- ReactNativeCameraKit (14.0.0-beta13):
- React-Core
- ReactNativeNavigation (7.27.1):
- HMSegmentedControl
@@ -468,7 +468,7 @@ DEPENDENCIES:
- react-native-background-timer (from `../node_modules/react-native-background-timer`)
- react-native-blob-util (from `../node_modules/react-native-blob-util`)
- "react-native-blur (from `../node_modules/@react-native-community/blur`)"
- "react-native-cameraroll (from `../node_modules/@react-native-community/cameraroll`)"
- "react-native-cameraroll (from `../node_modules/@react-native-camera-roll/camera-roll`)"
- react-native-config (from `../node_modules/react-native-config`)
- react-native-image-resizer (from `../node_modules/react-native-image-resizer`)
- react-native-lottie-splash-screen (from `../node_modules/react-native-lottie-splash-screen`)
@@ -584,7 +584,7 @@ EXTERNAL SOURCES:
react-native-blur:
:path: "../node_modules/@react-native-community/blur"
react-native-cameraroll:
:path: "../node_modules/@react-native-community/cameraroll"
:path: "../node_modules/@react-native-camera-roll/camera-roll"
react-native-config:
:path: "../node_modules/react-native-config"
react-native-image-resizer:
@@ -723,7 +723,7 @@ SPEC CHECKSUMS:
react-native-background-timer: 1f7d560647b40e6a60b01c452ba29c54bf581fc4
react-native-blob-util: 600972b1782380a5a7d5db61a3817ea32349dae9
react-native-blur: c6d0a1dc2b4b519f7afe3b14d8151998632b6d18
react-native-cameraroll: 88f4e62d9ecd0e1f253abe4f685474f2ea14bfa2
react-native-cameraroll: 4701ae7c3dbcd3f5e9e150ca17f250a276154b35
react-native-config: 5330c8258265c1e5fdb8c009d2cabd6badd96727
react-native-image-resizer: 2f1577efa3bc762597681f530c8e8d05ce0ceeb3
react-native-lottie-splash-screen: 068688c15dd478301fda00f8d87d7fb7d5b9a93e
@@ -750,7 +750,7 @@ SPEC CHECKSUMS:
React-runtimeexecutor: 5ebf1ddaa706bf2986123f22d2cad905443c2c5f
ReactCommon: 65754b8932ea80272714988268bbfb9f303264a5
ReactNativeAudioToolkit: de9610f323e855ac6574be8c99621f3d57c5df06
ReactNativeCameraKit: 9d46a5d7dd544ca64aa9c03c150d2348faf437eb
ReactNativeCameraKit: d95d3e19c514526a234d9f93c6db7e7f10eef9ea
ReactNativeNavigation: 94979dd1572a3f093fc85d4599360530a1bed8c8
RNCAsyncStorage: b2489b49e38c85e10ed45a888d13a2a4c7b32ea1
RNCClipboard: 8148e21ac347c51fd6cd4b683389094c216bb543
@@ -765,7 +765,7 @@ SPEC CHECKSUMS:
RNLanguages: 962e562af0d34ab1958d89bcfdb64fafc37c513e
RNPermissions: ad71dd4f767ec254f2cd57592fbee02afee75467
RNReactNativeHapticFeedback: 2566b468cc8d0e7bb2f84b23adc0f4614594d071
RNReanimated: cf1259a8cf8dfb1d7fa586ce02565fd0610da1d7
RNReanimated: b2dc21e263319892469d656dc58fc26fb03eadab
RNShare: d82e10f6b7677f4b0048c23709bd04098d5aee6c
RNStaticSafeAreaInsets: 055ddbf5e476321720457cdaeec0ff2ba40ec1b8
RNSVG: 80584470ff1ffc7994923ea135a3e5ad825546b9
@@ -777,6 +777,6 @@ SPEC CHECKSUMS:
TouchID: ba4c656d849cceabc2e4eef722dea5e55959ecf4
Yoga: d24d6184b6b85f742536bd93bd07d69d7b9bb4c1
PODFILE CHECKSUM: 4d710b4207b0fb0f6ecef4aa92bb79b716a7d13c
PODFILE CHECKSUM: 6a5f0e6776ce4ef6193032d077947117ace77a87
COCOAPODS: 1.12.0
+130 -115
View File
@@ -7932,16 +7932,16 @@
},
{
"path": "com/adobe/xmp/xmpcore/6.0.6",
"path": "com/adobe/xmp/xmpcore/6.1.11",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"xmpcore-6.0.6.pom": {
"sha1": "6a917e15f78165ed31482a339b9c6bd65900ebdd",
"sha256": "sha256-/5kclKMi2JShufIhMW1UXHtH0LP4Uf438vpECHpIoFU="
"xmpcore-6.1.11.pom": {
"sha1": "9f2a56e38f04aa222f8d5436cb07529d80cf89d2",
"sha256": "sha256-cZEYGCECwlM+kqL2fANRAmTmFgVxpzishj51cSQXMj0="
},
"xmpcore-6.0.6.jar": {
"sha1": "fb29d75ac313aed79013505b965d2378a87a9405",
"sha256": "sha256-Qy95ojgKPmW+p1TI0L4MCcaTjfrqH25hsBeEytbBjP8="
"xmpcore-6.1.11.jar": {
"sha1": "852f14101381e527e6d43339d7db1698c970436c",
"sha256": "sha256-j3AzxXm5n6DZ1t3LlEiHW15LV3w1AAInjORpl9Z4tzc="
}
}
},
@@ -8931,16 +8931,16 @@
},
{
"path": "com/drewnoakes/metadata-extractor/2.12.0",
"path": "com/drewnoakes/metadata-extractor/2.18.0",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"metadata-extractor-2.12.0.pom": {
"sha1": "1e3a24770062e3f4d6fb9b9e80b64d7aa4fdb237",
"sha256": "sha256-odxWCuxbZlaa7O5YUqun4F/iEX+660IakMXhyRJV+k4="
"metadata-extractor-2.18.0.pom": {
"sha1": "8a253b5c301e2b71ddb0ad28f3d8656d34f8781f",
"sha256": "sha256-p9E4Id81LFQz1QjswN6KDwSWOE6kggfYEhR8pZgqFZ4="
},
"metadata-extractor-2.12.0.jar": {
"sha1": "30dce2429145a41770e0d2bd0a8e8ba63f2137c8",
"sha256": "sha256-tlzqky+2RNl79mxrfUXmG2lnxyvsISb8PkyD9iWcHQU="
"metadata-extractor-2.18.0.jar": {
"sha1": "fa9fd43a28b10333108c603819810d5176d2b092",
"sha256": "sha256-R4k2H9Bji9skFVS3oMyuIF7SOWl+K3D6nK2t7WmEtWU="
}
}
},
@@ -9545,20 +9545,20 @@
},
{
"path": "com/fasterxml/jackson/core/jackson-annotations/2.15.3",
"path": "com/fasterxml/jackson/core/jackson-annotations/2.16.0-rc1",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jackson-annotations-2.15.3.pom": {
"sha1": "ff14c9fbeaec5f25b2d61490621477f5197818a2",
"sha256": "sha256-/6ZxZvvkz/NJfQzGKcIBnNDnzV7QG+xoOny/IT0DDsg="
"jackson-annotations-2.16.0-rc1.pom": {
"sha1": "a6e6361e5a7116cc24ae1cfbd76ec384b53fcc64",
"sha256": "sha256-P/CYyUC37b4fTX8mIaaNtNaofqmSlRE5Vsccisl69nI="
},
"jackson-annotations-2.15.3.jar": {
"sha1": "79baf4e605eb3bbb60b1c475d44a7aecceea1d60",
"sha256": "sha256-quhlw9iCVtYbEVI8seiL1I1bmtWFX6H8hZUE/SIEcIo="
"jackson-annotations-2.16.0-rc1.jar": {
"sha1": "0aa7db9c1afcacf3fa2358107f2a82326aa15c64",
"sha256": "sha256-24kpC38tI5Sg8EKNWpb0WprCrt/XMpM7TXdgNvbtWGg="
},
"jackson-annotations-2.15.3.module": {
"sha1": "7be6f491ea5707562778533e030f951c78f9a9b1",
"sha256": "sha256-ZBDJSzk+SU1T1WncQZOnkYeEjdtu48LuHzkkd6IQWcs="
"jackson-annotations-2.16.0-rc1.module": {
"sha1": "6b75ee9d686c52f7b7624bfceeacc5ca28a95c1b",
"sha256": "sha256-YcrFZD9QeVIPTfBkQPC/SKkxRVwMRW8wnHVItEGKElI="
}
}
},
@@ -9579,20 +9579,20 @@
},
{
"path": "com/fasterxml/jackson/core/jackson-core/2.15.3",
"path": "com/fasterxml/jackson/core/jackson-core/2.16.0-rc1",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jackson-core-2.15.3.pom": {
"sha1": "6291d6b0843755417d2bc20c2be4904dd467b836",
"sha256": "sha256-zNUAkXSDshrhg135hFuRqxGsmroIt5PS7PgtKMBp7OI="
"jackson-core-2.16.0-rc1.pom": {
"sha1": "be1f4e4e7d6b2c74859aa81edb8bbd00e701172f",
"sha256": "sha256-wOXaP11xEWp/+0BgexwoXwv81kmXDk/qfEkb4N31cLM="
},
"jackson-core-2.15.3.jar": {
"sha1": "60d600567c1862840397bf9ff5a92398edc5797b",
"sha256": "sha256-Ufq3qtUe1YhILtxQf9VCdHk2xQlNGrdu0h3bY7lrYQ0="
"jackson-core-2.16.0-rc1.jar": {
"sha1": "dba6d80eb8bfc326eaa1e72483e6d80852503e29",
"sha256": "sha256-3mlqkMaoGhFeJSu2pDkq85T6je9Da8f66CgL1mwccXI="
},
"jackson-core-2.15.3.module": {
"sha1": "cfe2c6fcdf029eb556be3e56ede868535112a856",
"sha256": "sha256-E4ApvLMrC/pwENP2RmMr3lyYwYfi8aoSChzUE/I6bCg="
"jackson-core-2.16.0-rc1.module": {
"sha1": "e948b398d5cc338a0f300fa633caf797bac121a7",
"sha256": "sha256-qyE84ApdlT2sZVSlaOw1qPOFA4AMLOt21MzD6yiwwMI="
}
}
},
@@ -9613,20 +9613,20 @@
},
{
"path": "com/fasterxml/jackson/core/jackson-databind/2.15.3",
"path": "com/fasterxml/jackson/core/jackson-databind/2.16.0-rc1",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jackson-databind-2.15.3.pom": {
"sha1": "0542b905f13dc61af5dd15d6cd9bb6cec2375d58",
"sha256": "sha256-tuPNSud9D/lQfqsc55Szqp7ieCQcZUQzO9t++8Wi5Pk="
"jackson-databind-2.16.0-rc1.pom": {
"sha1": "ffb4977a414eddab58b2d3e1fb21ab48657bcb8e",
"sha256": "sha256-1r2DJq1W9dA5yQzF/qcxetqqUB+ybEMEDn6XsNrjgW4="
},
"jackson-databind-2.15.3.jar": {
"sha1": "a734bc2c47a9453c4efa772461a3aeb273c010d9",
"sha256": "sha256-w8UzM6IXKoBni9oYA+Oc/0W+xq4+nH1PRKgexOKrGNw="
"jackson-databind-2.16.0-rc1.jar": {
"sha1": "cb84bf813891fd3a6c04518f7dce66cb7f914c12",
"sha256": "sha256-40+i+ah5zRD42Xfib4YK37XTKkxCCJRvTyPHucprgm0="
},
"jackson-databind-2.15.3.module": {
"sha1": "d4d12bf39a3c3560d0a69b6b05adab2182f1da44",
"sha256": "sha256-UbqNcfWgSudo6EyR1O3wmh/IvBJEsDvU+bBguPs5VhU="
"jackson-databind-2.16.0-rc1.module": {
"sha1": "9d6a30d78b30fea5a62cc629addef1dd2f8ffa21",
"sha256": "sha256-wyMhPyOKnSQHiUQZW721rnteq9WNAfZ46HClETqgDiE="
}
}
},
@@ -9658,12 +9658,12 @@
},
{
"path": "com/fasterxml/jackson/jackson-base/2.15.3",
"path": "com/fasterxml/jackson/jackson-base/2.16.0-rc1",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jackson-base-2.15.3.pom": {
"sha1": "0da5901e059a4accee9e1dbbe41f395a586fcad7",
"sha256": "sha256-QpA0Kr8LDkVnMi/7LQw24lsKh6IXu1azVoCo3Y+NZuQ="
"jackson-base-2.16.0-rc1.pom": {
"sha1": "b0ea2e74cd9077f6394d6c745d84aab9d35436df",
"sha256": "sha256-Xihgwy19do1PsQLQZz7D+aZ1NJBalQNh1yqKdkvPQXM="
}
}
},
@@ -9680,12 +9680,12 @@
},
{
"path": "com/fasterxml/jackson/jackson-bom/2.15.3",
"path": "com/fasterxml/jackson/jackson-bom/2.16.0-rc1",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jackson-bom-2.15.3.pom": {
"sha1": "1b221d661c2943cccc45acfffd41c07d10963494",
"sha256": "sha256-ZvyZRcFnFrwgL0udfm2WnfP1Cf7/vhrPGjFRG3U9XJ0="
"jackson-bom-2.16.0-rc1.pom": {
"sha1": "9f0aa2b767de8428e4151cc86793a6892cf0b22a",
"sha256": "sha256-oNo29tts8XhCSM+qZ/HXxjNZYTdoEU4Q5MtImXBefZw="
}
}
},
@@ -9702,12 +9702,12 @@
},
{
"path": "com/fasterxml/jackson/jackson-parent/2.15",
"path": "com/fasterxml/jackson/jackson-parent/2.16-rc1",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jackson-parent-2.15.pom": {
"sha1": "caffbeb9be9350780ad5407789f43664906042ec",
"sha256": "sha256-bN+XvGbzifY+NoUNL1UtEhZoj45aWHJ9P2qY7fhnXN4="
"jackson-parent-2.16-rc1.pom": {
"sha1": "b0b57e481f46e394aa45a2b164af9ad92dd4946b",
"sha256": "sha256-y0Fkj+L5t6Sa19QTaK50D+iHvEs/NQJO2iUayQQ20ss="
}
}
},
@@ -9724,12 +9724,12 @@
},
{
"path": "com/fasterxml/jackson/module/jackson-modules-base/2.15.3",
"path": "com/fasterxml/jackson/module/jackson-modules-base/2.16.0-rc1",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jackson-modules-base-2.15.3.pom": {
"sha1": "696c8c2635ca5e18809afc24b2c92cff0e930880",
"sha256": "sha256-lhtdELjxVWdSYRkED+Jo9lXQwDF01awJpgJO3IMPWe4="
"jackson-modules-base-2.16.0-rc1.pom": {
"sha1": "449a9b459071042c2d5e3eef698b7435ec7a22d0",
"sha256": "sha256-p7KoYdmdDHItUNIOnfQbO5XcXCMXXMpnK+zHqKPwIow="
}
}
},
@@ -9750,20 +9750,20 @@
},
{
"path": "com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.15.3",
"path": "com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.16.0-rc1",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jackson-module-jaxb-annotations-2.15.3.pom": {
"sha1": "2d4fdcbe0f7dda2e7396f3757be75117112ba532",
"sha256": "sha256-CUbzJZy+BHolxbVxl3AThdbnteWh+KVrml9dnLT/VYE="
"jackson-module-jaxb-annotations-2.16.0-rc1.pom": {
"sha1": "7cfdd570dea65bb1144cd3280ced0a3359c3a3b3",
"sha256": "sha256-uKkIWZvE6M4xvGiR9cMyPkp6HEucG1kpueJWw0cQjv4="
},
"jackson-module-jaxb-annotations-2.15.3.jar": {
"sha1": "74e8ef60b65b42051258465f06c06195e61e92f2",
"sha256": "sha256-UqDcjpIm04QXmg6chORajQDNup6akvkT6z9PmdqDYno="
"jackson-module-jaxb-annotations-2.16.0-rc1.jar": {
"sha1": "04c27538836a829dcd0f38baf55b4b65eb34283b",
"sha256": "sha256-bXNKNWyTupzAINnzsvgdaP2SUldbIepfLVWWlBbNAsg="
},
"jackson-module-jaxb-annotations-2.15.3.module": {
"sha1": "23d97c5e6a045d87c06e10ae16e0fb57e8367846",
"sha256": "sha256-sbbt714pCVO5k/JYnOUSC+XLBPObuUwZZ376q5ZQ9FI="
"jackson-module-jaxb-annotations-2.16.0-rc1.module": {
"sha1": "65e9ab1a8205e6f8eb8d4652b52c321b2d8b2555",
"sha256": "sha256-7CPt/ZsEE4S6IcZYxd7iiM5js21tdflUkb+lEPMyDPg="
}
}
},
@@ -9795,12 +9795,12 @@
},
{
"path": "com/fasterxml/oss-parent/50",
"path": "com/fasterxml/oss-parent/55",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"oss-parent-50.pom": {
"sha1": "2e5ec5928fa4a136254d3dfeb8c56f47b049d8ed",
"sha256": "sha256-9dpV3XuI+xcMRoAdF3dKZS+y9FgftbHQpfyGqhgrhXc="
"oss-parent-55.pom": {
"sha1": "24ad110e0e507856ae662736d6c6ef5b101a1689",
"sha256": "sha256-D14Y8rNev22Dn3/VSZcog/aWwhD5rjIwr9LCC6iGwE0="
}
}
},
@@ -12027,12 +12027,12 @@
},
{
"path": "com/sun/xml/bind/jaxb-bom-ext/4.0.3",
"path": "com/sun/xml/bind/jaxb-bom-ext/4.0.4",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jaxb-bom-ext-4.0.3.pom": {
"sha1": "5838d8e4fa9335d67d5b9c092a4a80c1e67b2dad",
"sha256": "sha256-SkQftgU/yfRooSve6hy48Efq9kNzA34/BJrUMEJ/0PA="
"jaxb-bom-ext-4.0.4.pom": {
"sha1": "43e647d464b91a7a232e6c49510598d1476cdfe1",
"sha256": "sha256-AMvdv+7k5Y3pmhnrbrBCS5K8YBttoP+JXcAYPpbsdLM="
}
}
},
@@ -12071,12 +12071,12 @@
},
{
"path": "com/sun/xml/bind/mvn/jaxb-parent/4.0.3",
"path": "com/sun/xml/bind/mvn/jaxb-parent/4.0.4",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jaxb-parent-4.0.3.pom": {
"sha1": "ce4f3532ee7c0e092605b7b43cc3640999927af7",
"sha256": "sha256-6WIwlX8fVlh/nP25dKNr7XcH6JYWtakKknss99NHZ28="
"jaxb-parent-4.0.4.pom": {
"sha1": "2846b11dfea85e485a63ce6cbc1c30bf4fdd812e",
"sha256": "sha256-5+klMqRcmhpIc2y2goem8e97ey/u1ljUmf3M18ofqts="
}
}
},
@@ -12148,12 +12148,12 @@
},
{
"path": "com/sun/xml/bind/mvn/jaxb-txw-parent/4.0.3",
"path": "com/sun/xml/bind/mvn/jaxb-txw-parent/4.0.4",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jaxb-txw-parent-4.0.3.pom": {
"sha1": "be33bd0d60d44f50811c22405c29e56f82d7ecd0",
"sha256": "sha256-hU4ErXwT/9tlUbKQ6apsCN10JQdTvMgB4HZVB9EYfXw="
"jaxb-txw-parent-4.0.4.pom": {
"sha1": "e2f336db2b61a4474b0363c6a86a8bca4342deb8",
"sha256": "sha256-4ROP8PpMBot6RjWoE5ZkKuDgdRqSGj/aE8QenwL7I6w="
}
}
},
@@ -12204,16 +12204,16 @@
},
{
"path": "com/sun/xml/fastinfoset/FastInfoset/2.1.0",
"path": "com/sun/xml/fastinfoset/FastInfoset/2.1.1",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"FastInfoset-2.1.0.pom": {
"sha1": "8a3328cc394e06c71de7147d4b8954f5fb3c4326",
"sha256": "sha256-kLnl6oTboVRq9G+7YyYZ8llaMvwGCQ0uwJXao7MtqZc="
"FastInfoset-2.1.1.pom": {
"sha1": "85420a8093b72919bd47f0e4ca8abf2274c3797c",
"sha256": "sha256-Sf3LDhtzh1Ln2kuljnpenkhskI8ZuFNTVQadrvq3On4="
},
"FastInfoset-2.1.0.jar": {
"sha1": "cd92e93ef4ee608bffe4ba41b1247846a3d42227",
"sha256": "sha256-uWgWGqtr6x6hpKYqPYS112LWJoH3ziPPAwSZFdl0jSE="
"FastInfoset-2.1.1.jar": {
"sha1": "650c84348bbcf4461bd24d38e67f7a7ce687de24",
"sha256": "sha256-ddZjXgkQHvFUXZpZu02VJOxr8VJGVAr1Q1dQ8nFhJ2U="
}
}
},
@@ -12252,12 +12252,12 @@
},
{
"path": "com/sun/xml/fastinfoset/fastinfoset-project/2.1.0",
"path": "com/sun/xml/fastinfoset/fastinfoset-project/2.1.1",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"fastinfoset-project-2.1.0.pom": {
"sha1": "170bbdc773e5317f258728a71a4629e6ee17a0d1",
"sha256": "sha256-zCQMIUxrJpsvx459lRp1YRd5X0PRUts686i+shjve+o="
"fastinfoset-project-2.1.1.pom": {
"sha1": "64c42818f61c961fd357788a0e8287369358258d",
"sha256": "sha256-HoDvsaCRWw+GJrp11ylrXxuwJpoKL51zh62Zh/duTAk="
}
}
},
@@ -15599,12 +15599,12 @@
},
{
"path": "org/glassfish/jaxb/jaxb-bom/4.0.3",
"path": "org/glassfish/jaxb/jaxb-bom/4.0.4",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jaxb-bom-4.0.3.pom": {
"sha1": "53d62c7214b0bece9a644e50df2a7d2aa37e0db8",
"sha256": "sha256-Zg8EhAYlliYXiumpcrA86VFmXDPDM8q0U7EXi40NJBU="
"jaxb-bom-4.0.4.pom": {
"sha1": "d1830dd5724a8e016bc02f09b67da8d92def48af",
"sha256": "sha256-FuRpMAtWNmdun7N52twbuY9B98O4ajCuSTjp5NSBLfw="
}
}
},
@@ -15625,16 +15625,16 @@
},
{
"path": "org/glassfish/jaxb/jaxb-core/4.0.3",
"path": "org/glassfish/jaxb/jaxb-core/4.0.4",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jaxb-core-4.0.3.pom": {
"sha1": "0ed53eb2323c424a024c5b87c7a217f282d43dda",
"sha256": "sha256-crhKVGcO3sRAUgH3Heo7C/aYJbrkFjNtfzFAbGnHoyc="
"jaxb-core-4.0.4.pom": {
"sha1": "bebde7111ac1bc5789b3bdd1cbbe779ca536a727",
"sha256": "sha256-TpWVc9NJxkOGq2ayYB7etV008XURTVvIKdi2gXU1+pQ="
},
"jaxb-core-4.0.3.jar": {
"sha1": "e9093b4a82069a1d78ee9a3233ca387bca88861f",
"sha256": "sha256-1tdcQidSaE+/BN10ohaY/q4OSkBsKJK1rwLSPcl7KsY="
"jaxb-core-4.0.4.jar": {
"sha1": "2d5aadd02af86f1e9d8c6f7e8501673f915d4e25",
"sha256": "sha256-ARKiZiNGD7TfWgoptmPyrf5+lYTrE4rgR7WiHJRX8Nc="
}
}
},
@@ -15730,16 +15730,16 @@
},
{
"path": "org/glassfish/jaxb/txw2/4.0.3",
"path": "org/glassfish/jaxb/txw2/4.0.4",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"txw2-4.0.3.pom": {
"sha1": "998f7a3836d5e44d6fdce01e3c67d8fe01ca6f43",
"sha256": "sha256-i4TetIZ5zAQrPL7GjXA9+c6May+SOdqKKOPKqp7a1Nk="
"txw2-4.0.4.pom": {
"sha1": "8202a6876a73122a6349569a327508713d849fcf",
"sha256": "sha256-rPArplfsukbSZyFAfOj3Vl1NBPpFwTt0QXoVT7Qm9SA="
},
"txw2-4.0.3.jar": {
"sha1": "47b8fe31c6d1a3382203af919400527389e01e9c",
"sha256": "sha256-3welGAG5leRK7JqV74ddlfu43ih0QX3mBm2E9zHLnpw="
"txw2-4.0.4.jar": {
"sha1": "cfd2bcf08782673ac370694fdf2cf76dbaa607ef",
"sha256": "sha256-Mue9UXjinyKU0D0nk8QeVOUjWLarlc0TQ/JsHCsnQic="
}
}
},
@@ -18162,6 +18162,21 @@
}
},
{
"path": "org/junit/junit-bom/5.9.3",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"junit-bom-5.9.3.pom": {
"sha1": "b1874b6a66656e4f5e4b492ab321249bcb749dc7",
"sha256": "sha256-TQMpzZ5y8kIOXKFXJMv+b/puX9KIg2FRYnEZD9w0Ltc="
},
"junit-bom-5.9.3.module": {
"sha1": "d70d3d9a503c573e648ef70fb2e211fbe44aa63e",
"sha256": "sha256-tAH9JZAeWCpSSqU0PEs54ovFbiSWHBBpvytLv87ka5M="
}
}
},
{
"path": "org/junit/junit-bom/5.10.0",
"repo": "https://repo.maven.apache.org/maven2",
+2 -2
View File
@@ -117,7 +117,7 @@ commons-codec:commons-codec:1.11
commons-io:commons-io:2.4
commons-logging:commons-logging:1.1.1
commons-logging:commons-logging:1.2
com.adobe.xmp:xmpcore:6.0.6
com.adobe.xmp:xmpcore:6.1.11
com.afollestad.material-dialogs:commons:0.9.6.0
com.afollestad.material-dialogs:core:0.9.6.0
com.airbnb.android:lottie:3.4.4
@@ -444,7 +444,7 @@ com.diffplug.durian:durian-io:1.2.0
com.diffplug.spotless:spotless-lib-extra:2.30.0
com.diffplug.spotless:spotless-lib:2.30.0
com.diffplug.spotless:spotless-plugin-gradle:6.11.0
com.drewnoakes:metadata-extractor:2.12.0
com.drewnoakes:metadata-extractor:2.18.0
com.facebook.conceal:conceal:1.1.3
com.facebook.fbjni:fbjni-java-only:0.2.2
com.facebook.fresco:animated-base:2.5.0
+20 -19
View File
@@ -498,7 +498,7 @@ https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.16.0/commons-
https://repo.maven.apache.org/maven2/commons-io/commons-io/2.4/commons-io-2.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/6.0.6/xmpcore-6.0.6.pom
https://repo.maven.apache.org/maven2/com/adobe/xmp/xmpcore/6.1.11/xmpcore-6.1.11.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/airbnb/android/lottie/3.4.4/lottie-3.4.4.pom
@@ -563,7 +563,7 @@ https://repo.maven.apache.org/maven2/com/diffplug/durian/durian-io/1.2.0/durian-
https://repo.maven.apache.org/maven2/com/diffplug/spotless/spotless-lib-extra/2.30.0/spotless-lib-extra-2.30.0.pom
https://repo.maven.apache.org/maven2/com/diffplug/spotless/spotless-lib/2.30.0/spotless-lib-2.30.0.pom
https://repo.maven.apache.org/maven2/com/diffplug/spotless/spotless-plugin-gradle/6.11.0/spotless-plugin-gradle-6.11.0.pom
https://repo.maven.apache.org/maven2/com/drewnoakes/metadata-extractor/2.12.0/metadata-extractor-2.12.0.pom
https://repo.maven.apache.org/maven2/com/drewnoakes/metadata-extractor/2.18.0/metadata-extractor-2.18.0.pom
https://repo.maven.apache.org/maven2/com/facebook/conceal/conceal/1.1.3/conceal-1.1.3.pom
https://repo.maven.apache.org/maven2/com/facebook/fbjni/fbjni-java-only/0.2.2/fbjni-java-only-0.2.2.pom
https://repo.maven.apache.org/maven2/com/facebook/fresco/animated-base/2.5.0/animated-base-2.5.0.pom
@@ -593,25 +593,25 @@ https://repo.maven.apache.org/maven2/com/facebook/soloader/soloader/0.10.1/soloa
https://repo.maven.apache.org/maven2/com/facebook/soloader/soloader/0.10.3/soloader-0.10.3.pom
https://repo.maven.apache.org/maven2/com/facebook/yoga/proguard-annotations/1.19.0/proguard-annotations-1.19.0.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.11.1/jackson-annotations-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.15.3/jackson-annotations-2.15.3.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.16.0-rc1/jackson-annotations-2.16.0-rc1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.11.1/jackson-core-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.15.3/jackson-core-2.15.3.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.16.0-rc1/jackson-core-2.16.0-rc1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.11.1/jackson-databind-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.15.3/jackson-databind-2.15.3.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.16.0-rc1/jackson-databind-2.16.0-rc1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-xml/2.11.1/jackson-dataformat-xml-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-base/2.11.1/jackson-base-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-base/2.15.3/jackson-base-2.15.3.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-base/2.16.0-rc1/jackson-base-2.16.0-rc1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-bom/2.11.1/jackson-bom-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-bom/2.15.3/jackson-bom-2.15.3.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-bom/2.16.0-rc1/jackson-bom-2.16.0-rc1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-parent/2.11/jackson-parent-2.11.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-parent/2.15/jackson-parent-2.15.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-parent/2.16-rc1/jackson-parent-2.16-rc1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-modules-base/2.11.1/jackson-modules-base-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-modules-base/2.15.3/jackson-modules-base-2.15.3.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-modules-base/2.16.0-rc1/jackson-modules-base-2.16.0-rc1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.11.1/jackson-module-jaxb-annotations-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.15.3/jackson-module-jaxb-annotations-2.15.3.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.16.0-rc1/jackson-module-jaxb-annotations-2.16.0-rc1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-module-kotlin/2.11.1/jackson-module-kotlin-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/oss-parent/38/oss-parent-38.pom
https://repo.maven.apache.org/maven2/com/fasterxml/oss-parent/50/oss-parent-50.pom
https://repo.maven.apache.org/maven2/com/fasterxml/oss-parent/55/oss-parent-55.pom
https://repo.maven.apache.org/maven2/com/fasterxml/woodstox/woodstox-core/6.2.1/woodstox-core-6.2.1.pom
https://repo.maven.apache.org/maven2/com/github/bumptech/glide/annotations/4.12.0/annotations-4.12.0.pom
https://repo.maven.apache.org/maven2/com/github/bumptech/glide/compiler/4.12.0/compiler-4.12.0.pom
@@ -771,26 +771,26 @@ https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons/4.2.0/istack-
https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/2.2.11/jaxb-bom-ext-2.2.11.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/2.3.1/jaxb-bom-ext-2.3.1.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/2.3.2/jaxb-bom-ext-2.3.2.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/4.0.3/jaxb-bom-ext-4.0.3.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/4.0.4/jaxb-bom-ext-4.0.4.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/2.2.11/jaxb-parent-2.2.11.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/2.3.1/jaxb-parent-2.3.1.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/2.3.2/jaxb-parent-2.3.2.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/4.0.3/jaxb-parent-4.0.3.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/4.0.4/jaxb-parent-4.0.4.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-runtime-parent/2.2.11/jaxb-runtime-parent-2.2.11.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-runtime-parent/2.3.1/jaxb-runtime-parent-2.3.1.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-runtime-parent/2.3.2/jaxb-runtime-parent-2.3.2.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-txw-parent/2.2.11/jaxb-txw-parent-2.2.11.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-txw-parent/2.3.1/jaxb-txw-parent-2.3.1.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-txw-parent/2.3.2/jaxb-txw-parent-2.3.2.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-txw-parent/4.0.3/jaxb-txw-parent-4.0.3.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-txw-parent/4.0.4/jaxb-txw-parent-4.0.4.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/FastInfoset/1.2.13/FastInfoset-1.2.13.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/FastInfoset/1.2.15/FastInfoset-1.2.15.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/FastInfoset/1.2.16/FastInfoset-1.2.16.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/FastInfoset/2.1.0/FastInfoset-2.1.0.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/FastInfoset/2.1.1/FastInfoset-2.1.1.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/fastinfoset-project/1.2.13/fastinfoset-project-1.2.13.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/fastinfoset-project/1.2.15/fastinfoset-project-1.2.15.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/fastinfoset-project/1.2.16/fastinfoset-project-1.2.16.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/fastinfoset-project/2.1.0/fastinfoset-project-2.1.0.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/fastinfoset-project/2.1.1/fastinfoset-project-2.1.1.pom
https://repo.maven.apache.org/maven2/com/tunnelvisionlabs/antlr4-annotations/4.5/antlr4-annotations-4.5.pom
https://repo.maven.apache.org/maven2/com/tunnelvisionlabs/antlr4-annotations/4.9.0/antlr4-annotations-4.9.0.pom
https://repo.maven.apache.org/maven2/com/tunnelvisionlabs/antlr4-master/4.5/antlr4-master-4.5.pom
@@ -1031,16 +1031,16 @@ https://repo.maven.apache.org/maven2/org/eclipse/jgit/org.eclipse.jgit/5.13.1.20
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/2.3.1/jaxb-bom-2.3.1.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/2.3.2/jaxb-bom-2.3.2.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/4.0.3/jaxb-bom-4.0.3.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/4.0.4/jaxb-bom-4.0.4.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-core/2.2.11/jaxb-core-2.2.11.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-core/4.0.3/jaxb-core-4.0.3.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-core/4.0.4/jaxb-core-4.0.4.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-runtime/2.2.11/jaxb-runtime-2.2.11.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-runtime/2.3.1/jaxb-runtime-2.3.1.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-runtime/2.3.2/jaxb-runtime-2.3.2.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/2.2.11/txw2-2.2.11.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/2.3.1/txw2-2.3.1.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/2.3.2/txw2-2.3.2.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/4.0.3/txw2-4.0.3.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/4.0.4/txw2-4.0.4.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-parent/1.3/hamcrest-parent-1.3.pom
@@ -1199,6 +1199,7 @@ https://repo.maven.apache.org/maven2/org/json/json/20180813/json-20180813.pom
https://repo.maven.apache.org/maven2/org/json/json/20231013/json-20231013.pom
https://repo.maven.apache.org/maven2/org/jsoup/jsoup/1.13.1/jsoup-1.13.1.pom
https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.9.2/junit-bom-5.9.2.pom
https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.9.3/junit-bom-5.9.3.pom
https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.10.0/junit-bom-5.10.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/1.8.1/stax-ex-1.8.1.pom
+2 -2
View File
@@ -10,9 +10,9 @@
"dependencies": {
"@babel/preset-typescript": "^7.17.12",
"@react-native-async-storage/async-storage": "^1.17.9",
"@react-native-camera-roll/camera-roll": "git+https://github.com/status-im/react-native-camera-roll.git#refs/tags/v5.1.1.1",
"@react-native-community/audio-toolkit": "git+https://github.com/tbenr/react-native-audio-toolkit.git#refs/tags/v2.0.3-status-v6",
"@react-native-community/blur": "git+https://github.com/status-im/react-native-blur#refs/tags/v4.3.3-status",
"@react-native-community/cameraroll": "git+https://github.com/status-im/react-native-cameraroll.git#refs/tags/v4.0.4-status.0",
"@react-native-community/clipboard": "^1.2.2",
"@react-native-community/hooks": "^3.0.0",
"@react-native-community/masked-view": "^0.1.6",
@@ -34,7 +34,7 @@
"react-native": "0.69.10",
"react-native-background-timer": "^2.1.1",
"react-native-blob-util": "^0.13.18",
"react-native-camera-kit": "^13.0.0",
"react-native-camera-kit": "14.0.0-beta13",
"react-native-config": "^1.5.0",
"react-native-dialogs": "^1.0.4",
"react-native-draggable-flatlist": "^4.0.1",
BIN
View File
Binary file not shown.
+3 -2
View File
@@ -346,7 +346,8 @@
(clj->js {:BlurView {}}))
(def react-native-camera-roll
(clj->js {:default #js {}}))
(clj->js {:default #js {}
:CameraRoll #js {}}))
(def react-native-orientation-locker
(clj->js {:default #js {}
@@ -410,7 +411,7 @@
"react-native-navigation" react-native-navigation
"@react-native-community/push-notification-ios" push-notification-ios
"@react-native-community/blur" react-native-blur
"@react-native-community/cameraroll" react-native-camera-roll
"@react-native-camera-roll/camera-roll" react-native-camera-roll
"react-native-camera-kit" react-native-camera-kit
"react-native-permissions" react-native-permissions
"rn-emoji-keyboard" rn-emoji-keyboard
+1 -1
View File
@@ -37,6 +37,6 @@
:color icon-color}]]
[rn/image
{:source icon
:style {:width 32 :height 32}}])))
:style {:width component-size :height component-size}}])))
(def icon-avatar (quo.theme/with-theme icon-avatar-internal))
+10 -10
View File
@@ -3,7 +3,7 @@
[clojure.string :as string]
[quo.components.community.style :as style]
[quo.components.markdown.text :as text]
[quo.components.tags.token-tag :as token-tag]
[quo.components.tags.token-tag.view :as token-tag]
[quo.theme :as quo.theme]
[react-native.core :as rn]
[utils.i18n :as i18n]))
@@ -14,17 +14,17 @@
{:style (style/token-row padding?)}
(doall
(map-indexed (fn [token-index token]
(let [{:keys [img-src amount sufficient? purchasable? loading?]} token]
(let [{:keys [img-src amount sufficient? purchasable?]} token]
^{:key token-index}
[rn/view {:style style/token-tag-spacing}
[token-tag/token-tag
{:symbol (:symbol token)
:value amount
:size 24
:sufficient? sufficient?
:purchasable purchasable?
:loading? loading?
:img-src img-src}]]))
[token-tag/view
{:token-symbol (:symbol token)
:token-value amount
:size :size-24
:options (cond
sufficient? :hold
purchasable? :add)
:token-img-src img-src}]]))
tokens))])
(defn- internal-view
@@ -20,4 +20,11 @@
:button-one-label button-one
:button-two-label button-two}])
(h/is-truthy (h/get-by-text button-one))
(h/is-truthy (h/get-by-text button-two)))))
(h/is-truthy (h/get-by-text button-two))))
(h/test "render disabled button"
(h/render [bottom-actions/view
{:description "Sample description"
:disabled? true
:button-one-label "button"}])
(h/is-disabled (h/get-by-label-text :button-one))))
@@ -26,7 +26,7 @@
[props]
(let [{:keys [actions description button-one-label button-two-label
button-one-press button-two-press theme
scroll? button-one-type button-two-type]}
scroll? button-one-type button-two-type disabled?]}
(merge default-props props)]
[:<>
[rn/view {:style style/buttons-container}
@@ -38,11 +38,13 @@
:type button-two-type
:on-press button-two-press} button-two-label])
[button/button
{:size 40
:container-style style/button-container
:type button-one-type
:background (when scroll? :blur)
:on-press button-one-press} button-one-label]]
{:size 40
:container-style style/button-container
:type button-one-type
:disabled? disabled?
:background (when scroll? :blur)
:on-press button-one-press
:accessibility-label :button-one} button-one-label]]
(when description
[text/text
{:size :paragraph-2
@@ -95,25 +95,12 @@
notification-count
activity-center-on-press
scan-on-press
qr-code-on-press
for-qa-only-cellular-network
for-qa-only-no-network
for-qa-only-network-type]
qr-code-on-press]
:as props}]
(let [button-common-props (get-button-common-props {:theme theme
:jump-to? jump-to?
:blur? blur?})]
[rn/view {:style style/right-section}
(when (= for-qa-only-network-type "cellular")
[button/button
(merge (dissoc button-common-props :icon-only?)
for-qa-only-cellular-network)
"🦄"])
(when (= for-qa-only-network-type "none")
[button/button
(merge (dissoc button-common-props :icon-only?)
for-qa-only-no-network)
"💀"])
[button/button
(assoc button-common-props :accessibility-label :open-scanner-button :on-press scan-on-press)
:i/scan]
@@ -160,8 +147,5 @@
:qr-code-on-press callback
:notification-count number
:max-unread-notifications used to specify max number for counter
:for-qa-only-cellular-network used for testing purposed
:for-qa-only-no-network used for testing purposed
:for-qa-only-network-type used for testing purposed
"
(quo.theme/with-theme view-internal))
@@ -9,12 +9,13 @@
(defn- category-internal
[{:keys [label data blur? theme]}]
[rn/view {:style style/container}
[text/text
{:weight :medium
:size :paragraph-2
:style {:color (colors/theme-colors colors/neutral-50 colors/neutral-40 theme)}}
label]
[rn/view {:style (style/container label)}
(when label
[text/text
{:weight :medium
:size :paragraph-2
:style {:color (colors/theme-colors colors/neutral-50 colors/neutral-40 theme)}}
label])
[rn/flat-list
{:data data
:style (style/settings-items theme blur?)
@@ -2,11 +2,12 @@
(:require
[quo.foundations.colors :as colors]))
(def container
(defn container
[label]
{:left 0
:right 0
:padding-horizontal 20
:padding-top 12
:padding-top (when label 12)
:padding-bottom 8})
(defn settings-items
@@ -97,7 +97,9 @@
{:type :outline
:size 24})
(:button-text action-props)]
:selector [selectors/toggle action-props]
:selector (if (= (:type action-props) :checkbox)
[selectors/checkbox action-props]
[selectors/toggle action-props])
nil)])
(defn- internal-view
-124
View File
@@ -1,124 +0,0 @@
(ns quo.components.tags.token-tag
(:require
[quo.components.icon :as icons]
[quo.components.markdown.text :as text]
[quo.foundations.colors :as colors]
[quo.theme :as theme]
[react-native.core :as rn]))
(def themes
{:light {:background-color colors/neutral-20}
:dark {:background-color colors/neutral-80}})
(defn get-value-from-size
[size big-option small-option]
(if (= size :big) big-option small-option))
(def icon-container-styles
{:display :flex
:align-items :center
:justify-content :center
:position :absolute
:border-radius 20
:margin-left 2})
(defn tag-container
[size]
{:height (get-value-from-size size 32 24)
:align-items :center
:flex-direction :row
:border-radius 20})
(defn tag
"[tag opts \"label\"]]
opts
{
:size :small/:big
:token-img-src :token-img-src
:token-img-style {}
:border-color :color
:overlay child-elements
}"
[_ _]
(fn [{:keys [size img-src img-style border-color overlay]
:or {size :small}}
label]
[rn/view
{:style (when border-color
{:border-color border-color
:border-radius 20
:border-width 1})}
[rn/view
{:style (merge (tag-container size) (get themes (theme/get-theme)))}
[rn/image
{:src img-src
:style (merge
{:height (get-value-from-size size 28 20)
:width (get-value-from-size size 28 20)
:margin-left 2
:margin-right (get-value-from-size size 8 6)}
img-style)}]
[text/text
{:weight :medium
:number-of-lines 1
:style
{:margin-right (get-value-from-size size 12 11)}
:size (get-value-from-size size :paragraph-2 :label)} label]
overlay]]))
(defn loading-icon
[]
[rn/view
{:style {:align-items :center
:justify-content :center
:position :absolute
:right -8
:top -8}}
[icons/icon :t/checktoken
{:no-color true
:size 20}]])
(defn icon
[size border-color sufficient?]
[rn/view
{:style (merge
icon-container-styles
{:background-color border-color
:border-color (if (= (theme/get-theme) :dark) colors/neutral-100 colors/white)
:border-width 1
:right (get-value-from-size size -3.75 -5.75)
:bottom (get-value-from-size size (- 32 7.75 4) (- 24 7.75 2))})}
[icons/icon (if sufficient? :i/hold :i/add)
{:no-color true
:size 12}]])
(defn token-tag
"[token-tag opts]
opts
{
:symbol string
:value string
:size :small/:big
:token-img-src :token-img-src
:border-color :color
:sufficient? true/false
:purchasable? true/false
:loading? true/false
}"
[_ _]
(fn [{:keys [value size img-src border-color purchasable? sufficient? loading?]
:or {size :small}
:as props}]
(let [sym (:symbol props)
sufficient? (when-not loading? sufficient?)
border-color (if sufficient? colors/success-50 border-color)]
[tag
{:size size
:img-src img-src
:border-color (if sufficient? colors/success-50 border-color)
:overlay
(if loading?
[loading-icon]
(when (or purchasable? sufficient?)
[icon size border-color sufficient?]))}
(str value " " sym)])))
@@ -0,0 +1,49 @@
(ns quo.components.tags.token-tag.style
(:require [quo.foundations.colors :as colors]))
(defn container
[size options blur? theme]
(let [hold? (= options :hold)]
(merge {:background-color (if blur?
(colors/theme-colors colors/neutral-80-opa-5 colors/white-opa-5 theme)
(colors/theme-colors colors/neutral-10 colors/neutral-90 theme))
:flex-direction :row
:align-items :center
:padding-left 2
:border-width (if hold? 1 0)
:border-radius 20
:border-color (colors/theme-colors colors/success-50 colors/success-60 theme)}
(condp = size
:size-24 {:height (if hold? 26 24)
:padding-right 10
:border-radius (if hold? 13 12)}
:size-32 {:height (if hold? 34 32)
:padding-right 12
:border-radius (if hold? 17 16)}))))
(defn options-icon
[size]
(assoc
(condp = size
:size-24 {:right -8
:top -8}
:size-32 {:right -6
:top -6})
:position
:absolute))
(defn token-img
[size]
(condp = size
:size-24 {:width 20
:height 20
:margin-right 6
:border-radius 10}
:size-32 {:width 28
:height 28
:margin-right 8
:border-radius 14}))
(defn label
[theme]
{:color (colors/theme-colors colors/neutral-100 colors/white theme)})
@@ -0,0 +1,57 @@
(ns quo.components.tags.token-tag.view
(:require
[oops.core :refer [oget]]
[quo.components.icon :as icons]
[quo.components.markdown.text :as text]
[quo.components.tags.token-tag.style :as style]
[quo.theme :as quo.theme]
[react-native.core :as rn]
[react-native.hole-view :as hole-view]
[reagent.core :as reagent]))
(defn- view-internal
"Options:
- :options - false / :add / :hold (default false)
- :size - :size-24 / :size-32 (default :size-24)
- :blur? - boolean (default false)
- :theme - :light / :dark
- :token-img-src - token image source
- :token-value - string - token value
- :token-symbol - string"
[]
(let [container-width (reagent/atom 0)]
(fn [{:keys [options size blur? theme token-img-src token-value token-symbol]
:or {size :size-24}}]
[rn/view
{:on-layout #(reset! container-width
(oget % :nativeEvent :layout :width))}
[hole-view/hole-view
{:holes (if options
[{:x (- @container-width
(condp = size
:size-24 10
:size-32 12))
:y (condp = size
:size-24 -6
:size-32 -4)
:width 16
:height 16
:borderRadius 8}]
[])}
[rn/view
{:style (style/container size options blur? theme)}
[rn/image
{:style (style/token-img size)
:source token-img-src}]
[text/text
{:size :paragraph-2
:weight :medium
:style (style/label theme)}
(str token-value " " token-symbol)]]]
(when options
[rn/view {:style (style/options-icon size)}
[icons/icon (if (= options :hold) :i/hold :i/add-token)
{:size 20
:no-color true}]])])))
(def view (quo.theme/with-theme view-internal))
+2 -2
View File
@@ -132,7 +132,7 @@
quo.components.tags.tag
quo.components.tags.tags
quo.components.tags.tiny-tag.view
quo.components.tags.token-tag
quo.components.tags.token-tag.view
quo.components.text-combinations.view
quo.components.wallet.account-card.view
quo.components.wallet.account-origin.view
@@ -360,7 +360,7 @@
(def tag quo.components.tags.tag/tag)
(def tags quo.components.tags.tags/tags)
(def tiny-tag quo.components.tags.tiny-tag.view/view)
(def token-tag quo.components.tags.token-tag/tag)
(def token-tag quo.components.tags.token-tag.view/view)
;;;; Text combinations
(def text-combinations quo.components.text-combinations.view/view)
+7 -1
View File
@@ -1,6 +1,6 @@
(ns react-native.cameraroll
(:require
["@react-native-community/cameraroll" :as CameraRoll]
["@react-native-camera-roll/camera-roll" :refer [CameraRoll]]
[react-native.fs :as fs]
[taoensso.timbre :as log]
[utils.transforms :as transforms]))
@@ -22,3 +22,9 @@
(-> (.save CameraRoll (clj->js path))
(.then #(fs/unlink path))
(.catch #(fs/unlink path))))
(defn get-photos-count-ios
[cb]
(-> (.getPhotosCountiOS CameraRoll)
(.then #(cb %))
(.catch #(js/console.error %))))
-3
View File
@@ -20,9 +20,6 @@
(map? view)
(merge view)
(= view :mobile-network)
(merge mobile-network-settings/settings-sheet)
(= view :mobile-network-offline)
(merge mobile-network-settings/offline-sheet)
@@ -29,15 +29,6 @@
cofx
{:db (assoc db :network-status/initialized? true)}
(cond
(and logged-in?
(utils/cellular? (:network/type db))
(not remember-syncing-choice?)
(not= :create-multiaccount (:view-id db)))
[(bottom-sheet/show-bottom-sheet-old
{:view :mobile-network})
(sheet-defaults)]
;; NOTE(rasom): When we log into account on-network-status-change is
;; dispatched, but that doesn't mean there was a status change, thus
;; no reason to restart wallet.
+6 -7
View File
@@ -67,18 +67,17 @@
:else theme)
{:keys [icon-color background-color text-color border-color]}
(themes theme')]
(println "theme" theme' background-color)
[rn/touchable-without-feedback
(merge (when on-press
(merge {:disabled disabled
:accessibility-label accessibility-label}
(when on-press
{:on-press on-press})
(when on-long-press
{:on-long-press on-long-press}))
[rn/view
(merge {:background-color background-color
:border-radius border-radius
:type type
:disabled disabled
:accessibility-label accessibility-label}
(merge {:background-color background-color
:border-radius border-radius}
(when border-color
{:border-color border-color
:border-width 1}))
+1 -2
View File
@@ -1,7 +1,6 @@
(ns status-im.ui.components.text
(:require
[react-native.core :as rn]
[react-native.reanimated :as animated]
[reagent.core :as reagent]
[status-im.ui.components.colors :as colors]
[status-im.ui.components.typography :as typography]))
@@ -44,7 +43,7 @@
[]
(let [this (reagent/current-component)
props (reagent/props this)
component (if (:animated? props) animated/text rn/text)]
component rn/text]
(into [component
(merge {:style (text-style props)}
(dissoc props
@@ -1,12 +1,10 @@
(ns status-im.ui.screens.mobile-network-settings.sheets
(:require-macros [status-im.utils.views :as views])
(:require
[re-frame.core :as re-frame]
[status-im.ui.components.checkbox.view :as checkbox]
[status-im.ui.components.list.item :as list.item]
[status-im.ui.components.react :as react]
[status-im.ui.screens.mobile-network-settings.sheets-styles :as styles]
[utils.i18n :as i18n]))
(:require [re-frame.core :as re-frame]
[status-im.ui.components.list.item :as list.item]
[status-im.ui.components.react :as react]
[status-im.ui.screens.mobile-network-settings.sheets-styles :as styles]
[utils.i18n :as i18n]))
(defn title
[label]
@@ -36,65 +34,6 @@
:on-press #(re-frame/dispatch [:mobile-network/navigate-to-settings])}
(i18n/label :t/mobile-network-go-to-settings)]])
(views/defview checkbox
[]
(views/letsubs [checked? [:mobile-network/remember-choice?]]
[react/view
{:style styles/checkbox-line-container
:accessibility-label "remember-choice"}
[checkbox/checkbox
{:checked? checked?
:style styles/checkbox
:icon-style styles/checkbox-icon
:on-value-change #(re-frame/dispatch [:mobile-network/remember-choice? %])}]
[react/view
{:style styles/checkbox-text-container}
[react/text (i18n/label :t/mobile-network-sheet-remember-choice)]]]))
(defn settings
[]
[react/view
{:style styles/settings-container}
[react/nested-text
{:style styles/settings-text
:on-press #(re-frame/dispatch [:mobile-network/navigate-to-settings])}
(i18n/label :t/mobile-network-sheet-configure)
[{:style styles/settings-link}
(str " " (i18n/label :t/mobile-network-sheet-settings))]]])
(defn hide-sheet-and-dispatch
[event]
(re-frame/dispatch [:bottom-sheet/hide-old])
(re-frame/dispatch event))
(views/defview settings-sheet
[]
[react/view {:flex 1}
[react/view {:align-items :center}
[title :mobile-syncing-sheet-title]
[details :mobile-syncing-sheet-details]]
[list.item/list-item
{:theme :accent
:accessibility-label "mobile-network-continue-syncing"
:title (i18n/label :t/mobile-network-continue-syncing)
:subtitle (i18n/label :t/mobile-network-continue-syncing-details)
:subtitle-max-lines 2
:icon :main-icons/network
:on-press #(hide-sheet-and-dispatch [:mobile-network/continue-syncing])}]
[list.item/list-item
{:theme :negative
:accessibility-label "mobile-network-stop-syncing"
:title (i18n/label :t/mobile-network-stop-syncing)
:subtitle (i18n/label :t/mobile-network-stop-syncing-details)
:icon :main-icons/cancel
:on-press #(hide-sheet-and-dispatch [:mobile-network/stop-syncing])}]
[separator]
[react/view
{:flex 1
:align-self :stretch}
[checkbox]
[settings]]])
(views/defview offline-sheet
[]
[react/view {:flex 1}
@@ -53,8 +53,5 @@
:on-press #(hide-sheet-and-dispatch [:mobile-network/restore-defaults])}
(i18n/label :t/restore-defaults)]]]))
(def settings-sheet
{:content sheets/settings-sheet})
(def offline-sheet
{:content sheets/offline-sheet})
+1 -1
View File
@@ -152,7 +152,7 @@
:component wallet.account/account}
{:name :add-new-account
;;TODO dynamic title
:options {:insets {:top? true}}
:options {:insets {:top? true :bottom? true}}
:component add-account/add-account-view}
{:name :add-new-account-pin
;;TODO dynamic title
@@ -211,7 +211,7 @@
{:style styles/round-action-button
:on-press on-press}
(icons/icon icon {:color colors/white})]
[quo/text
[components.core/text
{:color :secondary
:size :small
:style {:margin-top (:tiny spacing/spacing)}}
@@ -348,7 +348,7 @@
:margin-top 8
:margin-horizontal 67.5
:text-align :center}}
[quo/text
[components.core/text
{:color :secondary
:size :small
:style {:text-align :center}}
@@ -145,7 +145,7 @@
:justify-content :center
:left 0
:right 0
:bottom 16
:bottom 56
:height 40})
(defn send-button
@@ -244,10 +244,11 @@
to to-wallet to-contact
gas-limit gas-price-gwei gas-price-eth gas-used
fee-cap-gwei tip-cap-gwei
cost nonce data]}]
cost nonce data]
:as tx}]
[react/view {:style styles/details-block}
[details-list-row :t/block block]
[details-list-row :t/hash hash]
[details-list-row :t/hash (:hash tx)]
[details-list-row :t/from-capitalized
[{:accessibility-label (if from-wallet :sender-name-text :sender-address-text)}
(or from-wallet from-contact from)]
+12 -29
View File
@@ -1,21 +1,12 @@
(ns status-im2.common.home.top-nav.view
(:require
[quo.core :as quo]
[react-native.core :as rn]
[status-im.multiaccounts.core :as multiaccounts]
[status-im2.common.home.top-nav.style :as style]
[status-im2.constants :as constants]
[utils.debounce :refer [dispatch-and-chill]]
[utils.re-frame :as rf]))
(defn connectivity-sheet
[]
(let [peers-count (rf/sub [:peers-count])
network-type (rf/sub [:network/type])]
[rn/view
[quo/text {:accessibility-label :peers-network-type-text} (str "NETWORK TYPE: " network-type)]
[quo/text {:accessibility-label :peers-count-text} (str "PEERS COUNT: " peers-count)]]))
(defn view
"[top-nav props]
props
@@ -30,7 +21,6 @@
avatar {:online? online?
:full-name (multiaccounts/displayed-name account)
:profile-picture (multiaccounts/displayed-photo account)}
network-type (rf/sub [:network/type])
unread-count (rf/sub [:activity-center/unread-count])
indicator (rf/sub [:activity-center/unread-indicator])
notification-type (case indicator
@@ -41,22 +31,15 @@
; https://github.com/status-im/status-mobile/issues/17102
nil)]
[quo/top-nav
{:avatar-on-press #(rf/dispatch [:navigate-to :my-profile])
:scan-on-press #(js/alert "to be implemented")
:activity-center-on-press #(rf/dispatch [:activity-center/open])
:qr-code-on-press #(dispatch-and-chill [:open-modal :share-shell] 1000)
:container-style (merge style/top-nav-container container-style)
:blur? blur?
:jump-to? jump-to?
:customization-color customization-color
:avatar-props avatar
:max-unread-notifications constants/activity-center-max-unread-count
:notification-count unread-count
:notification notification-type
:for-qa-only-cellular-network {:accessibility-label :on-cellular-network
:on-press #(rf/dispatch [:show-bottom-sheet
{:content connectivity-sheet}])}
:for-qa-only-no-network {:accessibility-label :no-network-connection
:on-press #(rf/dispatch [:show-bottom-sheet
{:content connectivity-sheet}])}
:for-qa-only-network-type network-type}]))
{:avatar-on-press #(rf/dispatch [:navigate-to :my-profile])
:scan-on-press #(js/alert "to be implemented")
:activity-center-on-press #(rf/dispatch [:activity-center/open])
:qr-code-on-press #(dispatch-and-chill [:open-modal :share-shell] 1000)
:container-style (merge style/top-nav-container container-style)
:blur? blur?
:jump-to? jump-to?
:customization-color customization-color
:avatar-props avatar
:max-unread-notifications constants/activity-center-max-unread-count
:notification-count unread-count
:notification notification-type}]))
+16 -11
View File
@@ -1,5 +1,6 @@
(ns status-im2.contexts.chat.camera.view
(:require
[oops.core :refer [oget]]
[quo.core :as quo]
[quo.foundations.colors :as colors]
[react-native.camera-kit :as camera-kit]
@@ -70,13 +71,12 @@
(defn zoom-buttons
[]
(let [current-zoom (reagent/atom 1)]
(fn [top insets rotate]
[rn/view {:style (style/zoom-container top insets)}
[zoom-button {:value 0.5 :current-zoom current-zoom :rotate rotate}]
[zoom-button {:value 1 :current-zoom current-zoom :rotate rotate}]
[zoom-button {:value 2 :current-zoom current-zoom :rotate rotate}]
[zoom-button {:value 3 :current-zoom current-zoom :rotate rotate}]])))
(fn [top insets rotate current-zoom]
[rn/view {:style (style/zoom-container top insets)}
[zoom-button {:value 0.5 :current-zoom current-zoom :rotate rotate}]
[zoom-button {:value 1 :current-zoom current-zoom :rotate rotate}]
[zoom-button {:value 2 :current-zoom current-zoom :rotate rotate}]
[zoom-button {:value 3 :current-zoom current-zoom :rotate rotate}]]))
(defn- f-bottom-area
@@ -108,7 +108,7 @@
[:f> f-bottom-area args back flip-camera]))
(defn- f-camera-screen
[{:keys [camera-ref uri camera-type current-orientation flash toggle-flash]}]
[{:keys [camera-ref uri camera-type current-orientation flash toggle-flash current-zoom]}]
(let [window (rn/get-window)
{:keys [width height]} window
camera-window-height (* width 1.33)
@@ -140,9 +140,13 @@
{:ref #(reset! camera-ref %)
:style (style/camera-window width camera-window-height top)
:flash-mode (if @flash :on :off)
:camera-type @camera-type}])
:camera-type @camera-type
:zoom @current-zoom
:max-zoom 3
:on-zoom (fn [event]
(reset! current-zoom (oget event "nativeEvent.zoom")))}])
(when-not @uri
[zoom-buttons top insets rotate])
[zoom-buttons top insets rotate current-zoom])
[rn/view {:style (style/confirmation-container insets @uri)}
[quo/text
{:on-press on-press
@@ -171,5 +175,6 @@
:camera-type (reagent/atom camera-kit/camera-type-back)
:current-orientation (atom orientation/portrait)
:flash flash
:toggle-flash #(swap! flash not)}]
:toggle-flash #(swap! flash not)
:current-zoom (reagent/atom 1)}]
[:f> f-camera-screen args]))
@@ -4,6 +4,7 @@
[quo.foundations.colors :as colors]
[react-native.core :as rn]
[react-native.gesture :as gesture]
[react-native.platform :as platform]
[react-native.reanimated :as reanimated]
[status-im2.contexts.chat.photo-selector.album-selector.style :as style]
[utils.i18n :as i18n]
@@ -61,15 +62,25 @@
(defn- f-album-selector
[{:keys [scroll-enabled on-scroll]} album? selected-album top]
(let [albums (rf/sub [:camera-roll/albums])
albums-sections [{:title no-title :data (:smart-albums albums)}
{:title (i18n/label :t/my-albums) :data (:my-albums albums)}]
window-height (:height (rn/get-window))]
(let [albums (rf/sub [:camera-roll/albums])
total-photos-count-android (rf/sub [:camera-roll/total-photos-count-android])
total-photos-count-ios (rf/sub [:camera-roll/total-photos-count-ios])
albums-sections [{:title no-title
:data [(assoc (:smart-album albums)
:count
(if platform/ios?
total-photos-count-ios
total-photos-count-android))]}
{:title (i18n/label :t/my-albums)
:data (:my-albums albums)}]
window-height (:height (rn/get-window))]
[reanimated/view {:style (style/selector-container top)}
[gesture/section-list
{:data albums-sections
:sections albums-sections
:render-data {:album? album? :selected-album selected-album :top top}
:render-data {:album? album?
:selected-album selected-album
:top top}
:render-fn render-album
:sticky-section-headers-enabled false
:render-section-header-fn section-header
@@ -6,6 +6,7 @@
[react-native.core :as rn]
[react-native.image-resizer :as image-resizer]
[react-native.permissions :as permissions]
[react-native.platform :as platform]
[status-im2.constants :as constants]
[taoensso.timbre :as log]
[utils.i18n :as i18n]
@@ -56,25 +57,25 @@
(defn get-albums
[callback]
(let [albums (atom {:smart-albums []
:my-albums []})]
(let [albums (atom {:smart-album []
:my-albums []})]
;; Get the "recent" album first
(cameraroll/get-photos
{:first 1 :groupTypes "All"}
{:first 1 :groupTypes "All" :assetType "Photos"}
(fn [res-recent]
(swap! albums assoc
:smart-albums
[{:title (i18n/label :t/recent)
:uri (get-in (first (:edges res-recent)) [:node :image :uri])}])
:smart-album
{:title (i18n/label :t/recent)
:uri (get-in (first (:edges res-recent)) [:node :image :uri])})
;; Get albums, then loop over albums and get each one's cover (first photo)
(cameraroll/get-albums
{:assetType :Photos}
{:assetType "Photos"}
(fn [res-albums]
(let [response-count (count res-albums)]
(if (pos? response-count)
(doseq [album res-albums]
(cameraroll/get-photos
{:first 1 :groupTypes "Albums" :groupName (:title album)}
{:first 1 :groupTypes "Albums" :groupName (:title album) :assetType "Photos"}
(fn [res]
(let [uri (get-in (first (:edges res)) [:node :image :uri])]
(swap! albums update :my-albums conj (merge album {:uri uri}))
@@ -83,21 +84,42 @@
(callback @albums))))))
(callback @albums)))))))))
(defn get-photos-count-ios-fx
[cb]
(cameraroll/get-photos-count-ios cb))
(re-frame/reg-fx
:camera-roll-get-albums
(fn []
(get-albums #(re-frame/dispatch [:on-camera-roll-get-albums %]))))
(re-frame/reg-fx
:camera-roll-get-photos-count-ios
(fn []
(when platform/ios?
(get-photos-count-ios-fx #(re-frame/dispatch [:on-camera-roll-get-images-count-ios %])))))
(rf/defn on-camera-roll-get-albums
{:events [:on-camera-roll-get-albums]}
[{:keys [db]} albums]
{:db (assoc db :camera-roll/albums albums)})
{:db (assoc db :camera-roll/albums albums)
:dispatch [:photo-selector/camera-roll-get-ios-photo-count]})
(rf/defn get-photos-count-ios
{:events [:on-camera-roll-get-images-count-ios]}
[{:keys [db]} count]
{:db (assoc db :camera-roll/ios-images-count count)})
(rf/defn camera-roll-get-albums
{:events [:photo-selector/camera-roll-get-albums]}
[_]
{:camera-roll-get-albums nil})
(rf/defn camera-roll-get-ios-photo-count
{:events [:photo-selector/camera-roll-get-ios-photo-count]}
[_]
{:camera-roll-get-photos-count-ios nil})
(rf/defn camera-roll-select-album
{:events [:chat.ui/camera-roll-select-album]}
[{:keys [db]} album]
@@ -125,7 +125,7 @@
[album-selector/album-selector sheet album? selected-album top])
[:<>
[gesture/flat-list
{:key-fn identity
{:key-fn #(hash (:uri %))
:render-fn render-image
:render-data {:window-width window-width :selected selected-images}
:data camera-roll-photos
@@ -42,8 +42,10 @@
[:<>
[quo/text {:style {:margin-right 4}} "Hold"]
[quo/token-tag
{:size :small
:token-img-src (quo.resources/get-token :eth)} "ETH"]
{:size :size-24
:token-img-src (quo.resources/get-token :eth)
:token-value 5
:token-symbol "ETH"}]
[quo/text {:style {:margin-left 4}} "To post"]])
(defn example-3
+15 -12
View File
@@ -151,6 +151,7 @@
[status-im2.contexts.quo-preview.tags.number-tag :as number-tag]
[status-im2.contexts.quo-preview.tags.permission-tag :as permission-tag]
[status-im2.contexts.quo-preview.tags.status-tags :as status-tags]
[status-im2.contexts.quo-preview.tags.tag :as tag]
[status-im2.contexts.quo-preview.tags.tags :as tags]
[status-im2.contexts.quo-preview.tags.tiny-tag :as tiny-tag]
[status-im2.contexts.quo-preview.tags.token-tag :as token-tag]
@@ -408,31 +409,33 @@
:switchers [{:name :group-messaging-card
:component group-messaging-card/view}
{:name :switcher-cards
:component switcher-cards/preview-switcher-cards}]
:component switcher-cards/view}]
:tabs [{:name :segmented
:component segmented/preview-segmented}
:component segmented/view}
{:name :tabs
:component tabs/preview-tabs}
:component tabs/view}
{:name :account-selector
:component account-selector/preview-this}]
:component account-selector/view}]
:tags [{:name :context-tags
:component context-tags/preview-context-tags}
:component context-tags/view}
{:name :network-tags
:component network-tags/preview}
:component network-tags/view}
{:name :number-tag
:component number-tag/preview}
:component number-tag/view}
{:name :permission-tag
:component permission-tag/preview-permission-tag}
:component permission-tag/view}
{:name :status-tags
:component status-tags/preview-status-tags}
:component status-tags/view}
{:name :tag
:component tag/view}
{:name :tags
:component tags/preview-tags}
:component tags/view}
{:name :tiny-tag
:component tiny-tag/preview-tiny-tag}
{:name :token-tag
:component token-tag/preview-token-tag}]
:component token-tag/view}]
:text-combinations [{:name :text-combinations
:component text-combinations/preview}]
:component text-combinations/view}]
:wallet [{:name :account-card :component account-card/preview-account-card}
{:name :account-origin :component account-origin/view}
{:name :account-overview
@@ -6,46 +6,27 @@
[status-im2.contexts.quo-preview.preview :as preview]))
(def descriptor
[{:label "Title"
:key :title
:type :text}
{:label "Status"
:key :status
[{:key :title :type :text}
{:key :status
:type :select
:options [{:key :read
:value :read}
{:key :unread
:value :unread}
{:key :mention
:value :mention}]}
{:label "Counter Label"
:key :counter-label
:type :text}
{:label "Type"
:key :type
:options [{:key :read}
{:key :unread}
{:key :mention}]}
{:key :counter-label :type :text}
{:key :type
:type :select
:options [{:key :message
:value :text}
{:key :photo
:value :photo}
{:key :sticker
:value :sticker}
{:key :gif
:value :gif}
{:key :audio
:value :audio}
{:key :community
:value :community}
{:key :link
:value :link}
{:key :photo}
{:key :sticker}
{:key :gif}
{:key :audio}
{:key :community}
{:key :link}
{:key :code
:value :code-snippet}]}
{:label "Last Message"
:key :last-message
:type :text}
{:label "Avatar:"
:key :avatar?
:type :boolean}
{:key :last-message :type :text}
{:key :avatar? :type :boolean}
(preview/customization-color-option)])
;; Mock data
@@ -1,7 +1,6 @@
(ns status-im2.contexts.quo-preview.switcher.switcher-cards
(:require
[quo.foundations.colors :as colors]
[react-native.core :as rn]
[reagent.core :as reagent]
[status-im2.common.resources :as resources]
[status-im2.constants :as constants]
@@ -10,8 +9,7 @@
[status-im2.contexts.shell.jump-to.constants :as shell.constants]))
(def descriptor
[{:label "Type"
:key :type
[{:key :type
:type :select
:options [{:key shell.constants/communities-discover
:value "Communities Discover"}
@@ -33,27 +31,15 @@
:value "Wallet Graph"}
{:key shell.constants/empty-card
:value "Empty Card"}]}
{:label "Title"
:key :title
:type :text}
{:label "New Notifications?"
:key :new-notifications?
:type :boolean}
{:label "Banner?"
:key :banner?
:type :boolean}
{:label "Notification Indicator"
:key :notification-indicator
{:key :title :type :text}
{:key :new-notifications? :type :boolean}
{:key :banner? :type :boolean}
{:key :notification-indicator
:type :select
:options [{:key :counter
:value :counter}
{:key :unread-dot
:value :unread-dot}]}
{:label "Counter Label"
:key :counter-label
:type :text}
{:label "Content Type"
:key :content-type
:options [{:key :counter}
{:key :unread-dot}]}
{:key :counter-label :type :text}
{:key :content-type
:type :select
:options [{:key constants/content-type-text
:value :text}
@@ -69,21 +55,10 @@
:value :community}
{:key constants/content-type-link
:value :link}]}
{:label "Last Message"
:key :last-message
:type :text}
{:label "Customization"
:key :customization-color
:type :select
:options
(map
(fn [c]
{:key c
:value c})
(keys colors/customization))}])
{:key :last-message :type :text}
(preview/customization-color-option)])
;; Mocked Data
(def banner (resources/get-mock-image :community-banner))
(def sticker {:source (resources/get-mock-image :sticker)})
(def community-avatar {:source (resources/get-mock-image :community-logo)})
@@ -151,7 +126,7 @@
:else
{})))
(defn preview-switcher-cards
(defn view
[]
(let [state (reagent/atom {:type shell.constants/private-group-chat-card
:title "Alisher Yakupov"
@@ -165,10 +140,7 @@
:preview-label-color colors/white})]
(fn []
[preview/preview-container
{:state state
:descriptor descriptor}
[rn/view {:padding-bottom 150}
[rn/view
{:padding-vertical 60
:align-items :center}
[switcher-cards/card (get-mock-data @state)]]]])))
{:state state
:descriptor descriptor
:component-container-style {:padding-vertical 60}}
[switcher-cards/card (get-mock-data @state)]])))
@@ -1,23 +1,14 @@
(ns status-im2.contexts.quo-preview.tabs.account-selector
(:require
[quo.components.tabs.account-selector :as quo]
[react-native.core :as rn]
[quo.core :as quo]
[reagent.core :as reagent]
[status-im2.contexts.quo-preview.preview :as preview]))
(def descriptor
[{:label "Show Label?:"
:key :show-label?
:type :boolean}
{:label "Transparent Background?:"
:key :transparent?
:type :boolean}
{:label "Account Text"
:key :account-text
:type :text}
{:label "Label Text"
:key :label-text
:type :text}])
[{:key :show-label? :type :boolean}
{:key :transparent? :type :boolean}
{:key :account-text :type :text}
{:key :label-text :type :text}])
;; keeping this unused data structure in the code for now
;; will reference them when I introduce multiple account support
@@ -46,7 +37,7 @@
:account-emoji "🍟"
:label-text "Label 3"}])
(defn preview-this
(defn view
[]
(let [state (reagent/atom {:show-label? true
:transparent? false
@@ -56,10 +47,7 @@
:label-text "Label"})]
(fn []
[preview/preview-container
{:state state
:descriptor descriptor}
[rn/view {:padding-bottom 150}
[rn/view
{:padding-vertical 60
:align-items :center}
[quo/account-selector @state]]]])))
{:state state
:descriptor descriptor
:component-container-style {:padding-vertical 60}}
[quo/account-selector @state]])))
@@ -1,50 +1,44 @@
(ns status-im2.contexts.quo-preview.tabs.segmented-tab
(:require
[quo.components.tabs.segmented-tab :as quo]
[quo.theme :as theme]
[quo.core :as quo]
[react-native.core :as rn]
[reagent.core :as reagent]
[status-im2.contexts.quo-preview.preview :as preview]))
(def descriptor
[{:label "Size:"
:key :size
[{:key :size
:type :select
:options [{:key 28
:value "28"}
{:key 20
:value "20"}]}
{:label "Blur?"
:key :blur?
:type :boolean}])
{:key :blur?
:type :boolean}])
(defn preview-segmented
(defn view
[]
(let [state (reagent/atom {:size 32
:blur? false})]
(fn []
[preview/preview-container
{:state state
:descriptor descriptor}
[rn/view {:padding-bottom 150}
[preview/blur-view
{:show-blur-background? (:blur? @state)
:height 200
:style {:width "100%"}
:blur-view-props {:blur-type (theme/get-theme)}}
[:<>
[quo/segmented-control
(merge @state
{:default-active 1
:data [{:id 1 :label "Tab 1"}
{:id 2 :label "Tab 2"}
{:id 3 :label "Tab 3"}
{:id 4 :label "Tab 4"}]
:on-change #(println "Active tab" %)})]
[rn/view {:style {:padding-top 24}}
[quo/segmented-control
(merge @state
{:default-active 1
:data [{:id 1 :label "Tab 1"}
{:id 2 :label "Tab 2"}]
:on-change #(println "Active tab" %)})]]]]]])))
{:state state
:descriptor descriptor
:blur? (:blur? @state)
:show-blur-background? true
:component-container-style {:padding-vertical 60}}
[:<>
[quo/segmented-control
(assoc @state
:default-active 1
:data [{:id 1 :label "Tab 1"}
{:id 2 :label "Tab 2"}
{:id 3 :label "Tab 3"}
{:id 4 :label "Tab 4"}]
:on-change #(println "Active tab" %))]
[rn/view {:style {:padding-top 24}}
[quo/segmented-control
(assoc @state
:default-active 1
:data [{:id 1 :label "Tab 1"}
{:id 2 :label "Tab 2"}]
:on-change #(println "Active tab" %))]]]])))
@@ -1,24 +1,18 @@
(ns status-im2.contexts.quo-preview.tabs.tabs
(:require
[quo.core :as quo]
[react-native.core :as rn]
[reagent.core :as reagent]
[status-im2.contexts.quo-preview.preview :as preview]))
(def descriptor
[{:label "Size:"
:key :size
[{:key :size
:type :select
:options [{:key 32
:value "32"}
{:key 24
:value "24"}]}
{:label "Show unread indicators?"
:key :unread-indicators?
:type :boolean}
{:label "Scrollable:"
:key :scrollable?
:type :boolean}])
{:key :unread-indicators? :type :boolean}
{:key :scrollable? :type :boolean}])
(defn generate-tab-items
[length unread-indicators?]
@@ -28,27 +22,25 @@
:label (str "Tab " (inc index))
:notification-dot? (and unread-indicators? (zero? (rem index 2)))}))
(defn preview-tabs
(defn view
[]
(let [state (reagent/atom {:size 32
:scrollable? false})]
(fn []
[preview/preview-container
{:state state
:descriptor descriptor}
[rn/view {:padding-bottom 150}
[rn/view
{:padding-vertical 60
:padding-horizontal 20
:flex-direction :row
:justify-content :center}
[quo/tabs
(merge @state
{:default-active 1
:data (generate-tab-items (if (:scrollable? @state) 15 4)
(:unread-indicators? @state))
:on-change #(println "Active tab" %)}
(when (:scrollable? @state)
{:scroll-on-press? true
:fade-end-percentage 0.4
:fade-end? true}))]]]])))
{:state state
:descriptor descriptor
:component-container-style {:padding-vertical 60
:padding-horizontal 20
:flex-direction :row
:justify-content :center}}
[quo/tabs
(merge @state
{:default-active 1
:data (generate-tab-items (if (:scrollable? @state) 15 4)
(:unread-indicators? @state))
:on-change #(println "Active tab" %)}
(when (:scrollable? @state)
{:scroll-on-press? true
:fade-end-percentage 0.4
:fade-end? true}))]])))
@@ -21,15 +21,13 @@
:value "User pic female 2"}])
(def size-descriptor
{:label "Size"
:key :size
{:key :size
:type :select
:options [{:key 24}
{:key 32}]})
(def descriptor
[{:label "Type"
:key :type
[{:key :type
:type :select
:options [{:key :default}
{:key :multiuser}
@@ -66,8 +64,7 @@
nil
(resources/mock-images :user-picture-female2)
nil]]
[{:label "users"
:key :users
[{:key :users
:type :select
:options (map (fn [idx]
{:key (mapv (fn [picture idx-name]
@@ -81,44 +78,36 @@
(def group-descriptor
[size-descriptor
{:label "Group"
:key :group-name
:type :text}])
{:key :group-name
:type :text}])
(def channel-descriptor
[size-descriptor
{:label "Community name"
:key :community-name
:type :text}
{:label "Channel name"
:key :channel-name
:type :text}])
{:key :community-name
:type :text}
{:key :channel-name
:type :text}])
(def community-descriptor
[size-descriptor
{:label "Community name"
:key :community-name
:type :text}])
{:key :community-name
:type :text}])
(def token-descriptor
[size-descriptor
{:label "Amount"
:key :amount
:type :text}
{:label "Token name"
:key :token-name
:type :text}])
{:key :amount
:type :text}
{:key :token-name
:type :text}])
(def network-descriptor
[size-descriptor
{:label "Network name"
:key :network-name
:type :text}])
{:key :network-name
:type :text}])
(def multinetwork-descriptor
(let [networks (cycle [(resources/mock-images :monkey) (resources/mock-images :diamond)])]
[{:label "Networks"
:key :networks
[{:key :networks
:type :select
:options (map (fn [size]
{:key (take size networks)
@@ -127,11 +116,9 @@
(def account-descriptor
[size-descriptor
{:label "Account name"
:key :account-name
:type :text}
{:label "Emoji"
:key :emoji
{:key :account-name
:type :text}
{:key :emoji
:type :select
:options [{:key "🐷" :value "🐷"}
{:key "🍇" :value "🍇"}
@@ -139,39 +126,63 @@
(def collectible-descriptor
[size-descriptor
{:label "Collectible name"
:key :collectible-name
:type :text}
{:label "Collectible number"
:key :collectible-number
:type :text}])
{:key :collectible-name
:type :text}
{:key :collectible-number
:type :text}])
(def address-descriptor
[size-descriptor])
(def icon-descriptor
[size-descriptor
{:label "Context"
:key :context
:type :text}
{:label "Icon"
:key :icon
{:key :context
:type :text}
{:key :icon
:type :select
:options [{:key :i/placeholder :value "Placeholder"}
{:key :i/add :value "Add"}
{:key :i/alert :value "Alert"}]}])
(def audio-descriptor
[{:label "Duration"
:key :duration
:type :text}])
[{:key :duration
:type :text}])
(defn preview-context-tags
(defn f-view
[state type]
(rn/use-effect (fn []
(when (#{:multiuser :multinetwork :audio} @type)
(swap! state assoc :size 24)))
[@type])
[preview/preview-container
{:state state
:descriptor (concat descriptor
(case (:type @state)
:default default-descriptor
:multiuser multiuser-descriptor
:group group-descriptor
:channel channel-descriptor
:community community-descriptor
:token token-descriptor
:network network-descriptor
:multinetwork multinetwork-descriptor
:account account-descriptor
:collectible collectible-descriptor
:address address-descriptor
:icon icon-descriptor
:audio audio-descriptor
default-descriptor))
:blur-height 80
:blur? (:blur? @state)
:show-blur-background? true}
[rn/view {:style {:align-items :center}}
[quo/context-tag @state]]])
(defn view
[]
(let [state
(reagent/atom
{:label "Name"
:size 32
{:size 32
:type :group
:blur? false
:state :selected
@@ -208,32 +219,4 @@
:context "Context"
:duration "00:32"})
type (reagent/cursor state [:type])]
[:f>
(fn []
(rn/use-effect (fn []
(when (#{:multiuser :multinetwork :audio} @type)
(swap! state assoc :size 24)))
[@type])
[preview/preview-container
{:state state
:descriptor (concat descriptor
(case (:type @state)
:default default-descriptor
:multiuser multiuser-descriptor
:group group-descriptor
:channel channel-descriptor
:community community-descriptor
:token token-descriptor
:network network-descriptor
:multinetwork multinetwork-descriptor
:account account-descriptor
:collectible collectible-descriptor
:address address-descriptor
:icon icon-descriptor
:audio audio-descriptor
default-descriptor))
:blur-height 80
:blur? true
:show-blur-background? (:blur? @state)}
[rn/view {:style {:align-items :center}}
[quo/context-tag @state]]])]))
[:f> f-view state type]))
@@ -30,7 +30,7 @@
:key :blur?}])
(defn preview
(defn view
[]
(let [state (reagent/atom {:title "Tag"
:status :default
@@ -46,7 +46,6 @@
:justify-content :center
:flex 1}}
[quo/network-tags
{:networks (nth community-networks (dec (:networks @state)))
:status (:status @state)
:title (:title @state)
:blur? (:blur? @state)}]]])))
(assoc @state
:networks
(nth community-networks (dec (:networks @state))))]]])))
@@ -1,7 +1,6 @@
(ns status-im2.contexts.quo-preview.tags.number-tag
(:require
[quo.core :as quo]
[react-native.core :as rn]
[reagent.core :as reagent]
[status-im2.contexts.quo-preview.preview :as preview]))
@@ -27,16 +26,16 @@
{:key :blur?
:type :boolean}])
(defn preview
(defn view
[]
(let [state (reagent/atom {:type :squared
:number "148"
:size :size-32
:blur? false})]
(fn []
[preview/preview-container {:state state :descriptor descriptor}
[rn/view
{:padding-vertical 60
:flex-direction :row
:justify-content :center}
[quo/number-tag @state]]])))
[preview/preview-container
{:state state
:descriptor descriptor
:blur? (:blur? @state)
:show-blur-background? true}
[quo/number-tag @state]])))
@@ -1,6 +1,6 @@
(ns status-im2.contexts.quo-preview.tags.permission-tag
(:require
[quo.components.tags.permission-tag :as permission-tag]
[quo.core :as quo]
[quo.foundations.colors :as colors]
[react-native.core :as rn]
[reagent.core :as reagent]
@@ -8,16 +8,14 @@
[status-im2.contexts.quo-preview.preview :as preview]))
(def descriptor
[{:label "Size:"
:key :size
[{:key :size
:type :select
:options [{:key 32
:value "32"}
{:key 24
:value "24"}]}
{:label "Locked:"
:key :locked?
:type :boolean}])
{:key :locked?
:type :boolean}])
(def community-tokens
[{:tokens [{:id 1 :group [{:id 1 :token-icon (resources/get-mock-image :status-logo)}]}]}
@@ -168,27 +166,23 @@
{:id 5 :token-icon (resources/get-mock-image :status-logo)}
{:id 6 :token-icon (resources/get-mock-image :status-logo)}]}]}])
(defn preview-permission-tag
(defn view
[]
(let [state (reagent/atom {:size 32})]
(fn []
[preview/preview-container
{:state state
:descriptor descriptor}
[rn/view {:padding-bottom 150}
[rn/view
{:padding-vertical 60
:align-self :center
:justify-content :center}
(when @state
(for [{:keys [tokens]} community-tokens]
^{:key tokens}
[rn/view
{:margin-top 20
:align-self :flex-end}
[permission-tag/tag
(merge @state
{:tokens tokens
:background-color (colors/theme-colors
colors/neutral-10
colors/neutral-80)})]]))]]])))
{:state state
:component-container-style {:margin-bottom 40}
:descriptor descriptor}
(when @state
(for [{:keys [tokens]} community-tokens]
^{:key tokens}
[rn/view
{:margin-top 20
:align-self :flex-end}
[quo/permission-tag
(merge @state
{:tokens tokens
:background-color (colors/theme-colors
colors/neutral-10
colors/neutral-80)})]]))])))
@@ -1,7 +1,6 @@
(ns status-im2.contexts.quo-preview.tags.status-tags
(:require
[quo.components.tags.status-tags :as quo]
[quo.foundations.colors :as colors]
[quo.core :as quo]
[react-native.core :as rn]
[reagent.core :as reagent]
[status-im2.contexts.quo-preview.preview :as preview]
@@ -31,7 +30,7 @@
:key :blur?
:type :boolean}])
(defn preview-status-tags
(defn view
[]
(let [state (reagent/atom {:status :positive
:size :small
@@ -48,11 +47,9 @@
(assoc :status {:type :pending})
(assoc :label (i18n/label :t/pending))))]
[preview/preview-container
{:state state
:descriptor descriptor}
[rn/view {:padding-bottom 150}
[preview/blur-view
{:show-blur-background? (:blur? @state)
:blur-view-props {:blur-type :dark
:overlay-color colors/neutral-80-opa-80}
:style {:align-self :center}} [quo/status-tag props]]]]))))
{:state state
:show-blur-background? true
:blur? (:blur? @state)
:descriptor descriptor}
[rn/view {:style {:flex-direction :row}}
[quo/status-tag props]]]))))
@@ -1,23 +1,18 @@
(ns status-im2.contexts.quo-preview.tags.tag
(:require
[quo.components.tags.tag :as tag]
[quo.foundations.colors :as colors]
[react-native.core :as rn]
[quo.core :as quo]
[reagent.core :as reagent]
[status-im.ui.components.react :as react]
[status-im2.common.resources :as resources]
[status-im2.contexts.quo-preview.preview :as preview]))
(def descriptor
[{:label "Size:"
:key :size
[{:key :size
:type :select
:options [{:key 32
:value "32"}
{:key 24
:value "24"}]}
{:label "Type:"
:key :type
{:key :type
:type :select
:options [{:key :emoji
:value "Emoji"}
@@ -25,63 +20,31 @@
:value "Icons"}
{:key :label
:value "Label"}]}
{:label "Labelled:"
:key :labelled?
:type :boolean}
{:label "Disabled:"
:key :disabled?
:type :boolean}
{:label "Blurred background:"
:key :blurred?
:type :boolean}])
{:key :labelled?
:type :boolean}
{:key :disabled?
:type :boolean}
{:key :blurred?
:type :boolean}])
(defn preview-tag
(defn view
[]
(let [state (reagent/atom {:size 32
:labelled? true
:type :emoji})]
(fn []
[preview/preview-container
{:state state
:descriptor descriptor}
[rn/view
{:style {:padding-bottom 150
:padding-top 60}}
[rn/view
{:style {:flex 1
:justify-content :center
:top 60
:padding-horizontal 16}}
(when (:blurred? @state)
[rn/view
{:style {:flex 1
:height 100}}
[react/image
{:source (resources/get-mock-image :community-cover)
:style {:flex 1
:width "100%"
:border-radius 16}}]
[react/blur-view
{:flex 1
:style {:border-radius 16
:height 100
:position :absolute
:left 0
:right 0}
:blur-amount 20
:overlay-color (colors/theme-colors
colors/white-opa-70
colors/neutral-80-opa-80)}]])
[rn/view
{:style {:position :absolute
:align-self :center}}
[tag/tag
(merge @state
{:id 1
:label "Tag"
:labelled? (if (= (:type @state) :label)
true
(:labelled? @state))
:resource (if (= :emoji (:type @state))
(resources/get-image :music)
:i/placeholder)})]]]]])))
{:state state
:descriptor descriptor
:show-blur-background? true
:blur? (:blurred? @state)}
[quo/tag
(merge @state
{:id 1
:label "Tag"
:labelled? (if (= (:type @state) :label)
true
(:labelled? @state))
:resource (if (= :emoji (:type @state))
(resources/get-image :music)
:i/placeholder)})]])))
@@ -1,23 +1,18 @@
(ns status-im2.contexts.quo-preview.tags.tags
(:require
[quo.components.tags.tags :as tags]
[quo.foundations.colors :as colors]
[react-native.core :as rn]
[quo.core :as quo]
[reagent.core :as reagent]
[status-im.ui.components.react :as react]
[status-im2.common.resources :as resources]
[status-im2.contexts.quo-preview.preview :as preview]))
(def descriptor
[{:label "Size:"
:key :size
[{:key :size
:type :select
:options [{:key 32
:value "32"}
{:key 24
:value "24"}]}
{:label "Type:"
:key :type
{:key :type
:type :select
:options [{:key :emoji
:value "Emoji"}
@@ -25,27 +20,22 @@
:value "Icons"}
{:key :label
:value "Label"}]}
{:label "Scrollable:"
:key :scrollable?
:type :boolean}
{:label "Fade Out:"
:key :fade-end-percentage
{:key :scrollable?
:type :boolean}
{:key :fade-end-percentage
:type :select
:options [{:key 1
:value "1%"}
{:key 0.4
:value "0.4%"}]}
{:label "Labelled:"
:key :labelled?
:type :boolean}
{:label "Disabled:"
:key :disabled?
:type :boolean}
{:label "Blurred background:"
:key :blurred?
:type :boolean}])
{:key :labelled?
:type :boolean}
{:key :disabled?
:type :boolean}
{:key :blurred?
:type :boolean}])
(defn preview-tags
(defn view
[]
(let [state (reagent/atom {:size 32
:labelled? true
@@ -54,51 +44,21 @@
:scrollable? false})]
(fn []
[preview/preview-container
{:state state
:descriptor descriptor}
[rn/view
{:style {:padding-bottom 150
:padding-top 60}}
[rn/view
{:style {:flex 1
:justify-content :center
:top 60
:padding-horizontal 16}}
(when (:blurred? @state)
[rn/view
{:align-items :center
:height 100
:border-radius 16}
[react/image
{:source (resources/get-mock-image :community-cover)
:style {:flex 1
:width "100%"
:border-radius 16}}]
[react/blur-view
{:flex 1
:style {:border-radius 16
:height 100
:position :absolute
:left 0
:right 0}
:blur-amount 20
:overlay-color (colors/theme-colors
colors/white-opa-70
colors/neutral-80-opa-80)}]])
[rn/view
{:style {:position :absolute
:align-self :center}}
[tags/tags
(merge
@state
{:default-active 1
:component :tags
:labelled? (if (= :label (:type @state)) true (:labelled? @state))
:data [{:id 1 :label "Music" :resource (resources/get-image :music)}
{:id 2 :label "Lifestyle" :resource (resources/get-image :lifestyle)}
{:id 2 :label "Podcasts" :resource (resources/get-image :podcasts)}
{:id 2 :label "Music" :resource (resources/get-image :music)}
{:id 3 :label "Lifestyle" :resource (resources/get-image :lifestyle)}]}
(when (:scrollable? @state)
{:scroll-on-press? true
:fade-end? true}))]]]]])))
{:state state
:descriptor descriptor
:blur? (:blurred? @state)
:show-blur-background? true}
[quo/tags
(merge
@state
{:default-active 1
:component :tags
:labelled? (if (= :label (:type @state)) true (:labelled? @state))
:data [{:id 1 :label "Music" :resource (resources/get-image :music)}
{:id 2 :label "Lifestyle" :resource (resources/get-image :lifestyle)}
{:id 2 :label "Podcasts" :resource (resources/get-image :podcasts)}
{:id 2 :label "Music" :resource (resources/get-image :music)}
{:id 3 :label "Lifestyle" :resource (resources/get-image :lifestyle)}]}
(when (:scrollable? @state)
{:scroll-on-press? true
:fade-end? true}))]])))
@@ -1,21 +1,19 @@
(ns status-im2.contexts.quo-preview.tags.token-tag
(:require
[quo.components.tags.token-tag :as quo]
[quo.core :as quo]
[quo.foundations.resources :as resources]
[react-native.core :as rn]
[reagent.core :as reagent]
[status-im2.contexts.quo-preview.preview :as preview]))
(def descriptor
[{:label "Size:"
:key :size
[{:key :size
:type :select
:options [{:key :big
:value "big"}
{:key :small
:value "small"}]}
{:label "Value:"
:key :value
:options [{:key :size-24
:value "Size 24"}
{:key :size-32
:value "Size 32"}]}
{:key :token-value
:type :select
:options [{:key 0
:value "0"}
@@ -27,14 +25,17 @@
:value "1000"}
{:key 10000
:value "10000"}]}
{:label "Is Sufficient:"
:key :sufficient?
:type :boolean}
{:label "Is Purchasable:"
:key :purchasable?
:type :boolean}
{:label "Token:"
:key :token
{:key :options
:type :select
:options [{:key false
:value false}
{:key :add
:value :add}
{:key :hold
:value :hold}]}
{:key :blur?
:type :boolean}
{:key :token-symbol
:type :select
:options [{:key "ETH"
:value "ETH"}
@@ -44,17 +45,21 @@
(def eth-token (resources/get-token :eth))
(def snt-token (resources/get-token :snt))
(defn preview-token-tag
(defn view
[]
(let [state (reagent/atom {:size :big :value 10 :token "ETH" :sufficient? false :purchasable? false})]
(let [state (reagent/atom {:size :size-24
:token-value 10
:token-symbol "ETH"
:options false
:blur? false})]
(fn []
[preview/preview-container
{:state state
:descriptor descriptor}
[rn/view {:padding-bottom 150}
[rn/view
{:padding-vertical 60
:align-items :center}
[quo/token-tag
(merge @state
{:token-img-src (if (= (get-in @state [:token]) "ETH") eth-token snt-token)})]]]])))
{:state state
:blur? (:blur? @state)
:show-blur-background? true
:descriptor descriptor}
[rn/view {:style {:align-items :center}}
[quo/token-tag
(assoc @state
:token-img-src
(if (= (get-in @state [:token-symbol]) "ETH") eth-token snt-token))]]])))
@@ -1,28 +1,15 @@
(ns status-im2.contexts.quo-preview.text-combinations.preview
(:require
[quo.components.text-combinations.view :as quo]
[react-native.core :as rn]
[quo.core :as quo]
[reagent.core :as reagent]
[status-im2.common.resources :as resources]
[status-im2.contexts.quo-preview.preview :as preview]))
(def descriptor
[{:label "Title"
:key :title
:type :text}
{:label :avatar
:key :avatar
:type :boolean}
{:label "Description type:"
:key :description
:type :select
:options [{:key :none
:value nil}
{:key :description
:value :description}]}
{:label "Description text"
:key :description-props
:type :text}])
[{:key :title :type :text}
{:key :avatar :type :boolean}
{:key :description
:type :text}])
(defn state->text-combinations-props
[state]
@@ -30,20 +17,15 @@
(assoc state :avatar (resources/get-mock-image :user-picture-male4))
state))
(defn preview
(defn view
[]
(let [state (reagent/atom {:title "Title"
:title-accessibility-label :title
:description nil
:description-props ""
:description ""
:description-accessibility-label :subtitle})]
(fn []
[preview/preview-container
{:state state
:descriptor descriptor}
[rn/view {:padding-bottom 150}
[rn/view
{:padding-vertical 60
:align-items :center}
[quo/view
(state->text-combinations-props @state)]]]])))
{:state state
:descriptor descriptor
:component-container-style {:padding-vertical 60}}
[quo/text-combinations (state->text-combinations-props @state)]])))
@@ -0,0 +1,5 @@
(ns status-im2.contexts.wallet.common.network-preferences.style)
(def data-item
{:margin-horizontal 20
:margin-vertical 8})
@@ -0,0 +1,62 @@
(ns status-im2.contexts.wallet.common.network-preferences.view
(:require [quo.core :as quo]
[quo.foundations.colors :as colors]
[quo.foundations.resources :as resources]
[quo.theme :as quo.theme]
[status-im2.contexts.wallet.common.network-preferences.style :as style]
[utils.i18n :as i18n]))
(def mainnet
[{:title "Mainnet"
:image :icon-avatar
:image-props {:icon (resources/get-network :ethereum)
:size :size-20}
:action :selector
:action-props {:type :checkbox}}])
(def networks-list
[{:title "Optimism"
:image :icon-avatar
:image-props {:icon (resources/get-network :optimism)
:size :size-20}
:action :selector
:action-props {:type :checkbox}}
{:title "Arbitrum"
:image :icon-avatar
:image-props {:icon (resources/get-network :arbitrum)
:size :size-20}
:action :selector
:action-props {:type :checkbox}}])
(defn- view-internal
[{:keys [address on-save theme]}]
[:<>
[quo/drawer-top
{:title (i18n/label :t/network-preferences)
:description (i18n/label :t/network-preferences-desc)}]
[quo/data-item
{:status :default
:size :default
:description :default
:label :none
:blur? false
:card? true
:title (i18n/label :t/address)
:subtitle address
:container-style (merge style/data-item
{:background-color (colors/theme-colors colors/neutral-2_5
colors/neutral-90
theme)})}]
[quo/category
{:list-type :settings
:data mainnet}]
[quo/category
{:list-type :settings
:label (i18n/label :t/layer-2)
:data networks-list}]
[quo/bottom-actions
{:button-one-label (i18n/label :t/update)
:disabled? true
:button-one-press on-save}]])
(def view (quo.theme/with-theme view-internal))
@@ -2,10 +2,12 @@
(:require [quo.core :as quo]
[quo.theme :as quo.theme]
[reagent.core :as reagent]
[status-im2.contexts.wallet.common.network-preferences.view :as network-preferences]
[status-im2.contexts.wallet.common.screen-base.create-or-edit-account.view :as
create-or-edit-account]
[status-im2.contexts.wallet.edit-account.style :as style]
[utils.i18n :as i18n]))
[utils.i18n :as i18n]
[utils.re-frame :as rf]))
(defn- view-internal
[]
@@ -38,7 +40,12 @@
:card? true
:title (i18n/label :t/address)
:subtitle account-address
:on-press #(js/alert "Network selector: to be implemented")
:on-press (fn []
(rf/dispatch [:show-bottom-sheet
{:content (fn [] [network-preferences/view
{:address account-address
:on-save #(js/alert
"calling on save")}])}]))
:container-style style/data-item}]])))
(def view (quo.theme/with-theme view-internal))
+15
View File
@@ -454,3 +454,18 @@
[(re-frame/subscribe [:chats/chat (str community-id channel-id)])])
(fn [[chat]]
(:muted? chat)))
(re-frame/reg-sub
:camera-roll/total-photos-count-android
(fn [{:keys [camera-roll/albums]}]
(->> albums
:my-albums
(reduce
(fn [total-album-count current-album]
(+ total-album-count (:count current-album)))
0))))
(re-frame/reg-sub
:camera-roll/total-photos-count-ios
(fn [{:keys [camera-roll/ios-images-count]}]
ios-images-count))
+4
View File
@@ -201,6 +201,10 @@
[element]
(.toBeNull (js/expect element)))
(defn is-disabled
[element]
(.toBeDisabled (js/expect element)))
(defn is-equal
[element-1 element-2]
(.toBe (js/expect element-1) element-2))
+3 -3
View File
@@ -3,7 +3,7 @@
"_comment": "Instead use: scripts/update-status-go.sh <rev>",
"owner": "status-im",
"repo": "status-go",
"version": "build_test_b",
"commit-sha1": "472374bb39824afefa11adc153387557fc36bd7a",
"src-sha256": "1srysz1y2l4jcdmcs0aa3qp7q6qn2pdfmqd8znnbz18mcjdhm9i5"
"version": "feature/contact-code-when-community",
"commit-sha1": "c7dec38de6a708b358441f1e6634c7447c3f43b1",
"src-sha256": "0hykpgh9r1ffkplxn0fnnv4n5nk4z4gb3j6ifbyf2pmhi0mh33qg"
}
@@ -145,7 +145,7 @@ class TestActivityCenterContactRequestMultipleDevicePR(MultipleSharedDeviceTestC
self.device_2.create_user(third_user=True, username=new_username_2)
self.device_2.just_fyi('Device2 sends a contact request to Device1 using his profile link')
self.home_2.driver.set_clipboard_text("https://join.status.im/u/" + self.public_key_1)
self.home_2.driver.set_clipboard_text("https://status.app/u/" + self.public_key_1)
self.home_2.chats_tab.click()
self.home_2.new_chat_button.click_until_presence_of_element(self.home_2.add_a_contact_chat_bottom_sheet_button)
self.home_2.add_a_contact_chat_bottom_sheet_button.click()
+4 -1
View File
@@ -2356,5 +2356,8 @@
"moonpay-description": "The new standard for fiat to crypto, supports Apple Pay.",
"latamex-description": "Easily buy crypto in Argentina, Mexico and Brazil.",
"account-info": "Account info",
"account-name-input-placeholder": "Account name"
"account-name-input-placeholder": "Account name",
"network-preferences": "Network preferences",
"network-preferences-desc": "Select which network this address is happy to receive funds on",
"layer-2": "Layer 2"
}
+8 -15
View File
@@ -2188,6 +2188,10 @@
dependencies:
merge-options "^3.0.4"
"@react-native-camera-roll/camera-roll@git+https://github.com/status-im/react-native-camera-roll.git#refs/tags/v5.1.1.1":
version "5.10.0"
resolved "git+https://github.com/status-im/react-native-camera-roll.git#174f8c6ad88e5bad9d9bd207f42173e567ec3138"
"@react-native-community/audio-toolkit@git+https://github.com/tbenr/react-native-audio-toolkit.git#refs/tags/v2.0.3-status-v6":
version "2.0.3"
resolved "git+https://github.com/tbenr/react-native-audio-toolkit.git#7ae9055cf6169b30f5089bda7bfcfc1c40a715e5"
@@ -2200,10 +2204,6 @@
version "4.3.3"
resolved "git+https://github.com/status-im/react-native-blur#c140cc8e7d54e3318af0a7c149b5d64b54de3419"
"@react-native-community/cameraroll@git+https://github.com/status-im/react-native-cameraroll.git#refs/tags/v4.0.4-status.0":
version "4.0.4"
resolved "git+https://github.com/status-im/react-native-cameraroll.git#337c5a515e9b0f0728882f73568075553415f523"
"@react-native-community/cli-clean@^8.0.4":
version "8.0.4"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-8.0.4.tgz#97e16a20e207b95de12e29b03816e8f2b2c80cc7"
@@ -7018,11 +7018,6 @@ lodash@^3.10.0:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=
lodash@^4.14.2:
version "4.17.19"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
lodash@^4.17.10, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15:
version "4.17.15"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
@@ -8774,12 +8769,10 @@ react-native-blob-util@^0.13.18:
base-64 "0.1.0"
glob "^7.1.6"
react-native-camera-kit@^13.0.0:
version "13.0.0"
resolved "https://registry.yarnpkg.com/react-native-camera-kit/-/react-native-camera-kit-13.0.0.tgz#983d9146cdeb0ec0cb0c0a86b7fa5f7690df08f6"
integrity sha512-fnkyivCG2xzS+14/doP8pCAYNafYaTyg5J0t+JJltJdgKSHf328OG44Rd+fnbbEOydZxgy/bcuLB24R0kCbynw==
dependencies:
lodash "^4.14.2"
react-native-camera-kit@14.0.0-beta13:
version "14.0.0-beta13"
resolved "https://registry.yarnpkg.com/react-native-camera-kit/-/react-native-camera-kit-14.0.0-beta13.tgz#7d1c40571e7e7ce2c4b6bd6f58807f7573217c3c"
integrity sha512-49q6l/Y3j1QMUDPGqIqkUzdraNtKWVQz5X4U8qfixSe+MeWe0N1vWlWWr8iH1apxQCS5v0dKPlYot0e3VKy05g==
react-native-codegen@^0.69.2:
version "0.69.2"