Compare commits
42
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
59896858d0 | ||
|
|
31c55b2a8e | ||
|
|
dc335cc333 | ||
|
|
e0c7ecc6df | ||
|
|
d33648917a | ||
|
|
5f7d7254e7 | ||
|
|
df939bf85f | ||
|
|
874906b11f | ||
|
|
799bd1d4dc | ||
|
|
256c9f7b10 | ||
|
|
60e1783b36 | ||
|
|
3208ec1b28 | ||
|
|
8f75761ae9 | ||
|
|
08ee3b7646 | ||
|
|
98397c5bdc | ||
|
|
af07205f20 | ||
|
|
672358fbce | ||
|
|
255ba9a862 | ||
|
|
4942238cae | ||
|
|
6a32006e6a | ||
|
|
b119860b81 | ||
|
|
6a7f04a5a8 | ||
|
|
2451240341 | ||
|
|
39065ff67a | ||
|
|
f226f0db18 | ||
|
|
48f00f17a9 | ||
|
|
9f245ceb30 | ||
|
|
4a0c171257 | ||
|
|
2b2333fdf3 | ||
|
|
94e728bdf3 | ||
|
|
7f2cb54d09 | ||
|
|
402e67d199 | ||
|
|
0d2869bfe0 | ||
|
|
3634edab42 | ||
|
|
712e67a62e | ||
|
|
d223151b93 | ||
|
|
9c7cb0fe93 | ||
|
|
a3e713bbf0 | ||
|
|
cedd4900d5 | ||
|
|
e9a6b4e60e | ||
|
|
a3b4238bd1 | ||
|
|
be698fb29c |
@@ -32,7 +32,7 @@ ifndef BUILD_TAG
|
||||
export BUILD_TAG := $(shell git rev-parse --short HEAD)
|
||||
endif
|
||||
|
||||
# We don't want to use /run/user/$UID because it runs out of space too easilly.
|
||||
# We don't want to use /run/user/$UID because it runs out of space too easily.
|
||||
export TMPDIR = /tmp/tmp-status-mobile-$(BUILD_TAG)
|
||||
# This has to be specified for both the Node.JS server process and the Qt process.
|
||||
export REACT_SERVER_PORT ?= 5001
|
||||
|
||||
@@ -70,8 +70,30 @@
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<!-- Handles http and https URLs for status.app -->
|
||||
<data android:scheme="http" android:host="status.app" />
|
||||
<data android:scheme="https" android:host="status.app" />
|
||||
<!-- Community paths -->
|
||||
<data android:pathPattern="/c/.*" android:host="status.app" android:scheme="http" />
|
||||
<data android:pathPattern="/c/.*" android:host="status.app" android:scheme="https" />
|
||||
<!-- Community channel paths -->
|
||||
<data android:pathPattern="/cc/.*" android:host="status.app" android:scheme="http" />
|
||||
<data android:pathPattern="/cc/.*" android:host="status.app" android:scheme="https" />
|
||||
<!-- User paths -->
|
||||
<data android:pathPattern="/u/.*" android:host="status.app" android:scheme="http" />
|
||||
<data android:pathPattern="/u/.*" android:host="status.app" android:scheme="https" />
|
||||
<!-- Private chat paths -->
|
||||
<data android:pathPattern="/p/.*" android:host="status.app" android:scheme="http" />
|
||||
<data android:pathPattern="/p/.*" android:host="status.app" android:scheme="https" />
|
||||
<!-- Community request paths -->
|
||||
<data android:pathPattern="/cr/.*" android:host="status.app" android:scheme="http" />
|
||||
<data android:pathPattern="/cr/.*" android:host="status.app" android:scheme="https" />
|
||||
<!-- Group chat paths -->
|
||||
<data android:pathPattern="/g/.*" android:host="status.app" android:scheme="http" />
|
||||
<data android:pathPattern="/g/.*" android:host="status.app" android:scheme="https" />
|
||||
<!-- Wallet paths -->
|
||||
<data android:pathPattern="/wallet/.*" android:host="status.app" android:scheme="http" />
|
||||
<data android:pathPattern="/wallet/.*" android:host="status.app" android:scheme="https" />
|
||||
</intent-filter>
|
||||
<intent-filter android:autoVerify="true">
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
|
||||
+9
-7
@@ -1,7 +1,5 @@
|
||||
PODS:
|
||||
- boost (1.83.0)
|
||||
- BVLinearGradient (2.8.0):
|
||||
- React-Core
|
||||
- CryptoSwift (1.5.1)
|
||||
- DoubleConversion (1.1.6)
|
||||
- FBLazyVector (0.73.5)
|
||||
@@ -1161,6 +1159,10 @@ PODS:
|
||||
- TOCropViewController
|
||||
- RNKeychain (8.1.2):
|
||||
- React-Core
|
||||
- RNLinearGradient (3.0.0-alpha.1):
|
||||
- glog
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-Core
|
||||
- RNPermissions (4.1.5):
|
||||
- React-Core
|
||||
- RNReanimated (3.6.1):
|
||||
@@ -1188,7 +1190,6 @@ PODS:
|
||||
|
||||
DEPENDENCIES:
|
||||
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
|
||||
- BVLinearGradient (from `../node_modules/react-native-linear-gradient`)
|
||||
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
|
||||
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
|
||||
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
|
||||
@@ -1269,6 +1270,7 @@ DEPENDENCIES:
|
||||
- RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
|
||||
- RNImageCropPicker (from `../node_modules/react-native-image-crop-picker`)
|
||||
- RNKeychain (from `../node_modules/react-native-keychain`)
|
||||
- RNLinearGradient (from `../node_modules/react-native-linear-gradient`)
|
||||
- RNPermissions (from `../node_modules/react-native-permissions`)
|
||||
- RNReanimated (from `../node_modules/react-native-reanimated`)
|
||||
- RNShare (from `../node_modules/react-native-share`)
|
||||
@@ -1294,8 +1296,6 @@ SPEC REPOS:
|
||||
EXTERNAL SOURCES:
|
||||
boost:
|
||||
:podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec"
|
||||
BVLinearGradient:
|
||||
:path: "../node_modules/react-native-linear-gradient"
|
||||
DoubleConversion:
|
||||
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
|
||||
FBLazyVector:
|
||||
@@ -1451,6 +1451,8 @@ EXTERNAL SOURCES:
|
||||
:path: "../node_modules/react-native-image-crop-picker"
|
||||
RNKeychain:
|
||||
:path: "../node_modules/react-native-keychain"
|
||||
RNLinearGradient:
|
||||
:path: "../node_modules/react-native-linear-gradient"
|
||||
RNPermissions:
|
||||
:path: "../node_modules/react-native-permissions"
|
||||
RNReanimated:
|
||||
@@ -1478,13 +1480,12 @@ CHECKOUT OPTIONS:
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
boost: d3f49c53809116a5d38da093a8aa78bf551aed09
|
||||
BVLinearGradient: 612a04ff38e8480291f3379ee5b5a2c571f03fe0
|
||||
CryptoSwift: c4f2debceb38bf44c80659afe009f71e23e4a082
|
||||
DoubleConversion: fea03f2699887d960129cc54bba7e52542b6f953
|
||||
FBLazyVector: 56e0e498dbb513b96c40bac6284729ba4e62672d
|
||||
FBReactNativeSpec: 146c741a3f40361f6bc13a4ba284678cbedb5881
|
||||
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
|
||||
glog: c5d68082e772fa1c511173d6b30a9de2c05a69a2
|
||||
glog: 530710e7949eb12c82670bd09e946becf50a3c2a
|
||||
hermes-engine: 1d1835b2cc54c381909d94d1b3c8e0a2f1a94a0e
|
||||
HMSegmentedControl: 34c1f54d822d8308e7b24f5d901ec674dfa31352
|
||||
Keycard: ac6df4d91525c3c82635ac24d4ddd9a80aca5fc8
|
||||
@@ -1561,6 +1562,7 @@ SPEC CHECKSUMS:
|
||||
RNGestureHandler: 15c6ef51acba34c49ff03003806cf5dd6098f383
|
||||
RNImageCropPicker: 486e2f7e2b0461ce24321f751410dce1b3b49e6d
|
||||
RNKeychain: a65256b6ca6ba6976132cc4124b238a5b13b3d9c
|
||||
RNLinearGradient: ccaaebce083b54180da61d992e7fa56abfe000d6
|
||||
RNPermissions: 08e619529cced22695f4b6d0efcc0a233e278903
|
||||
RNReanimated: dee37576492f1a375017515f5c77e66e5eec696b
|
||||
RNShare: 859ff710211285676b0bcedd156c12437ea1d564
|
||||
|
||||
@@ -8,10 +8,9 @@
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
00E356F31AD99517003FC87E /* StatusImTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* StatusImTests.m */; };
|
||||
0BF51D8C7FBD6A668E6E1FC0 /* libPods-Status-StatusIm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 45C29909A975E0654116557F /* libPods-Status-StatusIm.a */; };
|
||||
131972279C6DBF736235F9F9 /* libPods-Status-StatusIm-StatusImTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D9DF8AC0F6547107DE1A25D /* libPods-Status-StatusIm-StatusImTests.a */; };
|
||||
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; };
|
||||
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
||||
231CD38186B86957CFCF645E /* libPods-Status-StatusIm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DA19658BCC29789EBB3DE79 /* libPods-Status-StatusIm.a */; };
|
||||
25DC9C9DC25846BD8D084888 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B9A886A2CB448B1ABA0EB62 /* libc++.tbd */; };
|
||||
3870E1E692E24133A80B07DE /* Inter-SemiBold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 693A62DB37BC4CD5A30E5C96 /* Inter-SemiBold.otf */; };
|
||||
393D26E3080B443A998F4A2F /* Inter-Italic.otf in Resources */ = {isa = PBXBuildFile; fileRef = B07176ACDAA1422E8F0A3D6B /* Inter-Italic.otf */; };
|
||||
@@ -41,11 +40,13 @@
|
||||
65F6941925780A4F00A45E76 /* Bridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65F6941825780A4F00A45E76 /* Bridge.swift */; };
|
||||
65F6941A25780A4F00A45E76 /* Bridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65F6941825780A4F00A45E76 /* Bridge.swift */; };
|
||||
65F6941B25780A4F00A45E76 /* Bridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65F6941825780A4F00A45E76 /* Bridge.swift */; };
|
||||
67A3DF2242D5B6C35A4C6A33 /* libPods-Status-StatusIm-StatusImTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A7B7F8B9749AB74BB0697B49 /* libPods-Status-StatusIm-StatusImTests.a */; };
|
||||
70ADBB5ECF934DCF8A0E4919 /* Inter-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = 1426DF592BA248FC81D955CB /* Inter-Regular.otf */; };
|
||||
715D8132290BE850006F5C88 /* UbuntuMono-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 715D8131290BE850006F5C88 /* UbuntuMono-Regular.ttf */; };
|
||||
715D8133290BE850006F5C88 /* UbuntuMono-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 715D8131290BE850006F5C88 /* UbuntuMono-Regular.ttf */; };
|
||||
74B758FC20D7C00B003343C3 /* launch-image-universal.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 74B758FB20D7C00B003343C3 /* launch-image-universal.storyboard */; };
|
||||
8391E8E0E93C41A98AAA6631 /* Inter-SemiBoldItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = A4F2BBE8D4DD4140A6CCAC39 /* Inter-SemiBoldItalic.otf */; };
|
||||
A1B6E23C86E6A40AFE74E925 /* libPods-Status-StatusImPR.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E9723BBA39FC5B087C3D475 /* libPods-Status-StatusImPR.a */; };
|
||||
B24FC7FD1DE7195700D694FF /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B24FC7FC1DE7195700D694FF /* Social.framework */; };
|
||||
B24FC7FF1DE7195F00D694FF /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B24FC7FE1DE7195F00D694FF /* MessageUI.framework */; };
|
||||
B2F2D1BC1D9D531B00B7B453 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B2F2D1BB1D9D531B00B7B453 /* Images.xcassets */; };
|
||||
@@ -60,7 +61,6 @@
|
||||
D1786306E0184916B11F4C37 /* Inter-Medium.otf in Resources */ = {isa = PBXBuildFile; fileRef = B2A38FC3D3954DE7B2B171F8 /* Inter-Medium.otf */; };
|
||||
D84616FB563A48EBB1678699 /* Inter-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = CD4A2C27D6D5473184DC1F7E /* Inter-Bold.otf */; };
|
||||
D99C50E5E18942A39C8DDF61 /* Inter-BoldItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = B321D25F4493470980039457 /* Inter-BoldItalic.otf */; };
|
||||
DE2F1721F9D5702C7CEC5594 /* libPods-Status-StatusImPR.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B17DF204648B8189F8ABD0A7 /* libPods-Status-StatusImPR.a */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@@ -108,23 +108,23 @@
|
||||
00E356EE1AD99517003FC87E /* StatusImTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StatusImTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
00E356F21AD99517003FC87E /* StatusImTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = StatusImTests.m; sourceTree = "<group>"; };
|
||||
0E9723BBA39FC5B087C3D475 /* libPods-Status-StatusImPR.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Status-StatusImPR.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
13B07F961A680F5B00A75B9A /* StatusIm.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StatusIm.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = StatusIm/AppDelegate.h; sourceTree = "<group>"; };
|
||||
13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = StatusIm/AppDelegate.mm; sourceTree = "<group>"; };
|
||||
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = StatusIm/Info.plist; sourceTree = "<group>"; };
|
||||
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = StatusIm/main.m; sourceTree = "<group>"; };
|
||||
1426DF592BA248FC81D955CB /* Inter-Regular.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Regular.otf"; path = "../resources/fonts/Inter-Regular.otf"; sourceTree = "<group>"; };
|
||||
1B74FBFCB9B8E34B63250A52 /* Pods-Status-StatusIm-StatusImTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusIm-StatusImTests.release.xcconfig"; path = "Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
232FE8EAB57384181B0DB836 /* Pods-Status-StatusIm.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusIm.release.xcconfig"; path = "Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm.release.xcconfig"; sourceTree = "<group>"; };
|
||||
2D9DF8AC0F6547107DE1A25D /* libPods-Status-StatusIm-StatusImTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Status-StatusIm-StatusImTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
2F18074BFB7862090B68D75F /* Pods-Status-StatusImPR.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusImPR.debug.xcconfig"; path = "Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
3A2626CE245C3F2200D5F94B /* Dummy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Dummy.swift; sourceTree = "<group>"; };
|
||||
3A6406FB24A3ADF90046ED37 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
3A8F8EA924A4D31600BF206D /* GameKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameKit.framework; path = System/Library/Frameworks/GameKit.framework; sourceTree = SDKROOT; };
|
||||
3AAD2ADC24A3A60E0075D594 /* Status PR.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Status PR.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3AB1C3AD245C043900098F67 /* StatusIm-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "StatusIm-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
45C29909A975E0654116557F /* libPods-Status-StatusIm.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Status-StatusIm.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4C16DE0B1F89508700AA10DB /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
||||
4E586E1B0E544F64AA9F5BD1 /* libz.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
|
||||
5D2EA2A248267BA083152C22 /* Pods-Status-StatusIm.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusIm.release.xcconfig"; path = "Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm.release.xcconfig"; sourceTree = "<group>"; };
|
||||
5DA19658BCC29789EBB3DE79 /* libPods-Status-StatusIm.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Status-StatusIm.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
65F693BD2578002500A45E76 /* CoreNFC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreNFC.framework; path = System/Library/Frameworks/CoreNFC.framework; sourceTree = SDKROOT; };
|
||||
65F693BF2578003600A45E76 /* CoreNFC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreNFC.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/System/iOSSupport/System/Library/Frameworks/CoreNFC.framework; sourceTree = DEVELOPER_DIR; };
|
||||
65F6941725780A4E00A45E76 /* StatusImTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "StatusImTests-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
@@ -132,16 +132,14 @@
|
||||
693A62DB37BC4CD5A30E5C96 /* Inter-SemiBold.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-SemiBold.otf"; path = "../resources/fonts/Inter-SemiBold.otf"; sourceTree = "<group>"; };
|
||||
715D8131290BE850006F5C88 /* UbuntuMono-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "UbuntuMono-Regular.ttf"; path = "../resources/fonts/UbuntuMono-Regular.ttf"; sourceTree = "<group>"; };
|
||||
74B758FB20D7C00B003343C3 /* launch-image-universal.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = "launch-image-universal.storyboard"; sourceTree = "<group>"; };
|
||||
7A393286DD0E844D050D0B89 /* Pods-Status-StatusImPR.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusImPR.release.xcconfig"; path = "Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR.release.xcconfig"; sourceTree = "<group>"; };
|
||||
7BF7B2DB23EE09E5229629DA /* Pods-Status-StatusImPR.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusImPR.debug.xcconfig"; path = "Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
8B9A886A2CB448B1ABA0EB62 /* libc++.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
|
||||
922C4CA61F4D5F8B0033C753 /* StatusIm.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = StatusIm.entitlements; path = StatusIm/StatusIm.entitlements; sourceTree = "<group>"; };
|
||||
9C76AF5A418D4D65A4CAD1D9 /* InterStatus-Regular.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "InterStatus-Regular.otf"; path = "../resources/fonts/InterStatus-Regular.otf"; sourceTree = "<group>"; };
|
||||
9EC0135C1E06FB1900155B5C /* RCTWKWebView.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWKWebView.xcodeproj; path = "../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView.xcodeproj"; sourceTree = "<group>"; };
|
||||
A0B5AD061DF0F6CC98603A99 /* Pods-Status-StatusIm.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusIm.debug.xcconfig"; path = "Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
A4F2BBE8D4DD4140A6CCAC39 /* Inter-SemiBoldItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-SemiBoldItalic.otf"; path = "../resources/fonts/Inter-SemiBoldItalic.otf"; sourceTree = "<group>"; };
|
||||
A7B7F8B9749AB74BB0697B49 /* libPods-Status-StatusIm-StatusImTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Status-StatusIm-StatusImTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
B064AF9CEF590E7140F5193F /* Pods-Status-StatusIm.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusIm.debug.xcconfig"; path = "Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
B07176ACDAA1422E8F0A3D6B /* Inter-Italic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Italic.otf"; path = "../resources/fonts/Inter-Italic.otf"; sourceTree = "<group>"; };
|
||||
B17DF204648B8189F8ABD0A7 /* libPods-Status-StatusImPR.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Status-StatusImPR.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
B24FC7FC1DE7195700D694FF /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; };
|
||||
B24FC7FE1DE7195F00D694FF /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; };
|
||||
B2A38FC3D3954DE7B2B171F8 /* Inter-Medium.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Medium.otf"; path = "../resources/fonts/Inter-Medium.otf"; sourceTree = "<group>"; };
|
||||
@@ -153,7 +151,9 @@
|
||||
C6B1215047604CD59A4C74D6 /* Inter-MediumItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-MediumItalic.otf"; path = "../resources/fonts/Inter-MediumItalic.otf"; sourceTree = "<group>"; };
|
||||
CD4A2C27D6D5473184DC1F7E /* Inter-Bold.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Bold.otf"; path = "../resources/fonts/Inter-Bold.otf"; sourceTree = "<group>"; };
|
||||
CE4E31B21D8695250033ED64 /* Statusgo.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Statusgo.xcframework; path = "../modules/react-native-status/ios/RCTStatus/Statusgo.xcframework"; sourceTree = "<group>"; };
|
||||
D40C4023C7D5B793AEF98426 /* Pods-Status-StatusIm-StatusImTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusIm-StatusImTests.debug.xcconfig"; path = "Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
D1249D8E109F0F96FFE2CA6C /* Pods-Status-StatusImPR.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusImPR.release.xcconfig"; path = "Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR.release.xcconfig"; sourceTree = "<group>"; };
|
||||
E089B0F56B6F6715D444A841 /* Pods-Status-StatusIm-StatusImTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusIm-StatusImTests.debug.xcconfig"; path = "Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
EAAD01A6F886D961CE1A9541 /* Pods-Status-StatusIm-StatusImTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusIm-StatusImTests.release.xcconfig"; path = "Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -161,7 +161,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
131972279C6DBF736235F9F9 /* libPods-Status-StatusIm-StatusImTests.a in Frameworks */,
|
||||
67A3DF2242D5B6C35A4C6A33 /* libPods-Status-StatusIm-StatusImTests.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -174,7 +174,7 @@
|
||||
CE4E31B31D8695250033ED64 /* Statusgo.xcframework in Frameworks */,
|
||||
25DC9C9DC25846BD8D084888 /* libc++.tbd in Frameworks */,
|
||||
BA68A2377A20496EA737000D /* libz.tbd in Frameworks */,
|
||||
0BF51D8C7FBD6A668E6E1FC0 /* libPods-Status-StatusIm.a in Frameworks */,
|
||||
231CD38186B86957CFCF645E /* libPods-Status-StatusIm.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -188,7 +188,7 @@
|
||||
3AAD2AC224A3A60E0075D594 /* Statusgo.xcframework in Frameworks */,
|
||||
3AAD2AC524A3A60E0075D594 /* libc++.tbd in Frameworks */,
|
||||
3AAD2AC624A3A60E0075D594 /* libz.tbd in Frameworks */,
|
||||
DE2F1721F9D5702C7CEC5594 /* libPods-Status-StatusImPR.a in Frameworks */,
|
||||
A1B6E23C86E6A40AFE74E925 /* libPods-Status-StatusImPR.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -314,9 +314,9 @@
|
||||
CE4E31B21D8695250033ED64 /* Statusgo.xcframework */,
|
||||
8B9A886A2CB448B1ABA0EB62 /* libc++.tbd */,
|
||||
4E586E1B0E544F64AA9F5BD1 /* libz.tbd */,
|
||||
45C29909A975E0654116557F /* libPods-Status-StatusIm.a */,
|
||||
2D9DF8AC0F6547107DE1A25D /* libPods-Status-StatusIm-StatusImTests.a */,
|
||||
B17DF204648B8189F8ABD0A7 /* libPods-Status-StatusImPR.a */,
|
||||
5DA19658BCC29789EBB3DE79 /* libPods-Status-StatusIm.a */,
|
||||
A7B7F8B9749AB74BB0697B49 /* libPods-Status-StatusIm-StatusImTests.a */,
|
||||
0E9723BBA39FC5B087C3D475 /* libPods-Status-StatusImPR.a */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
@@ -324,12 +324,12 @@
|
||||
D0D5C8D06825D33BA2D2121E /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A0B5AD061DF0F6CC98603A99 /* Pods-Status-StatusIm.debug.xcconfig */,
|
||||
232FE8EAB57384181B0DB836 /* Pods-Status-StatusIm.release.xcconfig */,
|
||||
D40C4023C7D5B793AEF98426 /* Pods-Status-StatusIm-StatusImTests.debug.xcconfig */,
|
||||
1B74FBFCB9B8E34B63250A52 /* Pods-Status-StatusIm-StatusImTests.release.xcconfig */,
|
||||
7BF7B2DB23EE09E5229629DA /* Pods-Status-StatusImPR.debug.xcconfig */,
|
||||
7A393286DD0E844D050D0B89 /* Pods-Status-StatusImPR.release.xcconfig */,
|
||||
B064AF9CEF590E7140F5193F /* Pods-Status-StatusIm.debug.xcconfig */,
|
||||
5D2EA2A248267BA083152C22 /* Pods-Status-StatusIm.release.xcconfig */,
|
||||
E089B0F56B6F6715D444A841 /* Pods-Status-StatusIm-StatusImTests.debug.xcconfig */,
|
||||
EAAD01A6F886D961CE1A9541 /* Pods-Status-StatusIm-StatusImTests.release.xcconfig */,
|
||||
2F18074BFB7862090B68D75F /* Pods-Status-StatusImPR.debug.xcconfig */,
|
||||
D1249D8E109F0F96FFE2CA6C /* Pods-Status-StatusImPR.release.xcconfig */,
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
@@ -341,12 +341,12 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "StatusImTests" */;
|
||||
buildPhases = (
|
||||
5937040F3338CDF93E777A93 /* [CP] Check Pods Manifest.lock */,
|
||||
9B331412309D5F5632348AEE /* [CP] Check Pods Manifest.lock */,
|
||||
00E356EA1AD99517003FC87E /* Sources */,
|
||||
00E356EB1AD99517003FC87E /* Frameworks */,
|
||||
00E356EC1AD99517003FC87E /* Resources */,
|
||||
7AD665439C08CFEF5EF84F6A /* [CP] Embed Pods Frameworks */,
|
||||
02C1A8CA208E38DA07BAC311 /* [CP] Copy Pods Resources */,
|
||||
7545D1B37CABFA574D6D6C31 /* [CP] Embed Pods Frameworks */,
|
||||
A3AD03105488DA5BC8E8C199 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -362,15 +362,15 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "StatusIm" */;
|
||||
buildPhases = (
|
||||
1DFD6BF757E89B72F40FCEE9 /* [CP] Check Pods Manifest.lock */,
|
||||
236F25332B0D1B4DCC0E041E /* [CP] Check Pods Manifest.lock */,
|
||||
13B07F871A680F5B00A75B9A /* Sources */,
|
||||
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
||||
13B07F8E1A680F5B00A75B9A /* Resources */,
|
||||
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
|
||||
20B6B6891D92C42700CC5C6A /* Embed Frameworks */,
|
||||
E3914A731DF919ED00EBB515 /* Run Script */,
|
||||
50F2A2E15670F86233743A5C /* [CP] Embed Pods Frameworks */,
|
||||
1B623A051F855FC5B09A0480 /* [CP] Copy Pods Resources */,
|
||||
37D91248C8178FEAC1661AE0 /* [CP] Embed Pods Frameworks */,
|
||||
BC5CED24C6D00996607C4942 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -385,15 +385,15 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 3AAD2AD924A3A60E0075D594 /* Build configuration list for PBXNativeTarget "StatusImPR" */;
|
||||
buildPhases = (
|
||||
EB421F3ED78A38D285D771D2 /* [CP] Check Pods Manifest.lock */,
|
||||
D0B7F25508F9BD7C6B30AF36 /* [CP] Check Pods Manifest.lock */,
|
||||
3AAD2ABB24A3A60E0075D594 /* Sources */,
|
||||
3AAD2ABF24A3A60E0075D594 /* Frameworks */,
|
||||
3AAD2AC924A3A60E0075D594 /* Resources */,
|
||||
3AAD2AD524A3A60E0075D594 /* Bundle React Native code and images */,
|
||||
3AAD2AD624A3A60E0075D594 /* Embed Frameworks */,
|
||||
3AAD2AD724A3A60E0075D594 /* Run Script */,
|
||||
F4561A2D3C9E6C4B66F4C4F5 /* [CP] Embed Pods Frameworks */,
|
||||
6FA1467F7B916ED92FA688E0 /* [CP] Copy Pods Resources */,
|
||||
5C9736BD9798020B8F31802B /* [CP] Embed Pods Frameworks */,
|
||||
B76C3637DC2DDBB6E8472904 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -547,55 +547,7 @@
|
||||
shellPath = "/usr/bin/env sh";
|
||||
shellScript = "set -o errexit\nexport NODE_BINARY=\"${NODE_BINARY:-node}\"\nexport NODE_ARGS=\"${NODE_ARGS:- --max-old-space-size=16384 }\"\n\n\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n";
|
||||
};
|
||||
02C1A8CA208E38DA07BAC311 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests-resources.sh",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNPermissions/RNPermissionsPrivacyInfo.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNPermissionsPrivacyInfo.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
1B623A051F855FC5B09A0480 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm-resources.sh",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNPermissions/RNPermissionsPrivacyInfo.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNPermissionsPrivacyInfo.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
1DFD6BF757E89B72F40FCEE9 /* [CP] Check Pods Manifest.lock */ = {
|
||||
236F25332B0D1B4DCC0E041E /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@@ -617,6 +569,24 @@
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
37D91248C8178FEAC1661AE0 /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm-frameworks.sh",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
3AAD2AD524A3A60E0075D594 /* Bundle React Native code and images */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -645,13 +615,13 @@
|
||||
shellPath = "/usr/bin/env sh";
|
||||
shellScript = "\"${PROJECT_DIR}/scripts/set_xcode_version.sh\" > ../logs/set_xcode_version.log 2>&1\n";
|
||||
};
|
||||
50F2A2E15670F86233743A5C /* [CP] Embed Pods Frameworks */ = {
|
||||
5C9736BD9798020B8F31802B /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm-frameworks.sh",
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR-frameworks.sh",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
@@ -660,10 +630,28 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm-frameworks.sh\"\n";
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
5937040F3338CDF93E777A93 /* [CP] Check Pods Manifest.lock */ = {
|
||||
7545D1B37CABFA574D6D6C31 /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests-frameworks.sh",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
9B331412309D5F5632348AEE /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@@ -685,7 +673,31 @@
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
6FA1467F7B916ED92FA688E0 /* [CP] Copy Pods Resources */ = {
|
||||
A3AD03105488DA5BC8E8C199 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests-resources.sh",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNPermissions/RNPermissionsPrivacyInfo.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNPermissionsPrivacyInfo.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
B76C3637DC2DDBB6E8472904 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@@ -709,39 +721,31 @@
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
7AD665439C08CFEF5EF84F6A /* [CP] Embed Pods Frameworks */ = {
|
||||
BC5CED24C6D00996607C4942 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests-frameworks.sh",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm-resources.sh",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNPermissions/RNPermissionsPrivacyInfo.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNPermissionsPrivacyInfo.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests-frameworks.sh\"\n";
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
E3914A731DF919ED00EBB515 /* Run Script */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 8;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Run Script";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 1;
|
||||
shellPath = "/usr/bin/env sh";
|
||||
shellScript = "\"${PROJECT_DIR}/scripts/set_xcode_version.sh\" > ../logs/set_xcode_version.log 2>&1\n";
|
||||
};
|
||||
EB421F3ED78A38D285D771D2 /* [CP] Check Pods Manifest.lock */ = {
|
||||
D0B7F25508F9BD7C6B30AF36 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@@ -763,23 +767,19 @@
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
F4561A2D3C9E6C4B66F4C4F5 /* [CP] Embed Pods Frameworks */ = {
|
||||
E3914A731DF919ED00EBB515 /* Run Script */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
buildActionMask = 8;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR-frameworks.sh",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
name = "Run Script";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
runOnlyForDeploymentPostprocessing = 1;
|
||||
shellPath = "/usr/bin/env sh";
|
||||
shellScript = "\"${PROJECT_DIR}/scripts/set_xcode_version.sh\" > ../logs/set_xcode_version.log 2>&1\n";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
@@ -828,7 +828,7 @@
|
||||
/* Begin XCBuildConfiguration section */
|
||||
00E356F61AD99517003FC87E /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D40C4023C7D5B793AEF98426 /* Pods-Status-StatusIm-StatusImTests.debug.xcconfig */;
|
||||
baseConfigurationReference = E089B0F56B6F6715D444A841 /* Pods-Status-StatusIm-StatusImTests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
BUNDLE_ID_SUFFIX = .debug;
|
||||
@@ -865,7 +865,7 @@
|
||||
};
|
||||
00E356F71AD99517003FC87E /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 1B74FBFCB9B8E34B63250A52 /* Pods-Status-StatusIm-StatusImTests.release.xcconfig */;
|
||||
baseConfigurationReference = EAAD01A6F886D961CE1A9541 /* Pods-Status-StatusIm-StatusImTests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
BUNDLE_ID_SUFFIX = "";
|
||||
@@ -898,7 +898,7 @@
|
||||
};
|
||||
13B07F941A680F5B00A75B9A /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = A0B5AD061DF0F6CC98603A99 /* Pods-Status-StatusIm.debug.xcconfig */;
|
||||
baseConfigurationReference = B064AF9CEF590E7140F5193F /* Pods-Status-StatusIm.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon$(BUNDLE_ID_SUFFIX)";
|
||||
BUNDLE_ID_SUFFIX = .debug;
|
||||
@@ -980,7 +980,7 @@
|
||||
};
|
||||
13B07F951A680F5B00A75B9A /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 232FE8EAB57384181B0DB836 /* Pods-Status-StatusIm.release.xcconfig */;
|
||||
baseConfigurationReference = 5D2EA2A248267BA083152C22 /* Pods-Status-StatusIm.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon$(BUNDLE_ID_SUFFIX)";
|
||||
BUNDLE_ID_SUFFIX = "";
|
||||
@@ -1055,7 +1055,7 @@
|
||||
};
|
||||
3AAD2ADA24A3A60E0075D594 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 7BF7B2DB23EE09E5229629DA /* Pods-Status-StatusImPR.debug.xcconfig */;
|
||||
baseConfigurationReference = 2F18074BFB7862090B68D75F /* Pods-Status-StatusImPR.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon$(BUNDLE_ID_SUFFIX)";
|
||||
BUNDLE_ID_SUFFIX = .debug;
|
||||
@@ -1135,7 +1135,7 @@
|
||||
};
|
||||
3AAD2ADB24A3A60E0075D594 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 7A393286DD0E844D050D0B89 /* Pods-Status-StatusImPR.release.xcconfig */;
|
||||
baseConfigurationReference = D1249D8E109F0F96FFE2CA6C /* Pods-Status-StatusImPR.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = "AppIconPR$(BUNDLE_ID_SUFFIX)";
|
||||
BUNDLE_ID_SUFFIX = "";
|
||||
|
||||
+5
@@ -314,6 +314,11 @@ class AccountManager(private val reactContext: ReactApplicationContext) : ReactC
|
||||
)
|
||||
}
|
||||
|
||||
@ReactMethod
|
||||
fun createAccountFromPrivateKey(json: String, callback: Callback) {
|
||||
utils.executeRunnableStatusGoMethod({ Statusgo.createAccountFromPrivateKey(json) }, callback)
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val TAG = "AccountManager"
|
||||
private const val gethLogFileName = "geth.log"
|
||||
|
||||
@@ -233,4 +233,12 @@ RCT_EXPORT_METHOD(createAccountFromMnemonicAndDeriveAccountsForPaths:(NSString *
|
||||
callback(@[result]);
|
||||
}
|
||||
|
||||
RCT_EXPORT_METHOD(createAccountFromPrivateKey:(NSString *)configJSON callback:(RCTResponseSenderBlock)callback) {
|
||||
#if DEBUG
|
||||
NSLog(@"createAccountFromPrivateKey() method called");
|
||||
#endif
|
||||
NSString *result = StatusgoCreateAccountFromPrivateKey(configJSON);
|
||||
callback(@[result]);
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
+143
-105
@@ -8461,6 +8461,10 @@
|
||||
"sha1": "fcfa9f6e411771b8be9bee29e9d318867d3e1bc3",
|
||||
"sha256": "sha256-ZMFGqsSRjMPiHhMij1/kF4VZM7GBN0zML4me8eFWsm0="
|
||||
},
|
||||
"commons-logging-1.3.2-api.jar": {
|
||||
"sha1": "0cf1bbd995c6ad9a2bf03efa94b4753409afd1d0",
|
||||
"sha256": "sha256-FULIR7cLw1ucpucmKT9wm/5cy26alI+5KjeG/6lWE40="
|
||||
},
|
||||
"commons-logging-1.3.2.jar": {
|
||||
"sha1": "3dc966156ef19d23c839715165435e582fafa753",
|
||||
"sha256": "sha256-a4WEJPUYAV8yv80Rg6Nz9Kgn1y0Ca2Ax2gyRzw6PNIk="
|
||||
@@ -10951,16 +10955,16 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/auto/value/auto-value-annotations/1.10.4",
|
||||
"path": "com/google/auto/value/auto-value-annotations/1.11.0",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"auto-value-annotations-1.10.4.pom": {
|
||||
"sha1": "1625b4e3671cc5ef044f7e0ed98c15bbfeba13bb",
|
||||
"sha256": "sha256-c6W4UV+F+IxAiff/SkPNF5Wkgf2rk/qQULE8+hqNJfc="
|
||||
"auto-value-annotations-1.11.0.pom": {
|
||||
"sha1": "a6b3d6cd083f5e03aad810d4bc2b08755cf91753",
|
||||
"sha256": "sha256-KuwW406j4BFiGgMi9PNvj5v5iLtURitVcJduieoHsSI="
|
||||
},
|
||||
"auto-value-annotations-1.10.4.jar": {
|
||||
"sha1": "9679de8286eb0a151db6538ba297a8951c4a1224",
|
||||
"sha256": "sha256-4cRea+ra75eXyw2a/VpFYhrQYc2GMgEvhVgoU6OIeCU="
|
||||
"auto-value-annotations-1.11.0.jar": {
|
||||
"sha1": "f0d047931d07cfbc6fa4079854f181ff62891d6f",
|
||||
"sha256": "sha256-WgVc5CVTM7M0bhqHA9pb+P8ElTIob9zTFxLWJKvhEd0="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -10999,12 +11003,12 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/auto/value/auto-value-parent/1.10.4",
|
||||
"path": "com/google/auto/value/auto-value-parent/1.11.0",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"auto-value-parent-1.10.4.pom": {
|
||||
"sha1": "08d4397fc90a6bd37db513aee267d40b7639db13",
|
||||
"sha256": "sha256-vsOhnk3ci2QGZyMzzFBbngy2s1WLskIxSGm7bh1ojTA="
|
||||
"auto-value-parent-1.11.0.pom": {
|
||||
"sha1": "4d1249846df8ae67b8ad313bc9a6174516fa49b3",
|
||||
"sha256": "sha256-Wg0dcYVS6KRdzOASjRtrliP6lxqCzSRXUyM7pyCMsp0="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -11151,12 +11155,12 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/code/gson/gson-parent/2.10.1",
|
||||
"path": "com/google/code/gson/gson-parent/2.11.0",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"gson-parent-2.10.1.pom": {
|
||||
"sha1": "67ea6db077285dc50a9b0a627763764f0ef4a770",
|
||||
"sha256": "sha256-QkjgiCQmxhUYI4XWCGw+8yYudplXGJ4pMGKAuFSCuDM="
|
||||
"gson-parent-2.11.0.pom": {
|
||||
"sha1": "b32d3bc5c89c852efe4c176df6c3fdeccbe150ef",
|
||||
"sha256": "sha256-issfO3Km8CaRasBzW62aqwKT1Sftt7NlMn3vE6k2e3o="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -11282,16 +11286,24 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/code/gson/gson/2.10.1",
|
||||
"path": "com/google/code/gson/gson/2.11.0",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"gson-2.10.1.pom": {
|
||||
"sha1": "ce159faf33c1e665e1f3a785a5d678a2b20151bc",
|
||||
"sha256": "sha256-0rEVY09cCF20ucn/wmWOieIx/b++IkISGhzZXU2Ujdc="
|
||||
"gson-2.11.0.pom": {
|
||||
"sha1": "55796dd7cc329027df79e96c4e6631e3c02c93c5",
|
||||
"sha256": "sha256-wOVHvqmYiI5uJcWIapDnYicryItSdTQ90sBd7Wyi42A="
|
||||
},
|
||||
"gson-2.10.1.jar": {
|
||||
"sha1": "b3add478d4382b78ea20b1671390a858002feb6c",
|
||||
"sha256": "sha256-QkHBSncnw0/uplB+yAExij1KkPBw5FJWgQefuU7kxZM="
|
||||
"gson-2.11.0.buildinfo": {
|
||||
"sha1": "4d1c42ee3c07943d8e07fab98bf0491877b4c0c6",
|
||||
"sha256": "sha256-d6O/J0uIwA+ieS0kkb+yLkeL3OUzOMUcMBHW7nDr0pI="
|
||||
},
|
||||
"gson-2.11.0.buildinfo.asc": {
|
||||
"sha1": "ba50162dd390a51e11a706d62ef9a5d120138337",
|
||||
"sha256": "sha256-blLhhVcT0w8htC6V6rrqU+CZ3egMLBv5AgE76D+zGIY="
|
||||
},
|
||||
"gson-2.11.0.jar": {
|
||||
"sha1": "527175ca6d81050b53bdd4c457a6d6e017626b0e",
|
||||
"sha256": "sha256-V5KNblpu3rKr03cKj5W6RNzkXzsjt6ncKzCcWBVSp4s="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -11507,16 +11519,31 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/errorprone/error_prone_annotations/2.27.1",
|
||||
"path": "com/google/errorprone/error_prone_annotations/2.27.0",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"error_prone_annotations-2.27.1.pom": {
|
||||
"sha1": "432107569fdae073842841c566ea1eea3b2f0a96",
|
||||
"sha256": "sha256-TCN6vSm6OvOcp0TLSkHyRbX/oEXQNskkSvKrPKvKhTc="
|
||||
"error_prone_annotations-2.27.0.pom": {
|
||||
"sha1": "85103026aa50b0e4efafee8f486e3ecd9ebfde31",
|
||||
"sha256": "sha256-TKWjXWEjXhZUmsNG0eNFUc3w/ifoSqV+A8vrJV6k5do="
|
||||
},
|
||||
"error_prone_annotations-2.27.1.jar": {
|
||||
"sha1": "a87dac4f79a6e5b1e55c629f16c754c53cbd50ec",
|
||||
"sha256": "sha256-pIlbXbAkNhTZDOKixvgwYkkJwB4xWH2Ow+z1Hl5+dQY="
|
||||
"error_prone_annotations-2.27.0.jar": {
|
||||
"sha1": "91b2c29d8a6148b5e2e4930f070d4840e2e48e34",
|
||||
"sha256": "sha256-JMkjNyxY410LnxagKJKbua7cd1IYZ8J08r0HNd9bofU="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/errorprone/error_prone_annotations/2.28.0",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"error_prone_annotations-2.28.0.pom": {
|
||||
"sha1": "6ab92cea437b733e5ef832e575cbf50fa8aebfad",
|
||||
"sha256": "sha256-DOkJ8TpWgUhHbl7iAPOA+Yx1ugiXGq8V2ylet3WY7zo="
|
||||
},
|
||||
"error_prone_annotations-2.28.0.jar": {
|
||||
"sha1": "59fc00087ce372de42e394d2c789295dff2d19f0",
|
||||
"sha256": "sha256-8/yKOgpAIHBqNzsA5/V8JRLdJtH4PSjH04do+GgrIx4="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -11643,12 +11670,23 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/errorprone/error_prone_parent/2.27.1",
|
||||
"path": "com/google/errorprone/error_prone_parent/2.27.0",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"error_prone_parent-2.27.1.pom": {
|
||||
"sha1": "b00504c9994e0c16dc77d661b19421f1ffd179b4",
|
||||
"sha256": "sha256-APlKPmg8fOr5lQFP/EB/INNycrFQ0mEbNVdLjOcYIjY="
|
||||
"error_prone_parent-2.27.0.pom": {
|
||||
"sha1": "336f77abf2668b10cae4ab136ea0c8258875de00",
|
||||
"sha256": "sha256-+oGCnQSVWd9pJ/nJpv1rvQn4tQ5tRzaucsgwC2w9dlQ="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/errorprone/error_prone_parent/2.28.0",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"error_prone_parent-2.28.0.pom": {
|
||||
"sha1": "5f307de93ba6c82a0ca99404c1ab927f68c7038a",
|
||||
"sha256": "sha256-rM79u1QWzvX80t3DfbTx/LNKIZPMGlXf5ZcKExs+doM="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -11842,27 +11880,27 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/guava/guava-parent/33.2.0-jre",
|
||||
"path": "com/google/guava/guava-parent/33.2.1-jre",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"guava-parent-33.2.0-jre.pom": {
|
||||
"sha1": "f5bfac48964350d7ad36aa378acff0ed379f816b",
|
||||
"sha256": "sha256-Ng5j7DRbu9j6pK3YluMlAt//9U6DQJhFyzPB+tN7WYU="
|
||||
"guava-parent-33.2.1-jre.pom": {
|
||||
"sha1": "fc55955fab23e86fad230acc81bf570deb5660bd",
|
||||
"sha256": "sha256-kJX22O43ZZUCB1EHhYMMwigOeBBnkV+pnP4XQNSGXBQ="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/guava/guava-testlib/33.2.0-jre",
|
||||
"path": "com/google/guava/guava-testlib/33.2.1-jre",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"guava-testlib-33.2.0-jre.pom": {
|
||||
"sha1": "1d0c542e891776dcb545a86de861afb18bc79540",
|
||||
"sha256": "sha256-HQFL2lY+v0p64DOKef0JPulhIctiQz0g61uejCvIroo="
|
||||
"guava-testlib-33.2.1-jre.pom": {
|
||||
"sha1": "3b95376190925f23c89d9f2f990f2eb0bab9d2b2",
|
||||
"sha256": "sha256-ZAiayFTlu6dVYLw9PB/dPqQ1cpFXJvYMgjcsq/qnTuQ="
|
||||
},
|
||||
"guava-testlib-33.2.0-jre.jar": {
|
||||
"sha1": "4678a8fd0e7fba71a4283154fd4979f51ba294d5",
|
||||
"sha256": "sha256-HK2mwu+stz+eoRk7sMeKr/qT2DjtAGrIBtDXoeYMQlo="
|
||||
"guava-testlib-33.2.1-jre.jar": {
|
||||
"sha1": "ba7d569795211c283c4576d17528534a618a5d59",
|
||||
"sha256": "sha256-XsFBByZYQk9AzTC5FGf1zmPA5he5Hskn33JW79/S2Eo="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -12048,20 +12086,20 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/guava/guava/33.2.0-jre",
|
||||
"path": "com/google/guava/guava/33.2.1-jre",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"guava-33.2.0-jre.pom": {
|
||||
"sha1": "e78e6bc096ac140596ce47c2cd6e90f12a417779",
|
||||
"sha256": "sha256-7YMRSBtY5QTb/BtfR3C/B13BL2yshV3X1/NqUNTEGRA="
|
||||
"guava-33.2.1-jre.pom": {
|
||||
"sha1": "5f72123f1bb7d99af8b4a67745fb8309b73a6294",
|
||||
"sha256": "sha256-QoF73BwMjHN9a0Ec+vSoR2nn0nHoebAW/QhQJIoG2rU="
|
||||
},
|
||||
"guava-33.2.0-jre.jar": {
|
||||
"sha1": "e264781dadc4967e5292f3c4d05f1d153631f7b4",
|
||||
"sha256": "sha256-mfSR6GJizjjROzWB1A93rNtGlqlQVEfDFUR0wxkpCN0="
|
||||
"guava-33.2.1-jre.jar": {
|
||||
"sha1": "818e780da2c66c63bbb6480fef1f3855eeafa3e4",
|
||||
"sha256": "sha256-RSstl4e302b6jPXtmhxAQEVC0F7/p6WY2gO7u7dtnzE="
|
||||
},
|
||||
"guava-33.2.0-jre.module": {
|
||||
"sha1": "5ee9e7ff047a61986890f7ea80a2695c7239169c",
|
||||
"sha256": "sha256-eSlFEwC6UJb1M6LiPOqpManfGBIy21emmK1+PB4TD/g="
|
||||
"guava-33.2.1-jre.module": {
|
||||
"sha1": "35b3a43a28bf269178f01d7097263d9ef95cac8b",
|
||||
"sha256": "sha256-0j7aahwsC9JfijNGzd7sQ7Ufdb+Bm5MeqpgybqZEdCI="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -12234,12 +12272,12 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/protobuf/protobuf-bom/4.27.0-RC3",
|
||||
"path": "com/google/protobuf/protobuf-bom/4.27.0",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"protobuf-bom-4.27.0-RC3.pom": {
|
||||
"sha1": "bd9f15b87d06e839222b2dadcd90272013557048",
|
||||
"sha256": "sha256-S1fPaw/YOC7Ntmsg4yYX+nDJh3kcIsYiOw9GMFhCogI="
|
||||
"protobuf-bom-4.27.0.pom": {
|
||||
"sha1": "56b4bb710c104ec9486c27b0f8e032d1bc11e9ed",
|
||||
"sha256": "sha256-kbRq1aEDFnGx0+fzkPdYkVkXnXIP9CbHMXiYCTfeDbE="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -12485,16 +12523,16 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/protobuf/protobuf-java/4.27.0-RC3",
|
||||
"path": "com/google/protobuf/protobuf-java/4.27.0",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"protobuf-java-4.27.0-RC3.pom": {
|
||||
"sha1": "eb6c9cf9ce563effc186f0a8bbc35aa53bbcf74e",
|
||||
"sha256": "sha256-tYj2q0siUF4fcX4dwZ/NhbsHbICJkDDlOE0fX0+lb1s="
|
||||
"protobuf-java-4.27.0.pom": {
|
||||
"sha1": "03ea82f584b3f703357c571b521cc84fa80b977c",
|
||||
"sha256": "sha256-JCl1NSx41sxgr7EY6uYMHFFNZfkwdhwG2w3Rsj4lD6A="
|
||||
},
|
||||
"protobuf-java-4.27.0-RC3.jar": {
|
||||
"sha1": "b8abf4eca2730bf6de63f187eb1c15dd512cbe83",
|
||||
"sha256": "sha256-BTKtECTWI2FWGsrtuXTX0WiJ52cLNuI+kyHda50zTvk="
|
||||
"protobuf-java-4.27.0.jar": {
|
||||
"sha1": "c60880f1aa87ae87b9d4346f0a87c511919c2c42",
|
||||
"sha256": "sha256-kHLmD+Zs/11sDxGh3yHY8+Sym17ngrRcP8dfWfviuDk="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -12614,12 +12652,12 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/protobuf/protobuf-parent/4.27.0-RC3",
|
||||
"path": "com/google/protobuf/protobuf-parent/4.27.0",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"protobuf-parent-4.27.0-RC3.pom": {
|
||||
"sha1": "896b7ebb6bf6d26d64bf7b92e41d5e4f6c097a8b",
|
||||
"sha256": "sha256-i7Fdb53i0Q8PlqmPKfkl+9T/oA/VEOyse5X3QjIYhvc="
|
||||
"protobuf-parent-4.27.0.pom": {
|
||||
"sha1": "10de155e31cfe0f8f7999b8436ff2b016d108591",
|
||||
"sha256": "sha256-Zft+ZHmFhOzaC6xG5HOEWol1l2vCRspXsy/01tU1U6k="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -16681,20 +16719,20 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "org/checkerframework/checker-qual/3.43.0",
|
||||
"path": "org/checkerframework/checker-qual/3.44.0",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"checker-qual-3.43.0.pom": {
|
||||
"sha1": "48ad8955d64547b84ef581361c29c030e56430cb",
|
||||
"sha256": "sha256-kxO/U7Pv2KrKJm7qi5bjB5drZcCxZRDMbwIxn7rr7UM="
|
||||
"checker-qual-3.44.0.pom": {
|
||||
"sha1": "fec730b84f3509af3f10d2062cae751f14ee1978",
|
||||
"sha256": "sha256-A7MppYafkeWYICzJNzaso3h8r0kUtUQfLAkA5fts/GU="
|
||||
},
|
||||
"checker-qual-3.43.0.jar": {
|
||||
"sha1": "9425eee39e56b116d2b998b7c2cebcbd11a3c98b",
|
||||
"sha256": "sha256-P7wumPBYVMPfFt+auqlVuRsVs+ysM2IyCO1kJGQO8PY="
|
||||
"checker-qual-3.44.0.jar": {
|
||||
"sha1": "e026b198319ea9dd3f221fab367d2099215079e5",
|
||||
"sha256": "sha256-MO1DlgK2wtSq6iqF5Y44hVbwzHrmjtKWSbwc0MAQLNk="
|
||||
},
|
||||
"checker-qual-3.43.0.module": {
|
||||
"sha1": "3020cf05cf20a5f6e2137e59291be76cd1252b83",
|
||||
"sha256": "sha256-+BYzJyRauGJVMpSMcqkwVIzZfzTWw/6GD6auxaNNebQ="
|
||||
"checker-qual-3.44.0.module": {
|
||||
"sha1": "d87549604f8dab86b3bdd7e6c2a1d1edc2ecd9c2",
|
||||
"sha256": "sha256-6oWA9FjrXS7Jw0KDiLpQm8yvZSP2kfJtv0BxZ5jvoi4="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -19228,16 +19266,16 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "org/jetbrains/kotlin/kotlin-reflect/2.0.0-RC3",
|
||||
"path": "org/jetbrains/kotlin/kotlin-reflect/2.0.0",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"kotlin-reflect-2.0.0-RC3.pom": {
|
||||
"sha1": "a7730291ea955a34868c94a9409c048c15107d94",
|
||||
"sha256": "sha256-9aeMqntbuaejEkPzeT4Nj+3/q1d6KNW7pXlyMFkU5nU="
|
||||
"kotlin-reflect-2.0.0.pom": {
|
||||
"sha1": "b4563487290a5acea0a569621f441266f36001bd",
|
||||
"sha256": "sha256-ikQrns4+Vt+fEm8xxiodKjEkir7CiLbYMLrncjcYSLA="
|
||||
},
|
||||
"kotlin-reflect-2.0.0-RC3.jar": {
|
||||
"sha1": "2de9acd396986f0130a7015ca18caa593915b077",
|
||||
"sha256": "sha256-bFXdlUw7yRgPPDvM+D9PAf+ifqvMVlWdLKw2Z6FbjMo="
|
||||
"kotlin-reflect-2.0.0.jar": {
|
||||
"sha1": "9c3d75110945233bf77d2e1a90604b100884db94",
|
||||
"sha256": "sha256-ERvZBpIZN/dtoXdgZBEW0EtXp6Evz5gO/nxnZ/RRefA="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -20815,28 +20853,28 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "org/jetbrains/kotlin/kotlin-stdlib/2.0.0-RC3",
|
||||
"path": "org/jetbrains/kotlin/kotlin-stdlib/2.0.0",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"kotlin-stdlib-2.0.0-RC3.pom": {
|
||||
"sha1": "7fb5dbef4bdc345da221fecbd12ddbcf6bbe3160",
|
||||
"sha256": "sha256-zUpUNgRDkBPpPf5Czq/zFbV0Fy6PWdc4u7Ast9mrP38="
|
||||
"kotlin-stdlib-2.0.0.pom": {
|
||||
"sha1": "028759a886ea2f745a324c2d58ae631692dac90f",
|
||||
"sha256": "sha256-WQ5ia8kzl6XnXMeI8s7INbN6HuLlSDmvMNvY1bocLvI="
|
||||
},
|
||||
"kotlin-stdlib-2.0.0-RC3-all.jar": {
|
||||
"kotlin-stdlib-2.0.0-all.jar": {
|
||||
"sha1": "e6142a28b5fa6722cd811dd86278ad056784fa40",
|
||||
"sha256": "sha256-MOBSIrwGf/+4lqMna18ePylFC/HZRh0noZzg78eTtc0="
|
||||
},
|
||||
"kotlin-stdlib-2.0.0-RC3-common.jar": {
|
||||
"kotlin-stdlib-2.0.0-common.jar": {
|
||||
"sha1": "281e03983850e590dcc0d2474758f2fa8dd0e96a",
|
||||
"sha256": "sha256-EsHDu0lApPmVlUD/tc8uLl6brNtoywDEvSidFjm9HSc="
|
||||
},
|
||||
"kotlin-stdlib-2.0.0-RC3.jar": {
|
||||
"sha1": "37bea4f33a0d1823317f1210048928030077ec38",
|
||||
"sha256": "sha256-B2a3hUy+BDpaysUyZ3CUvh9ua0iT54/a2SXC64Mks3Y="
|
||||
"kotlin-stdlib-2.0.0.jar": {
|
||||
"sha1": "b48df2c4aede9586cc931ead433bc02d6fd7879e",
|
||||
"sha256": "sha256-JAk4xKq45z6IhwPj59P4c4P/5b1TbW1ePBANTNA3n88="
|
||||
},
|
||||
"kotlin-stdlib-2.0.0-RC3.module": {
|
||||
"sha1": "83a7913d9fd48986a323feb3fccc2b1049182fab",
|
||||
"sha256": "sha256-vpppwKPQSAwqZ2ff0DPELmM87yPovzFuqKy8Osz9piE="
|
||||
"kotlin-stdlib-2.0.0.module": {
|
||||
"sha1": "2753eb5e4958b5462bcc3bd38458a9589cdd1fd3",
|
||||
"sha256": "sha256-ZPluqOe5iWcxBSJB/9OiZfgnTXYeX+ncCIrEWzFxg0E="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -21116,16 +21154,16 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "org/junit/junit-bom/5.11.0-M1",
|
||||
"path": "org/junit/junit-bom/5.11.0-M2",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"junit-bom-5.11.0-M1.pom": {
|
||||
"sha1": "afec72e7b7df3cd97c3fe53164c3f5dfc6a0ff94",
|
||||
"sha256": "sha256-tQl19cuoYgSr2j3Nbwl6+Rn+IuIe9pR43WuRn2x0DYU="
|
||||
"junit-bom-5.11.0-M2.pom": {
|
||||
"sha1": "6c517cddae7893aba5bf9f051c44860a4fc18211",
|
||||
"sha256": "sha256-Sj/8Sk7c/sLLXWGZInBqlAcWF5hXGTn4VN/ac+ThfMg="
|
||||
},
|
||||
"junit-bom-5.11.0-M1.module": {
|
||||
"sha1": "8824de265f75444b83779557736d03b4c8fac3f7",
|
||||
"sha256": "sha256-j2MviWXptvQGnj1YueomuaW8dqmOibQyM3d6zm2tsjc="
|
||||
"junit-bom-5.11.0-M2.module": {
|
||||
"sha1": "4546561225def9f7f99c7c1abc3828dec51aad2a",
|
||||
"sha256": "sha256-hkd6vPSQ1soFmqmXPLEI0ipQb0nRpVabsyzGy/Q8LM4="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -4,12 +4,10 @@ androidx.activity:activity:1.2.4
|
||||
androidx.activity:activity:1.6.0
|
||||
androidx.annotation:annotation-experimental:1.1.0
|
||||
androidx.annotation:annotation-experimental:1.3.0
|
||||
androidx.annotation:annotation-jvm:1.6.0
|
||||
androidx.annotation:annotation:1.0.0
|
||||
androidx.annotation:annotation:1.1.0
|
||||
androidx.annotation:annotation:1.2.0
|
||||
androidx.annotation:annotation:1.3.0
|
||||
androidx.annotation:annotation:1.6.0
|
||||
androidx.appcompat:appcompat-resources:1.1.0-rc01
|
||||
androidx.appcompat:appcompat-resources:1.2.0
|
||||
androidx.appcompat:appcompat-resources:1.3.1
|
||||
@@ -488,7 +486,6 @@ com.facebook.fresco:nativeimagetranscoder:3.1.3
|
||||
com.facebook.fresco:soloader:3.1.3
|
||||
com.facebook.fresco:ui-common:3.1.3
|
||||
com.facebook.infer.annotation:infer-annotation:0.18.0
|
||||
com.facebook.react:hermes-android:0.73.5
|
||||
com.facebook.react:react-android:0.73.5
|
||||
com.facebook.soloader:annotation:0.10.5
|
||||
com.facebook.soloader:nativeloader:0.10.5
|
||||
@@ -943,4 +940,7 @@ com.android.tools.build:gradle:8.1.1
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.android.tools.lint:lint-gradle:31.1.1
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0
|
||||
com.android.tools.build:gradle:3.5.4
|
||||
com.android.tools.build:gradle:3.5.4
|
||||
androidx.annotation:annotation:1.6.0
|
||||
androidx.annotation:annotation-jvm:1.6.0
|
||||
com.facebook.react:hermes-android:0.73.5
|
||||
+18
-16
@@ -671,11 +671,11 @@ https://repo.maven.apache.org/maven2/com/google/auto/auto-parent/7/auto-parent-7
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.6.2/auto-value-annotations-1.6.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.6.3/auto-value-annotations-1.6.3.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.7.4/auto-value-annotations-1.7.4.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.10.4/auto-value-annotations-1.10.4.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.11.0/auto-value-annotations-1.11.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-parent/1.6.2/auto-value-parent-1.6.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-parent/1.6.3/auto-value-parent-1.6.3.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-parent/1.7.4/auto-value-parent-1.7.4.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-parent/1.10.4/auto-value-parent-1.10.4.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-parent/1.11.0/auto-value-parent-1.11.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value/1.5.2/auto-value-1.5.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.pom
|
||||
@@ -687,7 +687,7 @@ https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.8.5/gson
|
||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.8.6/gson-parent-2.8.6.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.8.9/gson-parent-2.8.9.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.9.1/gson-parent-2.9.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.10.1/gson-parent-2.10.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.11.0/gson-parent-2.11.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.2.4/gson-2.2.4.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.3/gson-2.3.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.7/gson-2.7.pom
|
||||
@@ -696,7 +696,7 @@ https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.5/gson-2.8.5.
|
||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.6/gson-2.8.6.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.9/gson-2.8.9.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.9.1/gson-2.9.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.10.1/gson-2.10.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.11.0/gson-2.11.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/crypto/tink/tink/1.3.0-rc2/tink-1.3.0-rc2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/crypto/tink/tink/1.7.0/tink-1.7.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/dagger/dagger/2.28.3/dagger-2.28.3.pom
|
||||
@@ -711,7 +711,8 @@ https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotatio
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.9.0/error_prone_annotations-2.9.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.10.0/error_prone_annotations-2.10.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.11.0/error_prone_annotations-2.11.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.27.1/error_prone_annotations-2.27.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.27.0/error_prone_annotations-2.27.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.28.0/error_prone_annotations-2.28.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.0.18/error_prone_parent-2.0.18.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.2.0/error_prone_parent-2.2.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.3.1/error_prone_parent-2.3.1.pom
|
||||
@@ -723,7 +724,8 @@ https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.9.0/error_prone_parent-2.9.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.10.0/error_prone_parent-2.10.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.11.0/error_prone_parent-2.11.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.27.1/error_prone_parent-2.27.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.27.0/error_prone_parent-2.27.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.28.0/error_prone_parent-2.28.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/flatbuffers/flatbuffers-java/1.12.0/flatbuffers-java-1.12.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/google/1/google-1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.pom
|
||||
@@ -740,8 +742,8 @@ https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/30.1-jre/guav
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/31.0.1-android/guava-parent-31.0.1-android.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/31.0.1-jre/guava-parent-31.0.1-jre.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/31.1-jre/guava-parent-31.1-jre.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/33.2.0-jre/guava-parent-33.2.0-jre.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-testlib/33.2.0-jre/guava-testlib-33.2.0-jre.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/33.2.1-jre/guava-parent-33.2.1-jre.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava-testlib/33.2.1-jre/guava-testlib-33.2.1-jre.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava/17.0/guava-17.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava/22.0/guava-22.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava/23.0/guava-23.0.pom
|
||||
@@ -754,7 +756,7 @@ https://repo.maven.apache.org/maven2/com/google/guava/guava/30.1-jre/guava-30.1-
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava/31.0.1-android/guava-31.0.1-android.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava/31.1-jre/guava-31.1-jre.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava/33.2.0-jre/guava-33.2.0-jre.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/guava/33.2.1-jre/guava-33.2.1-jre.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/listenablefuture/1.0/listenablefuture-1.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.pom
|
||||
@@ -768,7 +770,7 @@ https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/3.13.0/pro
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/3.17.2/protobuf-bom-3.17.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/3.19.2/protobuf-bom-3.19.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/3.19.3/protobuf-bom-3.19.3.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/4.27.0-RC3/protobuf-bom-4.27.0-RC3.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/4.27.0/protobuf-bom-4.27.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-javalite/3.17.2/protobuf-javalite-3.17.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-javalite/3.19.2/protobuf-javalite-3.19.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java-util/3.4.0/protobuf-java-util-3.4.0.pom
|
||||
@@ -785,7 +787,7 @@ https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.13.0/pr
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.17.2/protobuf-java-3.17.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.19.2/protobuf-java-3.19.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.19.3/protobuf-java-3.19.3.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/4.27.0-RC3/protobuf-java-4.27.0-RC3.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/4.27.0/protobuf-java-4.27.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-lite/3.0.1/protobuf-lite-3.0.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.0.0/protobuf-parent-3.0.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.4.0/protobuf-parent-3.4.0.pom
|
||||
@@ -796,7 +798,7 @@ https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.13.0/
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.17.2/protobuf-parent-3.17.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.19.2/protobuf-parent-3.19.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.19.3/protobuf-parent-3.19.3.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/4.27.0-RC3/protobuf-parent-4.27.0-RC3.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/4.27.0/protobuf-parent-4.27.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/truth/truth-parent/1.4.2/truth-parent-1.4.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/truth/truth/1.4.2/truth-1.4.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/ibm/icu/icu4j/53.1/icu4j-53.1.pom
|
||||
@@ -1089,7 +1091,7 @@ https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/2.8.1/che
|
||||
https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/2.11.1/checker-qual-2.11.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.5.0/checker-qual-3.5.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.43.0/checker-qual-3.43.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.44.0/checker-qual-3.44.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/codehaus-parent/4/codehaus-parent-4.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-xml/3.0.9/groovy-xml-3.0.9.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-xml/3.0.10/groovy-xml-3.0.10.pom
|
||||
@@ -1246,7 +1248,7 @@ https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.6.10/
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.6.20/kotlin-reflect-1.6.20.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.7.22/kotlin-reflect-1.7.22.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.8.20-RC2/kotlin-reflect-1.8.20-RC2.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/2.0.0-RC3/kotlin-reflect-2.0.0-RC3.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/2.0.0/kotlin-reflect-2.0.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-common/1.6.20/kotlin-scripting-common-1.6.20.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-common/1.7.22/kotlin-scripting-common-1.7.22.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-common/1.8.0/kotlin-scripting-common-1.8.0.pom
|
||||
@@ -1351,7 +1353,7 @@ https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.8.20-R
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.8.21/kotlin-stdlib-1.8.21.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.9.0/kotlin-stdlib-1.9.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.9.21/kotlin-stdlib-1.9.21.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/2.0.0-RC3/kotlin-stdlib-2.0.0-RC3.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/2.0.0/kotlin-stdlib-2.0.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-tooling-core/1.7.22/kotlin-tooling-core-1.7.22.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-tooling-core/1.8.0/kotlin-tooling-core-1.8.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-tooling-core/1.9.0/kotlin-tooling-core-1.9.0.pom
|
||||
@@ -1370,7 +1372,7 @@ https://repo.maven.apache.org/maven2/org/jetbrains/trove4j/trove4j/20160824/trov
|
||||
https://repo.maven.apache.org/maven2/org/json/json/20180813/json-20180813.pom
|
||||
https://repo.maven.apache.org/maven2/org/json/json/20240303/json-20240303.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.11.0-M1/junit-bom-5.11.0-M1.pom
|
||||
https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.11.0-M2/junit-bom-5.11.0-M2.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
|
||||
https://repo.maven.apache.org/maven2/org/jvnet/staxex/stax-ex/1.8/stax-ex-1.8.pom
|
||||
|
||||
@@ -56,6 +56,8 @@ com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.android.tools.lint:lint-gradle:31.1.1
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0
|
||||
com.android.tools.build:gradle:3.5.4
|
||||
androidx.annotation:annotation:1.6.0
|
||||
androidx.annotation:annotation-jvm:1.6.0
|
||||
com.facebook.react:hermes-android:0.73.5' \
|
||||
>> "${DEPS_LIST}"
|
||||
}
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ in {
|
||||
androidPkgs = self.androidEnvCustom.compose;
|
||||
};
|
||||
|
||||
# Android environement
|
||||
# Android environment
|
||||
androidEnvCustom = callPackage ./pkgs/android-sdk { };
|
||||
androidPkgs = self.androidEnvCustom.pkgs;
|
||||
androidShell = self.androidEnvCustom.shell;
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@
|
||||
"react-native-image-crop-picker": "0.40.0",
|
||||
"react-native-image-resizer": "^1.2.3",
|
||||
"react-native-keychain": "8.1.2",
|
||||
"react-native-linear-gradient": "^2.8.0",
|
||||
"react-native-linear-gradient": "3.0.0-alpha.1",
|
||||
"react-native-lottie-splash-screen": "^1.0.1",
|
||||
"react-native-navigation": "7.39.0",
|
||||
"react-native-orientation-locker": "^1.5.0",
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 758 B |
Binary file not shown.
|
After Width: | Height: | Size: 1011 B |
@@ -10,7 +10,7 @@
|
||||
(reagent/as-element
|
||||
(into [react/keyboard-avoiding-view
|
||||
(update props
|
||||
:keyboardVerticalOffset
|
||||
:keyboard-vertical-offset
|
||||
+
|
||||
20
|
||||
(if (:ignore-offset props) 44 0))]
|
||||
|
||||
@@ -275,7 +275,7 @@
|
||||
(merge (when platform/ios? {:behavior :padding})
|
||||
(if (:ignore-offset props)
|
||||
props
|
||||
(update props :keyboardVerticalOffset + 44 (:status-bar-height @navigation-const))))]
|
||||
(update props :keyboard-vertical-offset + 44 (:status-bar-height @navigation-const))))]
|
||||
children))
|
||||
|
||||
(defn keyboard-avoiding-view-new
|
||||
@@ -284,7 +284,7 @@
|
||||
(merge (when platform/ios? {:behavior :padding})
|
||||
(if (:ignore-offset props)
|
||||
props
|
||||
(update props :keyboardVerticalOffset + 44)))]
|
||||
(update props :keyboard-vertical-offset + 44)))]
|
||||
children))
|
||||
|
||||
(defn scroll-view
|
||||
|
||||
@@ -636,3 +636,14 @@
|
||||
connection-string
|
||||
config-json
|
||||
callback)))
|
||||
|
||||
(defn create-account-from-private-key
|
||||
"Validate that a mnemonic conforms to BIP39 dictionary/checksum standards"
|
||||
([private-key]
|
||||
(native-utils/promisify-native-module-call create-account-from-private-key private-key))
|
||||
([private-key callback]
|
||||
(log/debug "[native-module] create-account-from-private-key")
|
||||
|
||||
(.createAccountFromPrivateKey ^js (account-manager)
|
||||
(types/clj->json {:privateKey private-key})
|
||||
callback)))
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
(ns quo.components.animated-header-flatlist.style
|
||||
(:require
|
||||
[quo.foundations.colors :as colors]
|
||||
[react-native.platform :as platform]
|
||||
[react-native.reanimated :as reanimated]))
|
||||
|
||||
(defn container-view
|
||||
@@ -28,16 +29,18 @@
|
||||
:right right}))
|
||||
|
||||
(defn blur-view
|
||||
[animation]
|
||||
[animation theme]
|
||||
(reanimated/apply-animations-to-style
|
||||
{:opacity animation}
|
||||
{:position :absolute
|
||||
:top 0
|
||||
:left 0
|
||||
:right 0
|
||||
:height 100
|
||||
:z-index 2
|
||||
:overflow :hidden}))
|
||||
{:position :absolute
|
||||
:top 0
|
||||
:left 0
|
||||
:right 0
|
||||
:height 100
|
||||
:z-index 2
|
||||
:overflow :hidden
|
||||
:background-color (when platform/android?
|
||||
(colors/theme-colors colors/white colors/neutral-80 theme))}))
|
||||
|
||||
(defn entity-picture
|
||||
[animation theme]
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
{:blurAmount 32
|
||||
:blurType :light
|
||||
:overlayColor (if platform/ios? colors/white-opa-70 :transparent)
|
||||
:style (style/blur-view opacity-animation)}
|
||||
:style (style/blur-view opacity-animation theme)}
|
||||
[reanimated/view {:style (style/header-comp translate-animation title-opacity-animation)}
|
||||
[header-comp]]]
|
||||
[reanimated/flat-list
|
||||
|
||||
@@ -1,23 +1,59 @@
|
||||
(ns quo.components.avatars.dapp-avatar.style)
|
||||
|
||||
(def ^:const size 32)
|
||||
(defn- size->int
|
||||
[size]
|
||||
(case size
|
||||
:size-32 32
|
||||
:size-64 64
|
||||
32))
|
||||
|
||||
(def container
|
||||
{:height size
|
||||
:width size})
|
||||
(defn container
|
||||
[size]
|
||||
(let [container-size (size->int size)]
|
||||
{:height container-size
|
||||
:width container-size}))
|
||||
|
||||
(def hole-view
|
||||
{:width size
|
||||
:height size})
|
||||
(defn hole-view
|
||||
[size]
|
||||
(let [container-size (size->int size)]
|
||||
{:width container-size
|
||||
:height container-size}))
|
||||
|
||||
(def context
|
||||
{:width 16
|
||||
:height 16
|
||||
:border-radius 8
|
||||
:position :absolute
|
||||
:right -4
|
||||
:bottom -4})
|
||||
(defn context
|
||||
[size]
|
||||
(let [context-size (case size
|
||||
:size-32 16
|
||||
:size-64 20
|
||||
20)
|
||||
offset (case size
|
||||
:size-32 -4
|
||||
:size-64 0
|
||||
-4)]
|
||||
{:width context-size
|
||||
:height context-size
|
||||
:border-radius (/ context-size 2)
|
||||
:position :absolute
|
||||
:right offset
|
||||
:bottom offset}))
|
||||
|
||||
(def image
|
||||
{:width size
|
||||
:height size})
|
||||
(defn context-hole
|
||||
[size]
|
||||
(let [context-hole-size (case size
|
||||
:size-32 18
|
||||
:size-64 24
|
||||
18)
|
||||
offset (case size
|
||||
:size-32 19
|
||||
:size-64 42
|
||||
19)]
|
||||
{:x offset
|
||||
:y offset
|
||||
:width context-hole-size
|
||||
:height context-hole-size
|
||||
:borderRadius (/ context-hole-size 2)}))
|
||||
|
||||
(defn image
|
||||
[size]
|
||||
(let [container-size (size->int size)]
|
||||
{:width container-size
|
||||
:height container-size}))
|
||||
|
||||
@@ -11,32 +11,30 @@
|
||||
[:props
|
||||
[:map {:closed true}
|
||||
[:context? {:optional true} [:maybe :boolean]]
|
||||
[:size {:optional true} [:maybe [:enum :size-32 :size-64]]]
|
||||
[:image :schema.common/image-source]
|
||||
[:network-image {:optional true} [:maybe :schema.common/image-source]]
|
||||
[:container-style {:optional true} [:maybe :map]]]]]
|
||||
:any])
|
||||
|
||||
(defn- view-internal
|
||||
[{:keys [context? image network-image container-style]}]
|
||||
[{:keys [context? size image network-image container-style]}]
|
||||
[rn/view
|
||||
{:style (merge style/container container-style)
|
||||
{:style (-> (style/container size)
|
||||
(merge container-style))
|
||||
:accessibility-label :dapp-avatar}
|
||||
[hole-view/hole-view
|
||||
(cond-> {:holes (if context?
|
||||
[{:x 19
|
||||
:y 19
|
||||
:width 18
|
||||
:height 18
|
||||
:borderRadius 9}]
|
||||
[(style/context-hole size)]
|
||||
[])
|
||||
:style style/hole-view}
|
||||
:style (style/hole-view size)}
|
||||
platform/android? (assoc :key context?))
|
||||
[rn/image
|
||||
{:source image
|
||||
:style style/image}]]
|
||||
:style (style/image size)}]]
|
||||
(when context?
|
||||
[rn/image
|
||||
{:source network-image
|
||||
:style style/context}])])
|
||||
:style (style/context size)}])])
|
||||
|
||||
(def view (schema/instrument #'view-internal ?schema))
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
:icon 12}})
|
||||
|
||||
(defn icon-avatar
|
||||
[{:keys [size icon color opacity border?]
|
||||
[{:keys [size icon color opacity border? blur?]
|
||||
:or {opacity 20
|
||||
size :size-32}}]
|
||||
(let [theme (quo.theme/use-theme)
|
||||
@@ -29,7 +29,9 @@
|
||||
:height component-size
|
||||
:border-radius component-size
|
||||
:border-width (when border? 1)
|
||||
:border-color (colors/theme-colors colors/neutral-20 colors/neutral-80 theme)
|
||||
:border-color (if blur?
|
||||
colors/white-opa-5
|
||||
(colors/theme-colors colors/neutral-20 colors/neutral-80 theme))
|
||||
:background-color circle-color
|
||||
:justify-content :center
|
||||
:align-items :center}}
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
(ns quo.components.banners.alert-banner.component-spec
|
||||
(:require
|
||||
[quo.components.banners.alert-banner.view :as alert-banner]
|
||||
[test-helpers.component :as h]))
|
||||
|
||||
(h/describe "Alert Banner"
|
||||
(h/test "Render without props is not throwing any error"
|
||||
(h/render [alert-banner/view {}])
|
||||
(h/is-truthy (h/query-by-label-text :alert-banner)))
|
||||
|
||||
(h/test "Button is not displayed when :action? prop is false"
|
||||
(h/render [alert-banner/view {}])
|
||||
(h/is-falsy (h/query-by-label-text :button)))
|
||||
|
||||
(h/test "Button is displayed when :action? prop is true"
|
||||
(h/render [alert-banner/view {:action? true}])
|
||||
(h/is-truthy (h/query-by-label-text :button)))
|
||||
|
||||
(h/test "Button text is displayed when :action? prop is true and :button-text prop is set"
|
||||
(h/render [alert-banner/view
|
||||
{:action? true
|
||||
:button-text "button"}])
|
||||
(h/is-truthy (h/get-by-text "button")))
|
||||
|
||||
(h/test "Button is called when it's pressed and :action? prop is true"
|
||||
(let [event (h/mock-fn)]
|
||||
(h/render [alert-banner/view
|
||||
{:action? true
|
||||
:on-button-press event}])
|
||||
(h/fire-event :press (h/query-by-label-text :button))
|
||||
(h/was-called event)))
|
||||
|
||||
(h/test "Text message is displayed :text prop is passed"
|
||||
(h/render [alert-banner/view {:text "message"}])
|
||||
(h/is-truthy (h/get-by-text "message"))))
|
||||
@@ -0,0 +1,12 @@
|
||||
(ns quo.components.banners.alert-banner.schema)
|
||||
|
||||
(def ?schema
|
||||
[:=>
|
||||
[:catn
|
||||
[:props
|
||||
[:map {:closed true}
|
||||
[:action? {:optional true} [:maybe boolean?]]
|
||||
[:text {:optional true} [:maybe string?]]
|
||||
[:button-text {:optional true} [:maybe string?]]
|
||||
[:on-button-press {:optional true} [:maybe fn?]]]]]
|
||||
:any])
|
||||
@@ -0,0 +1,18 @@
|
||||
(ns quo.components.banners.alert-banner.style
|
||||
(:require [quo.foundations.colors :as colors]))
|
||||
|
||||
(def container
|
||||
{:flex-direction :row
|
||||
:align-items :center
|
||||
:height 50
|
||||
:padding-horizontal 20
|
||||
:padding-vertical 12})
|
||||
|
||||
(defn label
|
||||
[theme]
|
||||
{:flex 1
|
||||
:color (colors/resolve-color :danger theme)
|
||||
:margin-horizontal 4})
|
||||
|
||||
(def button-text
|
||||
{:color colors/white})
|
||||
@@ -0,0 +1,48 @@
|
||||
(ns quo.components.banners.alert-banner.view
|
||||
(:require [quo.components.banners.alert-banner.schema :as component-schema]
|
||||
[quo.components.banners.alert-banner.style :as style]
|
||||
[quo.components.buttons.button.view :as button]
|
||||
[quo.components.icon :as icon]
|
||||
[quo.components.markdown.text :as text]
|
||||
[quo.foundations.colors :as colors]
|
||||
[quo.theme]
|
||||
[react-native.core :as rn]
|
||||
[react-native.linear-gradient :as linear-gradient]
|
||||
[schema.core :as schema]))
|
||||
|
||||
(defn- view-internal
|
||||
[{:keys [action? text button-text on-button-press]}]
|
||||
(let [theme (quo.theme/use-theme)]
|
||||
[rn/view
|
||||
{:accessibility-label :alert-banner}
|
||||
[linear-gradient/linear-gradient
|
||||
{:style style/container
|
||||
:start {:x 0 :y 0}
|
||||
:end {:x 0 :y 1}
|
||||
:colors [(colors/theme-colors
|
||||
colors/danger-50-opa-5
|
||||
colors/danger-50-opa-10
|
||||
theme)
|
||||
colors/danger-50-opa-0]}
|
||||
[icon/icon
|
||||
:i/alert
|
||||
{:color (colors/resolve-color :danger theme)
|
||||
:size 16}]
|
||||
[text/text
|
||||
{:style (style/label theme)
|
||||
:size :paragraph-2
|
||||
:number-of-lines 1}
|
||||
text]
|
||||
(when action?
|
||||
[button/button
|
||||
{:accessibility-label :button
|
||||
:type :danger
|
||||
:size 24
|
||||
:on-press on-button-press}
|
||||
[text/text
|
||||
{:style style/button-text
|
||||
:size :paragraph-2
|
||||
:weight :medium}
|
||||
button-text]])]]))
|
||||
|
||||
(def view (schema/instrument #'view-internal component-schema/?schema))
|
||||
@@ -0,0 +1,20 @@
|
||||
(ns quo.components.blur.view
|
||||
(:require [quo.foundations.colors :as colors]
|
||||
[quo.theme]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]
|
||||
[react-native.platform :as platform]))
|
||||
|
||||
(defn- view-android
|
||||
([props] (view-android props nil))
|
||||
([{:keys [style]} child]
|
||||
(let [theme (quo.theme/use-theme)]
|
||||
[rn/view
|
||||
{:style (assoc style
|
||||
:pointer-events :box-none
|
||||
:background-color
|
||||
(or (:background-color style)
|
||||
(colors/theme-colors colors/white colors/neutral-80 theme)))}
|
||||
child])))
|
||||
|
||||
(def view (if platform/ios? blur/view view-android))
|
||||
@@ -1,12 +1,12 @@
|
||||
(ns quo.components.buttons.button.view
|
||||
(:require
|
||||
[quo.components.blur.view :as blur]
|
||||
[quo.components.buttons.button.properties :as button-properties]
|
||||
[quo.components.buttons.button.style :as style]
|
||||
[quo.components.icon :as quo.icons]
|
||||
[quo.components.markdown.text :as text]
|
||||
[quo.foundations.customization-colors :as customization-colors]
|
||||
[quo.theme]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]))
|
||||
|
||||
(defn button
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
[quo.components.drawers.bottom-actions.style :as style]
|
||||
[quo.components.icon :as icon]
|
||||
[quo.components.markdown.text :as text]
|
||||
[quo.components.tags.context-tag.schema :as context-tag.schema]
|
||||
[quo.components.tags.context-tag.view :as context-tag]
|
||||
[quo.foundations.colors :as colors]
|
||||
[quo.theme :as quo.theme]
|
||||
@@ -22,6 +23,7 @@
|
||||
[:description-top-text {:optional true} [:maybe :string]]
|
||||
[:error-message {:optional true} [:maybe :string]]
|
||||
[:role {:optional true} [:maybe [:enum :admin :member :token-master :owner]]]
|
||||
[:context-tag-props {:optional true} [:maybe context-tag.schema/?schema]]
|
||||
[:button-one-label {:optional true} [:maybe :string]]
|
||||
[:button-two-label {:optional true} [:maybe :string]]
|
||||
[:button-one-props {:optional true} [:maybe :map]]
|
||||
@@ -39,7 +41,8 @@
|
||||
|
||||
(defn- view-internal
|
||||
[{:keys [actions description description-text description-top-text error-message role button-one-label
|
||||
button-two-label blur? button-one-props button-two-props scroll? container-style]}]
|
||||
button-two-label blur? button-one-props button-two-props scroll? container-style
|
||||
context-tag-props]}]
|
||||
(let [theme (quo.theme/use-theme)]
|
||||
[rn/view
|
||||
{:style (merge (style/container scroll? blur? theme) container-style)}
|
||||
@@ -54,18 +57,20 @@
|
||||
:style {:color (colors/theme-colors colors/danger-50 colors/danger-60 theme)}}
|
||||
error-message]])
|
||||
|
||||
(when (and (= description :top) role)
|
||||
(when (and (= description :top) (or role context-tag-props))
|
||||
[rn/view {:style style/description-top}
|
||||
[text/text
|
||||
{:size :paragraph-2
|
||||
:style (style/description-top-text scroll? blur? theme)}
|
||||
(or description-top-text (i18n/label :t/eligible-to-join-as))]
|
||||
[context-tag/view
|
||||
{:type :icon
|
||||
:size 24
|
||||
:icon (role role-icon)
|
||||
:blur? blur?
|
||||
:context (i18n/label (keyword "t" role))}]])
|
||||
(if role
|
||||
{:type :icon
|
||||
:size 24
|
||||
:icon (role role-icon)
|
||||
:blur? blur?
|
||||
:context (i18n/label (keyword "t" role))}
|
||||
context-tag-props)]])
|
||||
|
||||
[rn/view {:style style/buttons-container}
|
||||
(when (= actions :two-actions)
|
||||
|
||||
@@ -47,6 +47,14 @@
|
||||
(h/has-style (h/query-by-label-text :container)
|
||||
{:backgroundColor :transparent}))
|
||||
|
||||
(h/test "render :input action"
|
||||
(h/render-with-theme-provider
|
||||
[drawer-action/view
|
||||
{:action :input
|
||||
:input-props {:placeholder "Type something"}
|
||||
:state :selected}])
|
||||
(h/is-truthy (h/query-by-label-text "input")))
|
||||
|
||||
(h/test "render default action with icon, title, description"
|
||||
(h/render-with-theme-provider [drawer-action/view
|
||||
{:icon :i/contact
|
||||
|
||||
@@ -6,12 +6,13 @@
|
||||
[:map {:closed true}
|
||||
[:accessibility-label {:optional true} [:maybe :keyword]]
|
||||
[:type {:optional true} [:maybe [:enum :main :danger]]]
|
||||
[:action {:optional true} [:maybe [:enum :arrow :toggle]]]
|
||||
[:action {:optional true} [:maybe [:enum :arrow :toggle :input]]]
|
||||
[:icon {:optional true} [:maybe :keyword]]
|
||||
[:description {:optional true} [:maybe :string]]
|
||||
[:state {:optional true} [:maybe [:enum :selected]]]
|
||||
[:title {:optional true} :string]
|
||||
[:on-press {:optional true} [:maybe fn?]]
|
||||
[:input-props {:optional true} [:maybe :map]]
|
||||
[:customization-color {:optional true}
|
||||
[:maybe :schema.common/customization-color]]
|
||||
[:blur? {:optional true} [:maybe :boolean]]]]
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
(defn- background-color
|
||||
[{:keys [state action customization-color theme pressed? blur?]}]
|
||||
(let [checked? (and (= :selected state) (nil? action))]
|
||||
(let [checked? (and (= :selected state) (or (nil? action) (= action :input)))]
|
||||
(cond
|
||||
(and (or checked? pressed?) blur?)
|
||||
colors/white-opa-5
|
||||
@@ -15,23 +15,25 @@
|
||||
:else :transparent)))
|
||||
|
||||
(defn container
|
||||
[{:keys [description?] :as props}]
|
||||
{:flex-direction :row
|
||||
:align-items :center
|
||||
:padding-vertical (if description? 8 13)
|
||||
[{:keys [description? action state] :as props}]
|
||||
{:padding-top (if description? 8 13)
|
||||
:padding-bottom (if (and (= action :input)
|
||||
(= state :selected))
|
||||
12
|
||||
(if description? 8 13))
|
||||
:padding-horizontal 13
|
||||
:border-radius 12
|
||||
:gap 8
|
||||
:background-color (background-color props)})
|
||||
|
||||
(defn text-container
|
||||
[]
|
||||
(def text-container
|
||||
{:flex 1
|
||||
:margin-right 12})
|
||||
|
||||
(defn text
|
||||
[{:keys [theme blur? type]}]
|
||||
(let [base {:weight :medium}
|
||||
theme-with-blur (if blur? :blue theme)
|
||||
theme-with-blur (if blur? :blur theme)
|
||||
matcher [theme-with-blur type]
|
||||
color
|
||||
(case matcher
|
||||
@@ -51,8 +53,7 @@
|
||||
colors/white-70-blur
|
||||
(colors/theme-colors colors/neutral-50 colors/neutral-40 theme)))
|
||||
|
||||
(defn left-icon
|
||||
[]
|
||||
(def left-icon
|
||||
{:align-self :flex-start
|
||||
:margin-right 13
|
||||
:margin-top 1})
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
[quo.components.drawers.drawer-action.schema :as component-schema]
|
||||
[quo.components.drawers.drawer-action.style :as style]
|
||||
[quo.components.icon :as icon]
|
||||
[quo.components.inputs.input.view :as input]
|
||||
[quo.components.markdown.text :as text]
|
||||
[quo.components.selectors.selectors.view :as selectors]
|
||||
[quo.theme]
|
||||
@@ -11,7 +12,7 @@
|
||||
|
||||
(defn view-internal
|
||||
[{:keys [action icon description state title on-press customization-color
|
||||
blur? accessibility-label]
|
||||
blur? accessibility-label input-props]
|
||||
action-type :type
|
||||
:or {customization-color :blue
|
||||
blur? false}}]
|
||||
@@ -20,6 +21,7 @@
|
||||
[pressed? set-pressed] (rn/use-state false)
|
||||
on-press-in (rn/use-callback #(set-pressed true))
|
||||
on-press-out (rn/use-callback #(set-pressed false))]
|
||||
|
||||
[rn/pressable
|
||||
{:on-press on-press
|
||||
:on-press-in on-press-in
|
||||
@@ -32,50 +34,59 @@
|
||||
:description? (not-empty description)
|
||||
:blur? blur?})
|
||||
:accessibility-label accessibility-label}
|
||||
(when icon
|
||||
[icon/icon icon
|
||||
{:accessibility-label :left-icon
|
||||
:container-style (style/left-icon)
|
||||
:color (style/icon-color {:theme theme
|
||||
:type action-type
|
||||
:blur? blur?})}])
|
||||
|
||||
[rn/view
|
||||
{:style (style/text-container)}
|
||||
[text/text
|
||||
(style/text {:theme theme
|
||||
:type action-type
|
||||
:blur? blur?})
|
||||
title]
|
||||
{:style {:flex-direction :row
|
||||
:align-items :center}}
|
||||
(when icon
|
||||
[icon/icon icon
|
||||
{:accessibility-label :left-icon
|
||||
:container-style style/left-icon
|
||||
:color (style/icon-color {:theme theme
|
||||
:type action-type
|
||||
:blur? blur?})}])
|
||||
|
||||
(when (seq description)
|
||||
[text/text
|
||||
{:size :paragraph-2
|
||||
:style (style/desc {:theme theme
|
||||
:blur? blur?})}
|
||||
description])]
|
||||
[rn/view
|
||||
{:style style/text-container}
|
||||
[text/text
|
||||
(style/text {:theme theme
|
||||
:type action-type
|
||||
:blur? blur?})
|
||||
title]
|
||||
|
||||
(cond
|
||||
(= action :toggle)
|
||||
[selectors/view
|
||||
{:theme theme
|
||||
:label-prefix "toggle"
|
||||
:customization-color customization-color
|
||||
:type :toggle
|
||||
:checked? (= state :selected)}]
|
||||
(when (seq description)
|
||||
[text/text
|
||||
{:size :paragraph-2
|
||||
:style (style/desc {:theme theme
|
||||
:blur? blur?})}
|
||||
description])]
|
||||
|
||||
(= action :arrow)
|
||||
[icon/icon :i/chevron-right
|
||||
{:accessibility-label :arrow-icon
|
||||
:color (style/icon-color {:theme theme
|
||||
:type action-type
|
||||
:blur? blur?})}]
|
||||
(cond
|
||||
(= action :toggle)
|
||||
[selectors/view
|
||||
{:theme theme
|
||||
:label-prefix "toggle"
|
||||
:customization-color customization-color
|
||||
:type :toggle
|
||||
:checked? (= state :selected)}]
|
||||
|
||||
(= state :selected)
|
||||
[icon/icon :i/check
|
||||
{:accessibility-label :check-icon
|
||||
:color (style/check-color {:theme theme
|
||||
:blur? blur?
|
||||
:customization-color customization-color})}])]))
|
||||
(= action :arrow)
|
||||
[icon/icon :i/chevron-right
|
||||
{:accessibility-label :arrow-icon
|
||||
:color (style/icon-color {:theme theme
|
||||
:type action-type
|
||||
:blur? blur?})}]
|
||||
|
||||
(= state :selected)
|
||||
[icon/icon :i/check
|
||||
{:accessibility-label :check-icon
|
||||
:color (style/check-color {:theme theme
|
||||
:blur? blur?
|
||||
:customization-color customization-color})}])]
|
||||
|
||||
(when (and (= action :input) (= state :selected))
|
||||
[input/input
|
||||
(assoc input-props
|
||||
:blur? blur?
|
||||
:accessibility-label :input)])]))
|
||||
|
||||
(def view (schema/instrument #'view-internal component-schema/?schema))
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
(ns quo.components.drawers.drawer-buttons.view
|
||||
(:require
|
||||
[quo.components.blur.view :as blur]
|
||||
[quo.components.drawers.drawer-buttons.style :as style]
|
||||
[quo.components.icon :as icon]
|
||||
[quo.components.markdown.text :as text]
|
||||
[quo.foundations.colors :as colors]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]
|
||||
[react-native.platform :as platform]
|
||||
[react-native.reanimated :as reanimated]
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
(ns quo.components.drawers.permission-context.style
|
||||
(:require
|
||||
[quo.foundations.colors :as colors]
|
||||
[react-native.platform :as platform]
|
||||
[react-native.safe-area :as safe-area]))
|
||||
|
||||
(def ^:private radius 20)
|
||||
|
||||
(def blur-container
|
||||
{:background-color :transparent
|
||||
{:background-color (when platform/ios? :transparent)
|
||||
:position :absolute
|
||||
:top 0
|
||||
:left 0
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
(ns quo.components.drawers.permission-context.view
|
||||
(:require
|
||||
[clojure.string :as string]
|
||||
[quo.components.blur.view :as blur]
|
||||
[quo.components.buttons.button.view :as button]
|
||||
[quo.components.drawers.permission-context.schema :as component-schema]
|
||||
[quo.components.drawers.permission-context.style :as style]
|
||||
@@ -10,7 +11,6 @@
|
||||
[quo.components.tags.token-tag.view :as token-tag]
|
||||
[quo.foundations.colors :as colors]
|
||||
[quo.theme]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]
|
||||
[react-native.platform :as platform]
|
||||
[react-native.shadow :as shadow]
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
(ns quo.components.dropdowns.dropdown.view
|
||||
(:require
|
||||
[quo.components.blur.view :as blur]
|
||||
[quo.components.dropdowns.dropdown.properties :as properties]
|
||||
[quo.components.dropdowns.dropdown.style :as style]
|
||||
[quo.components.icon :as icon]
|
||||
[quo.components.markdown.text :as text]
|
||||
[quo.foundations.customization-colors :as customization-colors]
|
||||
[quo.theme]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]))
|
||||
|
||||
(defn view
|
||||
|
||||
@@ -30,10 +30,7 @@
|
||||
(colors/theme-colors colors/neutral-50 colors/neutral-40 theme))
|
||||
:container-style style/title-icon-container
|
||||
:accessibility-label :title-icon}])]
|
||||
[address-text/view
|
||||
{:networks (:networks account-props)
|
||||
:address (:address account-props)
|
||||
:format :short}]]])
|
||||
[address-text/view (assoc account-props :format :short)]]])
|
||||
|
||||
(defn- balance-view
|
||||
[{:keys [balance-props type theme]}]
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
[schema.core :as schema]))
|
||||
|
||||
(defn- internal-view
|
||||
[{{:keys [accounts name]} :keypair
|
||||
:keys [keypair blur? on-options-press]}]
|
||||
[{{:keys [accounts name type]} :keypair
|
||||
:keys [keypair blur? on-options-press]}]
|
||||
(let [theme (quo.theme/use-theme)
|
||||
on-keypair-options-press (rn/use-callback
|
||||
(fn [event]
|
||||
@@ -22,15 +22,15 @@
|
||||
{:style (style/container {:theme theme
|
||||
:blur? blur?})
|
||||
:accessibility-label :missing-keypair-item}
|
||||
[rn/view
|
||||
{:style (style/icon-container {:theme theme
|
||||
:blur? blur?})
|
||||
:accessibility-label :icon}
|
||||
[icon-avatar/icon-avatar
|
||||
{:size :size-32
|
||||
:icon :i/seed
|
||||
:color :neutral
|
||||
:border? false}]]
|
||||
[icon-avatar/icon-avatar
|
||||
{:size :size-32
|
||||
:icon (case type
|
||||
:seed :i/seed
|
||||
:key :i/password
|
||||
nil)
|
||||
:color :neutral
|
||||
:blur? true
|
||||
:border? true}]
|
||||
[rn/view
|
||||
{:style style/name-container
|
||||
:accessibility-label :name}
|
||||
|
||||
@@ -25,12 +25,12 @@
|
||||
:blur :grey})
|
||||
|
||||
(defn- page-nav-base
|
||||
[{:keys [margin-top background on-press accessibility-label icon-name behind-overlay?]
|
||||
[{:keys [margin-top background on-press accessibility-label icon-name behind-overlay? align-center?]
|
||||
:or {background :white}}
|
||||
& children]
|
||||
(into [rn/view {:style (style/container margin-top)}
|
||||
(when icon-name
|
||||
[rn/view {:style style/icon-container}
|
||||
[rn/view (when align-center? {:style style/icon-container})
|
||||
[button/button
|
||||
{:type (button-type background)
|
||||
:icon-only? true
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
(ns quo.components.notifications.notification.style
|
||||
(:require
|
||||
[quo.foundations.colors :as colors]
|
||||
[quo.foundations.shadows :as shadows]))
|
||||
[quo.foundations.shadows :as shadows]
|
||||
[react-native.platform :as platform]))
|
||||
|
||||
(def box-container
|
||||
{:margin-horizontal 8
|
||||
@@ -15,7 +16,7 @@
|
||||
:padding-vertical 8
|
||||
:padding-left 10
|
||||
:padding-right 8
|
||||
:background-color :transparent})
|
||||
:background-color (when platform/ios? :transparent)})
|
||||
|
||||
(defn content-container
|
||||
[theme]
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
(ns quo.components.notifications.notification.view
|
||||
(:require
|
||||
[quo.components.avatars.user-avatar.view :as user-avatar]
|
||||
[quo.components.blur.view :as blur]
|
||||
[quo.components.markdown.text :as text]
|
||||
[quo.components.notifications.notification.style :as style]
|
||||
[quo.theme]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]))
|
||||
|
||||
(defn header-container
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
(ns quo.components.notifications.toast.style
|
||||
(:require
|
||||
[quo.foundations.colors :as colors]
|
||||
[quo.foundations.shadows :as shadows]))
|
||||
[quo.foundations.shadows :as shadows]
|
||||
[react-native.platform :as platform]))
|
||||
|
||||
(defn box-container
|
||||
[theme]
|
||||
@@ -17,7 +18,7 @@
|
||||
:padding-vertical 8
|
||||
:padding-left 10
|
||||
:padding-right 8
|
||||
:background-color :transparent})
|
||||
:background-color (when platform/ios? :transparent)})
|
||||
|
||||
(defn content-container
|
||||
[theme]
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
(ns quo.components.notifications.toast.view
|
||||
(:require
|
||||
[quo.components.avatars.user-avatar.view :as user-avatar]
|
||||
[quo.components.blur.view :as blur]
|
||||
[quo.components.icon :as icon]
|
||||
[quo.components.markdown.text :as text]
|
||||
[quo.components.notifications.count-down-circle :as count-down-circle]
|
||||
[quo.components.notifications.toast.style :as style]
|
||||
[quo.theme :as quo.theme]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]
|
||||
[utils.i18n :as i18n]))
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
(ns quo.components.overlay.view
|
||||
(:require
|
||||
[quo.components.blur.view :as blur]
|
||||
[quo.components.overlay.style :as style]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]
|
||||
[react-native.safe-area :as safe-area]))
|
||||
|
||||
|
||||
@@ -28,3 +28,9 @@
|
||||
(h/render [disclaimer/view {:checked? false} "test"])
|
||||
(h/is-null (h/query-by-label-text :checkbox-on))
|
||||
(h/is-truthy (h/query-by-label-text :checkbox-off)))))
|
||||
|
||||
(h/test "Renders icon"
|
||||
(let [text "I accept this disclaimer"]
|
||||
(h/render [disclaimer/view {:icon :i/locked} text])
|
||||
(h/is-truthy (h/query-by-label-text :disclaimer-icon))))
|
||||
|
||||
|
||||
@@ -16,3 +16,7 @@
|
||||
|
||||
(def text
|
||||
{:margin-left 8})
|
||||
|
||||
(def icon-container
|
||||
{:align-items :flex-end
|
||||
:flex 1})
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
(ns quo.components.selectors.disclaimer.view
|
||||
(:require
|
||||
[quo.components.icon :as icons]
|
||||
[quo.components.markdown.text :as text]
|
||||
[quo.components.selectors.disclaimer.style :as style]
|
||||
[quo.components.selectors.selectors.view :as selectors]
|
||||
[quo.foundations.colors :as colors]
|
||||
[quo.theme]
|
||||
[react-native.core :as rn]))
|
||||
|
||||
(defn view
|
||||
[{:keys [checked? blur? accessibility-label container-style on-change]} label]
|
||||
[{:keys [checked? blur? accessibility-label container-style on-change icon customization-color]} label]
|
||||
(let [theme (quo.theme/use-theme)]
|
||||
[rn/touchable-without-feedback
|
||||
{:on-press on-change
|
||||
@@ -18,8 +20,18 @@
|
||||
:accessibility-label accessibility-label
|
||||
:blur? blur?
|
||||
:checked? checked?
|
||||
:on-change on-change}]
|
||||
:on-change on-change
|
||||
:customization-color customization-color}]
|
||||
[text/text
|
||||
{:size :paragraph-2
|
||||
:style style/text}
|
||||
label]]]))
|
||||
label]
|
||||
(when icon
|
||||
[rn/view {:style style/icon-container}
|
||||
[icons/icon icon
|
||||
{:accessibility-label :disclaimer-icon
|
||||
:color (if blur?
|
||||
(colors/white-opa-70)
|
||||
(colors/theme-colors colors/neutral-50
|
||||
colors/neutral-40
|
||||
theme))}]])]]))
|
||||
|
||||
@@ -6,18 +6,14 @@
|
||||
[customization-color theme]
|
||||
{:normal {:checked (colors/resolve-color customization-color theme)
|
||||
:unchecked (colors/theme-colors colors/neutral-30 colors/neutral-80 theme)}
|
||||
:blur {:checked (colors/theme-colors (colors/resolve-color customization-color theme)
|
||||
colors/white-opa-70
|
||||
theme)
|
||||
:blur {:checked (colors/resolve-color customization-color :light)
|
||||
:unchecked (colors/theme-colors colors/neutral-80-opa-20 colors/white-opa-10 theme)}})
|
||||
|
||||
(defn- radio-border-color
|
||||
[customization-color theme]
|
||||
{:normal {:checked (colors/resolve-color customization-color theme)
|
||||
:unchecked (colors/theme-colors colors/neutral-30 colors/neutral-70 theme)}
|
||||
:blur {:checked (colors/theme-colors (colors/resolve-color customization-color theme)
|
||||
colors/white
|
||||
theme)
|
||||
:blur {:checked (colors/resolve-color customization-color :light)
|
||||
:unchecked (colors/theme-colors colors/neutral-80-opa-20 colors/white-opa-40 theme)}})
|
||||
|
||||
(defn- radio-background-unchecked-color
|
||||
@@ -28,11 +24,9 @@
|
||||
(defn- checkbox-background-color
|
||||
[customization-color theme]
|
||||
{:normal {:checked (colors/resolve-color customization-color theme)
|
||||
:unchecked (colors/theme-colors colors/white-opa-40 colors/neutral-80-opa-40 theme)}
|
||||
:blur {:checked (colors/theme-colors (colors/resolve-color customization-color theme)
|
||||
colors/white
|
||||
theme)
|
||||
:unchecked colors/white-opa-5}})
|
||||
:unchecked nil}
|
||||
:blur {:checked (colors/resolve-color customization-color :light)
|
||||
:unchecked nil}})
|
||||
|
||||
(defn- checkbox-border-unchecked-color
|
||||
[theme]
|
||||
@@ -42,7 +36,7 @@
|
||||
(defn- filled-checkbox-background-color
|
||||
[theme]
|
||||
{:normal (colors/theme-colors colors/neutral-30 colors/neutral-80 theme)
|
||||
:blur (colors/theme-colors colors/neutral-80-opa-10 colors/white-opa-10 theme)})
|
||||
:blur (colors/theme-colors colors/neutral-80-opa-20 colors/white-opa-20 theme)})
|
||||
|
||||
(defn- get-color
|
||||
[color-map & [blur? checked?]]
|
||||
@@ -114,11 +108,9 @@
|
||||
{:height size :width size}))
|
||||
|
||||
(defn checkbox-check
|
||||
[_checked? blur? theme]
|
||||
[_checked? _blur? _theme]
|
||||
{:size 20
|
||||
:color (if blur?
|
||||
(colors/theme-colors colors/white colors/neutral-100 theme)
|
||||
colors/white)})
|
||||
:color colors/white})
|
||||
|
||||
(defn filled-checkbox
|
||||
[{:keys [disabled? blur? container-style theme]}]
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
|
||||
(defn- base-selector
|
||||
[{:keys [default-checked? checked? disabled? blur? customization-color on-change container-style
|
||||
label-prefix outer-style-fn inner-style-fn icon-style-fn]
|
||||
:or {customization-color :blue}}]
|
||||
label-prefix outer-style-fn inner-style-fn icon-style-fn]}]
|
||||
(let [theme (quo.theme/use-theme)
|
||||
customization-color (if customization-color customization-color :blue)
|
||||
controlled-component? (some? checked?)
|
||||
[internal-checked?
|
||||
set-internal-checked?] (rn/use-state (when-not controlled-component?
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
(ns quo.components.tabs.tabs.schema)
|
||||
|
||||
(def ^:private ?data
|
||||
[:sequential
|
||||
[:maybe
|
||||
[:map
|
||||
[:id [:or :int :keyword [:set :int]]]
|
||||
[:label [:maybe :string]]
|
||||
[:accessibility-label {:optional true} [:maybe [:or :keyword :string]]]
|
||||
[:notification-dot? {:optional true} [:maybe :boolean]]]]])
|
||||
|
||||
(def ?schema
|
||||
[:=>
|
||||
[:catn
|
||||
[:props
|
||||
[:map
|
||||
[:default-active {:optional true} [:maybe [:or :int :keyword]]]
|
||||
[:active-tab-id {:optional true} [:maybe [:or :int :keyword]]]
|
||||
[:data ?data]
|
||||
[:fade-end-percentage {:optional true} [:or :double :string]]
|
||||
[:fade-end? {:optional true} [:maybe :boolean]]
|
||||
[:blur? {:optional true} [:maybe :boolean]]
|
||||
[:on-change {:optional true} [:maybe fn?]]
|
||||
[:on-scroll {:optional true} [:maybe fn?]]
|
||||
[:scroll-on-press? {:optional true} [:maybe :boolean]]
|
||||
[:scrollable? {:optional true} [:maybe :boolean]]
|
||||
[:style {:optional true} [:maybe :map]]
|
||||
[:container-style {:optional true} [:maybe :map]]
|
||||
[:size {:optional true} [:maybe [:or :keyword :int]]]
|
||||
[:in-scroll-view? {:optional true} [:maybe :boolean]]
|
||||
[:customization-color {:optional true} [:maybe :schema.common/customization-color]]]]]
|
||||
:any])
|
||||
@@ -2,12 +2,14 @@
|
||||
(:require
|
||||
[oops.core :refer [oget]]
|
||||
[quo.components.tabs.tab.view :as tab]
|
||||
[quo.components.tabs.tabs.schema :as component-schema]
|
||||
[quo.components.tabs.tabs.style :as style]
|
||||
[react-native.core :as rn]
|
||||
[react-native.gesture :as gesture]
|
||||
[react-native.linear-gradient :as linear-gradient]
|
||||
[react-native.masked-view :as masked-view]
|
||||
[reagent.core :as reagent]
|
||||
[schema.core :as schema]
|
||||
[utils.collection :as utils.collection]
|
||||
[utils.number]))
|
||||
|
||||
@@ -84,36 +86,20 @@
|
||||
:on-press #(on-press % index)}
|
||||
label]])
|
||||
|
||||
(defn view
|
||||
" Common options (for scrollable and non-scrollable tabs):
|
||||
|
||||
- `blur?` Boolean passed down to `quo.components.tabs.tab/tab`.
|
||||
- `data` Vector of tab items.
|
||||
- `on-change` Callback called after a tab is selected.
|
||||
- `size` 32/24
|
||||
- `style` Style map passed to View wrapping tabs or to the FlatList when tabs
|
||||
are scrollable.
|
||||
|
||||
Options for scrollable tabs:
|
||||
- `fade-end-percentage` Percentage where fading starts relative to the total
|
||||
layout width of the `flat-list` data.
|
||||
- `fade-end?` When non-nil, causes the end of the scrollable view to fade out.
|
||||
- `on-scroll` Callback called on the on-scroll event of the FlatList. Only
|
||||
used when `scrollable?` is non-nil.
|
||||
- `scrollable?` When non-nil, use a scrollable flat-list to render tabs.
|
||||
- `scroll-on-press?` When non-nil, clicking on a tag centers it the middle
|
||||
(with animation enabled).
|
||||
"
|
||||
(defn- view-internal
|
||||
[{:keys [default-active data fade-end-percentage fade-end? on-change on-scroll scroll-on-press?
|
||||
scrollable? style container-style size blur? in-scroll-view? customization-color]
|
||||
scrollable? style container-style size blur? in-scroll-view? customization-color
|
||||
active-tab-id]
|
||||
:or {fade-end-percentage 0.8
|
||||
fade-end? false
|
||||
scrollable? false
|
||||
scroll-on-press? false
|
||||
size default-tab-size}
|
||||
:as props}]
|
||||
(let [[active-tab-id
|
||||
set-active-tab-id] (rn/use-state default-active)
|
||||
(let [[active-tab-internal-id
|
||||
set-active-tab-internal-id] (rn/use-state default-active)
|
||||
tab-id (or active-tab-id active-tab-internal-id)
|
||||
|
||||
[fading set-fading] (rn/use-state fade-end-percentage)
|
||||
flat-list-ref (rn/use-ref-atom nil)
|
||||
tabs-data (rn/use-memo (fn [] (filterv some? data))
|
||||
@@ -143,11 +129,11 @@
|
||||
{:animated false
|
||||
:index
|
||||
(utils.collection/first-index
|
||||
#(= active-tab-id (:id %))
|
||||
#(= tab-id (:id %))
|
||||
tabs-data)}))))
|
||||
[active-tab-id tabs-data])
|
||||
[tab-id tabs-data])
|
||||
on-tab-press (rn/use-callback (fn [id index]
|
||||
(set-active-tab-id id)
|
||||
(set-active-tab-internal-id id)
|
||||
(when (and scroll-on-press? @flat-list-ref)
|
||||
(.scrollToIndex ^js @flat-list-ref
|
||||
#js
|
||||
@@ -156,7 +142,8 @@
|
||||
:viewPosition 0.5}))
|
||||
(when on-change
|
||||
(on-change id)))
|
||||
[set-active-tab-id scroll-on-press? on-change])]
|
||||
[set-active-tab-internal-id scroll-on-press?
|
||||
on-change])]
|
||||
(if scrollable?
|
||||
[rn/view {:style {:margin-top (- (dec unread-count-offset))}}
|
||||
[masked-view-wrapper
|
||||
@@ -183,7 +170,7 @@
|
||||
:on-scroll on-scroll
|
||||
:on-layout set-initial-scroll-poisition
|
||||
:render-fn tab-view
|
||||
:render-data {:active-tab-id active-tab-id
|
||||
:render-data {:active-tab-id tab-id
|
||||
:blur? blur?
|
||||
:customization-color customization-color
|
||||
:number-of-items (count tabs-data)
|
||||
@@ -194,7 +181,7 @@
|
||||
(map-indexed (fn [index item]
|
||||
^{:key (:id item)}
|
||||
[tab-view item index nil
|
||||
{:active-tab-id active-tab-id
|
||||
{:active-tab-id tab-id
|
||||
:blur? blur?
|
||||
:customization-color customization-color
|
||||
:number-of-items (count tabs-data)
|
||||
@@ -202,3 +189,5 @@
|
||||
:on-press on-tab-press
|
||||
:style style}])
|
||||
tabs-data)])))
|
||||
|
||||
(def view (schema/instrument #'view-internal component-schema/?schema))
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
(i18n/label :t/keypair-title {:name first-name})))
|
||||
|
||||
(defn avatar
|
||||
[{{:keys [full-name]} :details
|
||||
[{:keys [blur?]
|
||||
{:keys [full-name]} :details
|
||||
avatar-type :type
|
||||
customization-color :customization-color
|
||||
profile-picture :profile-picture}]
|
||||
@@ -34,6 +35,7 @@
|
||||
[icon-avatar/icon-avatar
|
||||
{:size :size-32
|
||||
:icon :i/seed
|
||||
:blur? blur?
|
||||
:border? true}]))
|
||||
|
||||
(defn title-view
|
||||
|
||||
@@ -59,26 +59,36 @@
|
||||
:height 32
|
||||
:margin-top 8})
|
||||
|
||||
(def content-container
|
||||
{:margin-left 8})
|
||||
(def container
|
||||
{:flex-direction :row
|
||||
:column-gap 8})
|
||||
|
||||
(def content-line
|
||||
{:flex-direction :row
|
||||
:margin-top 2
|
||||
:align-items :center})
|
||||
|
||||
(defn icon-hole-view
|
||||
[theme blur?]
|
||||
(def icon-hole-view
|
||||
{:width 32
|
||||
:height 32
|
||||
:border-width 1
|
||||
:border-color (if-not blur?
|
||||
(colors/theme-colors colors/neutral-20 colors/neutral-80 theme)
|
||||
colors/white-opa-5)
|
||||
:border-radius 16
|
||||
:align-items :center
|
||||
:justify-content :center})
|
||||
|
||||
(defn icon-circle-border
|
||||
[theme blur?]
|
||||
{:position :absolute
|
||||
:top 0
|
||||
:left 0
|
||||
:right 0
|
||||
:bottom 0
|
||||
:width 32
|
||||
:height 32
|
||||
:border-width 1
|
||||
:border-radius 16
|
||||
:border-color (if-not blur?
|
||||
(colors/theme-colors colors/neutral-20 colors/neutral-80 theme)
|
||||
colors/white-opa-5)})
|
||||
|
||||
(defn icon-color
|
||||
[theme]
|
||||
(colors/theme-colors colors/neutral-100 colors/white theme))
|
||||
|
||||
@@ -70,20 +70,21 @@
|
||||
status :pending}}
|
||||
theme]
|
||||
[rn/view {:style style/icon-container}
|
||||
[rn/view {:style style/icon-status-container}
|
||||
[icon/icon (status-icon status)
|
||||
{:size 12
|
||||
:no-color :true}]]
|
||||
[hole-view/hole-view
|
||||
{:style (style/icon-hole-view theme blur?)
|
||||
{:style style/icon-hole-view
|
||||
:holes [{:x 20
|
||||
:y 20
|
||||
:right 0
|
||||
:width 12
|
||||
:height 12
|
||||
:borderRadius 6}]}
|
||||
[icon/icon (transaction-icon transaction)
|
||||
{:color (style/icon-color theme)}]]
|
||||
[rn/view {:style style/icon-status-container}
|
||||
[icon/icon (status-icon status)
|
||||
{:size 12
|
||||
:no-color :true}]]])
|
||||
[icon/icon (transaction-icon transaction :i/placeholder)
|
||||
{:color (style/icon-color theme)}]
|
||||
[rn/view {:style (style/icon-circle-border theme blur?)}]]])
|
||||
|
||||
(defn prop-text
|
||||
[label theme]
|
||||
@@ -116,11 +117,9 @@
|
||||
:on-press on-press
|
||||
:on-press-in on-press-in
|
||||
:on-press-out on-press-out}
|
||||
[rn/view
|
||||
{:style {:flex-direction :row}}
|
||||
[rn/view {:style style/container}
|
||||
[transaction-icon-view props theme]
|
||||
[rn/view
|
||||
{:style style/content-container}
|
||||
[transaction-header props theme]
|
||||
[rn/view {:style style/content-line}
|
||||
(when first-tag [prop-tag first-tag blur?])
|
||||
|
||||
@@ -12,7 +12,9 @@
|
||||
quo.components.avatars.token-avatar.view
|
||||
quo.components.avatars.user-avatar.view
|
||||
quo.components.avatars.wallet-user-avatar.view
|
||||
quo.components.banners.alert-banner.view
|
||||
quo.components.banners.banner.view
|
||||
quo.components.blur.view
|
||||
quo.components.browser.browser-input.view
|
||||
quo.components.buttons.button.view
|
||||
quo.components.buttons.composer-button.view
|
||||
@@ -202,6 +204,7 @@
|
||||
(def wallet-user-avatar quo.components.avatars.wallet-user-avatar.view/wallet-user-avatar)
|
||||
|
||||
;;;; Banner
|
||||
(def alert-banner quo.components.banners.alert-banner.view/view)
|
||||
(def banner quo.components.banners.banner.view/view)
|
||||
|
||||
;;;; Buttons
|
||||
@@ -218,6 +221,9 @@
|
||||
;;;; Browser
|
||||
(def browser-input quo.components.browser.browser-input.view/view)
|
||||
|
||||
;;;; Blur
|
||||
(def blur quo.components.blur.view/view)
|
||||
|
||||
;;;; Calendar
|
||||
(def calendar quo.components.calendar.calendar.view/view)
|
||||
(def calendar-day quo.components.calendar.calendar-day.view/view)
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
quo.components.avatars.dapp-avatar.component-spec
|
||||
quo.components.avatars.token-avatar.component-spec
|
||||
quo.components.avatars.user-avatar.component-spec
|
||||
quo.components.banners.alert-banner.component-spec
|
||||
quo.components.banners.banner.component-spec
|
||||
quo.components.browser.browser-input.component-spec
|
||||
quo.components.buttons.button.component-spec
|
||||
|
||||
@@ -41,13 +41,13 @@
|
||||
[message]
|
||||
(let [cause (if platform/android?
|
||||
(condp = message
|
||||
android-not-enrolled-error-message :biometrics/not-enrolled-error
|
||||
android-not-enrolled-error-message :biometrics/fingerprints-not-enrolled-error
|
||||
android-not-available-error-message :biometrics/not-available-error
|
||||
android-too-many-attempts-error-message :biometric/too-many-attempts
|
||||
:biometrics/unknown-error)
|
||||
|
||||
(condp #(string/includes? %2 %1) message
|
||||
ios-not-enrolled-error-message :biometrics/not-enrolled-error
|
||||
ios-not-enrolled-error-message :biometrics/ios-not-enrolled-error
|
||||
:biometrics/unknown-error))]
|
||||
(ex-info "Failed to authenticate with biometrics"
|
||||
{:orig-error-message message}
|
||||
|
||||
@@ -2,10 +2,9 @@
|
||||
(:require
|
||||
["@react-native-community/blur" :as blur]
|
||||
[react-native.core :as rn]
|
||||
[react-native.platform :as platform]
|
||||
[reagent.core :as reagent]))
|
||||
|
||||
(def view (reagent/adapt-react-class (.-BlurView blur)))
|
||||
|
||||
;; blur view is currently not working correctly on Android.
|
||||
(def ios-view (if platform/ios? view rn/view))
|
||||
(def view
|
||||
(if blur
|
||||
(reagent/adapt-react-class (.-BlurView blur))
|
||||
rn/view))
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
runOnJS)]
|
||||
["react-native-redash" :refer (withPause)]
|
||||
[react-native.flat-list :as rn-flat-list]
|
||||
[react-native.platform :as platform]
|
||||
[react-native.utils :as rn.utils]
|
||||
[reagent.core :as reagent]
|
||||
[utils.transforms :as transforms]
|
||||
@@ -60,7 +61,7 @@
|
||||
(def touchable-opacity (create-animated-component (.-TouchableOpacity ^js rn)))
|
||||
(def linear-gradient (create-animated-component LinearGradient))
|
||||
(def fast-image (create-animated-component FastImage))
|
||||
(def blur-view (create-animated-component (.-BlurView blur)))
|
||||
(def blur-view (if platform/ios? (create-animated-component (.-BlurView blur)) view))
|
||||
|
||||
;; Hooks
|
||||
(def use-shared-value useSharedValue)
|
||||
|
||||
@@ -14,8 +14,11 @@
|
||||
(defn show-message
|
||||
[_ [code]]
|
||||
(let [content (case code
|
||||
(:biometrics/not-enrolled-error
|
||||
(:biometrics/fingerprints-not-enrolled-error
|
||||
:biometrics/not-available-error)
|
||||
(i18n/label :t/grant-fingerprints-permissions)
|
||||
|
||||
:biometrics/ios-not-enrolled-error
|
||||
(i18n/label :t/grant-face-id-permissions)
|
||||
|
||||
:biometric/too-many-attempts
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
(let [cofx {:db {}}
|
||||
expected {:fx [[:effects.utils/show-popup
|
||||
{:title (i18n/label :t/biometric-auth-login-error-title)
|
||||
:content (i18n/label :t/grant-face-id-permissions)}]]}]
|
||||
:content (i18n/label :t/grant-fingerprints-permissions)}]]}]
|
||||
(is (match? expected
|
||||
(sut/show-message cofx
|
||||
[:biometrics/not-available-error])))))
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
[quo.core :as quo]
|
||||
[quo.foundations.colors :as colors]
|
||||
[quo.theme :as quo.theme]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]
|
||||
[react-native.gesture :as gesture]
|
||||
[react-native.hooks :as hooks]
|
||||
@@ -134,7 +133,7 @@
|
||||
(style/sheet {:max-height sheet-max-height}))}
|
||||
(when shell?
|
||||
[rn/view {:style style/shell-bg-container}
|
||||
[blur/ios-view
|
||||
[quo/blur
|
||||
{:style (style/shell-bg blur-background)
|
||||
:blur-radius (or blur-radius 20)
|
||||
:blur-amount 32
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
[quo.core :as quo]
|
||||
[quo.foundations.colors :as colors]
|
||||
[quo.theme :as quo.theme]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]
|
||||
[react-native.gesture :as gesture]
|
||||
[react-native.platform :as platform]
|
||||
@@ -131,7 +130,7 @@
|
||||
:scroll-ref scroll-ref}))]
|
||||
(fn []
|
||||
[rn/view {:style style/category-container}
|
||||
[blur/view
|
||||
[quo/blur
|
||||
{:style style/category-blur-container
|
||||
:blur-radius (if platform/android? 20 10)
|
||||
:blur-amount (if platform/ios? 20 10)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
(:require
|
||||
[clojure.string :as string]
|
||||
[legacy.status-im.ethereum.mnemonic :as mnemonic]
|
||||
[oops.core :as oops]
|
||||
[quo.core :as quo]
|
||||
[quo.foundations.colors :as colors]
|
||||
[react-native.core :as rn]
|
||||
@@ -96,35 +97,36 @@
|
||||
|
||||
(defn recovery-phrase-screen
|
||||
[{:keys [keypair title recovering-keypair? render-controls]}]
|
||||
(reagent/with-let [keyboard-shown? (reagent/atom false)
|
||||
keyboard-show-listener (.addListener rn/keyboard
|
||||
"keyboardDidShow"
|
||||
#(reset! keyboard-shown? true))
|
||||
keyboard-hide-listener (.addListener rn/keyboard
|
||||
"keyboardDidHide"
|
||||
#(reset! keyboard-shown? false))
|
||||
invalid-seed-phrase? (reagent/atom false)
|
||||
input-ref (reagent/atom nil)
|
||||
focus-input (fn []
|
||||
(let [ref @input-ref]
|
||||
(when ref
|
||||
(.focus ref))))
|
||||
set-invalid-seed-phrase #(reset! invalid-seed-phrase? true)
|
||||
seed-phrase (reagent/atom "")
|
||||
on-change-seed-phrase (fn [new-phrase]
|
||||
(when @invalid-seed-phrase?
|
||||
(reset! invalid-seed-phrase? false))
|
||||
(reset! seed-phrase new-phrase))
|
||||
on-submit (fn []
|
||||
(swap! seed-phrase clean-seed-phrase)
|
||||
(if recovering-keypair?
|
||||
(rf/dispatch [:wallet/seed-phrase-entered
|
||||
(security/mask-data
|
||||
@seed-phrase)
|
||||
set-invalid-seed-phrase])
|
||||
(rf/dispatch [:onboarding/seed-phrase-entered
|
||||
(security/mask-data @seed-phrase)
|
||||
set-invalid-seed-phrase])))]
|
||||
(reagent/with-let [keyboard-shown? (reagent/atom false)
|
||||
keyboard-show-listener (.addListener rn/keyboard
|
||||
"keyboardDidShow"
|
||||
#(reset! keyboard-shown? true))
|
||||
keyboard-hide-listener (.addListener rn/keyboard
|
||||
"keyboardDidHide"
|
||||
#(reset! keyboard-shown? false))
|
||||
invalid-seed-phrase? (reagent/atom false)
|
||||
incorrect-seed-phrase? (reagent/atom false)
|
||||
input-ref (reagent/atom nil)
|
||||
focus-input #(some-> @input-ref
|
||||
(oops/ocall "focus"))
|
||||
set-incorrect-seed-phrase #(reset! incorrect-seed-phrase? true)
|
||||
set-invalid-seed-phrase #(reset! invalid-seed-phrase? true)
|
||||
seed-phrase (reagent/atom "")
|
||||
on-change-seed-phrase (fn [new-phrase]
|
||||
(when @invalid-seed-phrase?
|
||||
(reset! invalid-seed-phrase? false)
|
||||
(reset! incorrect-seed-phrase? false))
|
||||
(reset! seed-phrase new-phrase))
|
||||
on-submit (fn []
|
||||
(swap! seed-phrase clean-seed-phrase)
|
||||
(if recovering-keypair?
|
||||
(rf/dispatch [:wallet/seed-phrase-entered
|
||||
(security/mask-data
|
||||
@seed-phrase)
|
||||
set-invalid-seed-phrase])
|
||||
(rf/dispatch [:onboarding/seed-phrase-entered
|
||||
(security/mask-data @seed-phrase)
|
||||
set-invalid-seed-phrase])))]
|
||||
(let [words-coll (mnemonic/passphrase->words @seed-phrase)
|
||||
last-word (peek words-coll)
|
||||
pick-suggested-word (fn [pressed-word]
|
||||
@@ -143,16 +145,18 @@
|
||||
suggestions-state (cond
|
||||
(or error-in-words?
|
||||
words-exceeded?
|
||||
@invalid-seed-phrase?) :error
|
||||
@invalid-seed-phrase?
|
||||
@incorrect-seed-phrase?) :error
|
||||
(string/blank? @seed-phrase) :info
|
||||
(string/ends-with? @seed-phrase " ") :empty
|
||||
:else :words)
|
||||
suggestions-text (cond
|
||||
upper-case? (i18n/label :t/seed-phrase-words-uppercase)
|
||||
words-exceeded? (i18n/label :t/seed-phrase-words-exceeded)
|
||||
error-in-words? (i18n/label :t/seed-phrase-error)
|
||||
@invalid-seed-phrase? (i18n/label :t/seed-phrase-invalid)
|
||||
:else (i18n/label :t/seed-phrase-info))
|
||||
upper-case? (i18n/label :t/seed-phrase-words-uppercase)
|
||||
words-exceeded? (i18n/label :t/seed-phrase-words-exceeded)
|
||||
error-in-words? (i18n/label :t/seed-phrase-error)
|
||||
@invalid-seed-phrase? (i18n/label :t/seed-phrase-invalid)
|
||||
@incorrect-seed-phrase? (i18n/label :t/seed-phrase-incorrect)
|
||||
:else (i18n/label :t/seed-phrase-info))
|
||||
error-state? (= suggestions-state :error)
|
||||
button-disabled? (or error-state?
|
||||
(not (constants/seed-phrase-valid-length word-count))
|
||||
@@ -166,13 +170,13 @@
|
||||
:word-count word-count
|
||||
:ref #(reset! input-ref %)}
|
||||
(if (fn? render-controls)
|
||||
(render-controls {:submit-disabled? button-disabled?
|
||||
:keyboard-shown? @keyboard-shown?
|
||||
:container-style (style/continue-button @keyboard-shown?)
|
||||
:prepare-seed-phrase secure-clean-seed-phrase
|
||||
:focus-input focus-input
|
||||
:seed-phrase (security/mask-data @seed-phrase)
|
||||
:set-invalid-seed-phrase set-invalid-seed-phrase})
|
||||
(render-controls {:submit-disabled? button-disabled?
|
||||
:keyboard-shown? @keyboard-shown?
|
||||
:container-style (style/continue-button @keyboard-shown?)
|
||||
:prepare-seed-phrase secure-clean-seed-phrase
|
||||
:focus-input focus-input
|
||||
:seed-phrase (security/mask-data @seed-phrase)
|
||||
:set-incorrect-seed-phrase set-incorrect-seed-phrase})
|
||||
[quo/button
|
||||
{:container-style (style/continue-button @keyboard-shown?)
|
||||
:type :primary
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
(ns status-im.common.floating-button-page.floating-container.view
|
||||
(:require [quo.theme :as quo.theme]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]
|
||||
[status-im.common.floating-button-page.floating-container.style :as style]))
|
||||
(:require
|
||||
[quo.core :as quo]
|
||||
[quo.theme :as quo.theme]
|
||||
[react-native.core :as rn]
|
||||
[status-im.common.floating-button-page.floating-container.style :as style]))
|
||||
|
||||
(defn- blur-container
|
||||
[child]
|
||||
(let [theme (quo.theme/use-theme)]
|
||||
[blur/view
|
||||
[quo/blur
|
||||
{:blur-amount 12
|
||||
:blur-radius 12
|
||||
:blur-type theme}
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
[quo.core :as quo]
|
||||
[quo.foundations.colors :as colors]
|
||||
[quo.theme]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]
|
||||
[react-native.platform :as platform]
|
||||
[react-native.reanimated :as reanimated]
|
||||
@@ -34,7 +33,7 @@
|
||||
(let [open-sheet? (-> (rf/sub [:bottom-sheet]) :sheets seq)
|
||||
theme (quo.theme/use-theme)]
|
||||
[reanimated/view {:style (style/banner-card-blur-layer scroll-shared-value theme)}
|
||||
[blur/view
|
||||
[quo/blur
|
||||
{:style style/fill-space
|
||||
:blur-amount (if platform/ios? 20 10)
|
||||
:blur-type (if (= theme :light) (if platform/ios? :light :xlight) :dark)
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
[oops.core :as oops]
|
||||
[quo.core :as quo]
|
||||
[quo.foundations.colors :as colors]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.camera-kit :as camera-kit]
|
||||
[react-native.core :as rn]
|
||||
[react-native.hole-view :as hole-view]
|
||||
@@ -177,7 +176,7 @@
|
||||
[hole-view/hole-view
|
||||
{:style style/hole
|
||||
:holes [(assoc qr-view-finder :borderRadius 16)]}
|
||||
[blur/view
|
||||
[quo/blur
|
||||
{:style style/absolute-fill
|
||||
:blur-amount 10
|
||||
:blur-type :transparent
|
||||
|
||||
@@ -23,10 +23,7 @@
|
||||
:right 0
|
||||
:left 0
|
||||
:background-color (if platform/android?
|
||||
(colors/theme-colors
|
||||
colors/white-opa-70
|
||||
colors/neutral-95-opa-70
|
||||
theme)
|
||||
(colors/theme-colors colors/white colors/neutral-80 theme)
|
||||
:transparent)}))
|
||||
|
||||
(defn sticky-header-title
|
||||
|
||||
@@ -105,6 +105,12 @@
|
||||
"waku.backedup.settings"
|
||||
{:fx [[:dispatch [:profile/update-setting-from-backup (transforms/js->clj event-js)]]]}
|
||||
|
||||
"waku.backedup.keypair"
|
||||
{:fx [[:dispatch [:wallet/process-keypair-from-backup (transforms/js->clj event-js)]]]}
|
||||
|
||||
"waku.backedup.watch-only-account"
|
||||
{:fx [[:dispatch [:wallet/process-watch-only-account-from-backup (transforms/js->clj event-js)]]]}
|
||||
|
||||
"mediaserver.started"
|
||||
{:db (assoc db :mediaserver/port (oops/oget event-js :port))}
|
||||
|
||||
|
||||
@@ -228,7 +228,8 @@
|
||||
(def regx-string-public-key "0x04[0-9a-f]{128}")
|
||||
(def regx-compressed-key (re-pattern (str "^" regx-string-compressed-key "$")))
|
||||
(def regx-public-key (re-pattern (str "^" regx-string-public-key "$")))
|
||||
(def regx-private-key #"^0x[0-9a-fA-F]{64}$")
|
||||
(def regx-private-key-hex #"^0x[0-9a-fA-F]{64}$")
|
||||
(def regx-private-key #"^[0-9a-fA-F]{64}$")
|
||||
(def regx-emoji
|
||||
#"^((?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC69\uDC6E\uDC70-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD18-\uDD1C\uDD1E\uDD1F\uDD26\uDD30-\uDD39\uDD3D\uDD3E\uDDD1-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])?|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDEEB\uDEEC\uDEF4-\uDEF8]|\uD83E[\uDD10-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD4C\uDD50-\uDD6B\uDD80-\uDD97\uDDC0\uDDD0-\uDDE6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEF8]|\uD83E[\uDD10-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD4C\uDD50-\uDD6B\uDD80-\uDD97\uDDC0\uDDD0-\uDDE6])\uFE0F|[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF])+$")
|
||||
(def regx-bold #"\*[^*]+\*")
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
[utils.re-frame :as rf]))
|
||||
|
||||
(defn edit-message
|
||||
[{:keys [text-value input-ref]}]
|
||||
[{:keys [text-value input-ref input-height]}]
|
||||
(let [theme (quo.theme/use-theme)]
|
||||
[rn/view
|
||||
{:style style/container
|
||||
@@ -32,7 +32,7 @@
|
||||
{:size 24
|
||||
:icon-only? true
|
||||
:accessibility-label :edit-cancel-button
|
||||
:on-press #(utils/cancel-edit-message text-value input-ref)
|
||||
:on-press #(utils/cancel-edit-message text-value input-ref input-height)
|
||||
:type :outline}
|
||||
:i/close]]))
|
||||
|
||||
|
||||
@@ -76,11 +76,10 @@
|
||||
(reset! gesture-enabled? false)))
|
||||
|
||||
(defn empty-effect
|
||||
[{:keys [empty-input?]}
|
||||
{:keys [input-text images link-previews? reply audio]}]
|
||||
[{:keys [empty-input?]} subscriptions]
|
||||
(reanimated/set-shared-value
|
||||
empty-input?
|
||||
(utils/empty-input? input-text images link-previews? reply audio)))
|
||||
(utils/empty-input? subscriptions)))
|
||||
|
||||
(defn component-will-unmount
|
||||
[{:keys [keyboard-show-listener keyboard-hide-listener keyboard-frame-listener]}]
|
||||
@@ -90,7 +89,7 @@
|
||||
|
||||
(defn initialize
|
||||
[props state animations {:keys [max-height] :as dimensions}
|
||||
{:keys [chat-input audio input-text images link-previews? reply] :as subscriptions}]
|
||||
{:keys [chat-input audio input-text images link-previews? reply edit] :as subscriptions}]
|
||||
(rn/use-effect
|
||||
(fn []
|
||||
(maximized-effect state animations dimensions chat-input)
|
||||
@@ -105,7 +104,7 @@
|
||||
(rn/use-effect
|
||||
(fn []
|
||||
(empty-effect animations subscriptions))
|
||||
[input-text images link-previews? reply])
|
||||
[input-text images link-previews? reply edit audio])
|
||||
(rn/use-mount #(reenter-screen-effect state dimensions subscriptions animations)))
|
||||
|
||||
(defn use-edit
|
||||
|
||||
@@ -86,12 +86,8 @@
|
||||
(calc-bottom-content-height images link-previews?))))
|
||||
|
||||
(defn empty-input?
|
||||
[text images link-previews? reply? audio?]
|
||||
(and (empty? text)
|
||||
(empty? images)
|
||||
(not link-previews?)
|
||||
(not reply?)
|
||||
(not audio?)))
|
||||
[{:keys [input-text images link-previews? reply audio edit]}]
|
||||
(not (or (not-empty input-text) images link-previews? reply audio edit)))
|
||||
|
||||
(defn blur-input
|
||||
[input-ref]
|
||||
@@ -105,12 +101,16 @@
|
||||
(rf/dispatch [:chat.ui/cancel-message-reply]))
|
||||
|
||||
(defn cancel-edit-message
|
||||
[text-value input-ref]
|
||||
[text-value input-ref input-height]
|
||||
(reset! text-value "")
|
||||
;; NOTE: adding a timeout to assure the input is blurred on the next tick
|
||||
;; after the `text-value` was cleared. Otherwise the height will be calculated
|
||||
;; with the old `text-value`, leading to wrong composer height after blur.
|
||||
(js/setTimeout #(blur-input input-ref) 100)
|
||||
(js/setTimeout
|
||||
(fn []
|
||||
(blur-input input-ref)
|
||||
(reanimated/set-shared-value input-height constants/input-height))
|
||||
100)
|
||||
(.setNativeProps ^js @input-ref (clj->js {:text ""}))
|
||||
(rf/dispatch [:chat.ui/set-input-content-height constants/input-height])
|
||||
(rf/dispatch [:chat.ui/cancel-message-edit]))
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
(ns status-im.contexts.chat.messenger.composer.view
|
||||
(:require
|
||||
[clojure.string :as string]
|
||||
[quo.core :as quo]
|
||||
[quo.foundations.colors :as colors]
|
||||
[quo.theme :as quo.theme]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]
|
||||
[react-native.gesture :as gesture]
|
||||
[react-native.hooks :as hooks]
|
||||
@@ -105,8 +105,9 @@
|
||||
[:<>
|
||||
[reply/view state (:input-ref props)]
|
||||
[edit/view
|
||||
{:text-value (:text-value state)
|
||||
:input-ref (:input-ref props)}]]
|
||||
{:text-value (:text-value state)
|
||||
:input-height (:height animations)
|
||||
:input-ref (:input-ref props)}]]
|
||||
[reanimated/touchable-opacity
|
||||
{:active-opacity 1
|
||||
:on-press (fn []
|
||||
@@ -168,7 +169,7 @@
|
||||
[rn/view (when platform/ios? {:style {:z-index 1}})
|
||||
[reanimated/view {:style (style/background opacity background-y window-height)}]
|
||||
[reanimated/view {:style (style/blur-container composer-default-height shared-values)}
|
||||
[blur/view (style/blur-view theme)]]
|
||||
[quo/blur (style/blur-view theme)]]
|
||||
[:f> sheet-component extra-params props state shared-values]]))
|
||||
|
||||
(defn composer
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
(when (seq status-link-previews)
|
||||
[rn/view {:style {:margin-top (when link-previews? 8)}}
|
||||
(for [{:keys [url community]} status-link-previews]
|
||||
(when community
|
||||
(when (:display-name community)
|
||||
(let [{community-description :description
|
||||
community-icon :icon
|
||||
community-banner :banner
|
||||
|
||||
@@ -102,18 +102,43 @@
|
||||
;; https://github.com/status-im/status-mobile/issues/17426
|
||||
[quo/skeleton-list (skeleton-list-props :messages parent-height platform/ios?)]]))
|
||||
|
||||
(defn header-height
|
||||
[{:keys [insets able-to-send-message? images reply edit link-previews? input-content-height]}]
|
||||
(if able-to-send-message?
|
||||
(cond-> composer.constants/composer-default-height
|
||||
(ff/enabled? ::ff/shell.jump-to)
|
||||
(+ jump-to.constants/floating-shell-button-height)
|
||||
|
||||
(seq images)
|
||||
(+ composer.constants/images-container-height)
|
||||
|
||||
reply
|
||||
(+ composer.constants/reply-container-height)
|
||||
|
||||
edit
|
||||
(+ composer.constants/edit-container-height)
|
||||
|
||||
link-previews?
|
||||
(+ composer.constants/links-container-height)
|
||||
|
||||
(and input-content-height (not= input-content-height composer.constants/input-height))
|
||||
(+ composer.constants/input-height)
|
||||
|
||||
true
|
||||
(+ (:bottom insets)))
|
||||
(- 70 (:bottom insets))))
|
||||
|
||||
(defn list-header
|
||||
[insets able-to-send-message?]
|
||||
(let [images (rf/sub [:chats/sending-image])
|
||||
height (if able-to-send-message?
|
||||
(+ composer.constants/composer-default-height
|
||||
(if (ff/enabled? ::ff/shell.jump-to)
|
||||
jump-to.constants/floating-shell-button-height
|
||||
0)
|
||||
(if (seq images) composer.constants/images-container-height 0)
|
||||
(:bottom insets))
|
||||
(- 70 (:bottom insets)))]
|
||||
[rn/view {:style {:height height}}]))
|
||||
(let [header-data {:insets insets
|
||||
:able-to-send-message? able-to-send-message?
|
||||
:input-content-height (:input-content-height (rf/sub [:chats/current-chat-input]))
|
||||
:images (rf/sub [:chats/sending-image])
|
||||
:reply (rf/sub [:chats/reply-message])
|
||||
:edit (rf/sub [:chats/edit-message])
|
||||
:link-previews? (or (rf/sub [:chats/link-previews?])
|
||||
(rf/sub [:chats/status-link-previews?]))}]
|
||||
[rn/view {:style {:height (header-height header-data)}}]))
|
||||
|
||||
(defn list-footer-avatar
|
||||
[{:keys [distance-from-list-top display-name online? profile-picture theme group-chat color
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
[quo.foundations.colors :as colors]
|
||||
[quo.theme]
|
||||
[re-frame.db]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]
|
||||
[react-native.platform :as platform]
|
||||
[react-native.reanimated :as reanimated]
|
||||
@@ -115,7 +114,7 @@
|
||||
messages.constants/pinned-banner-animation-start-position)))]
|
||||
[:<>
|
||||
[reanimated/view {:style (style/animated-background-view background-opacity navigation-view-height)}
|
||||
[blur/view
|
||||
[quo/blur
|
||||
{:style {:flex 1}
|
||||
:blur-amount 20
|
||||
:blur-type :transparent
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
(:require
|
||||
[quo.core :as quo]
|
||||
[quo.theme]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.platform :as platform]
|
||||
[react-native.reanimated :as reanimated]
|
||||
[status-im.contexts.chat.messenger.messages.pin.banner.style :as style]
|
||||
@@ -12,7 +11,7 @@
|
||||
[{:keys [chat-id banner-opacity top-offset]} latest-pin-text pins-count]
|
||||
(let [theme (quo.theme/use-theme)]
|
||||
[reanimated/view {:style (style/container-animated-style top-offset banner-opacity)}
|
||||
[blur/view
|
||||
[quo/blur
|
||||
{:style style/container
|
||||
:blur-radius (if platform/ios? 20 10)
|
||||
:blur-type theme
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
[quo.core :as quo]
|
||||
[quo.foundations.colors :as colors]
|
||||
[quo.theme]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]
|
||||
[react-native.safe-area :as safe-area]
|
||||
[reagent.core :as reagent]
|
||||
@@ -271,7 +270,7 @@
|
||||
[_]
|
||||
(fn [{:keys [enabled label]}]
|
||||
(when enabled
|
||||
[blur/view
|
||||
[quo/blur
|
||||
{:style style/blur-channel-header
|
||||
:blur-amount 20
|
||||
:blur-type :transparent
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
(ns status-im.contexts.onboarding.common.background.style
|
||||
(:require
|
||||
[quo.foundations.colors :as colors]))
|
||||
[quo.foundations.colors :as colors]
|
||||
[react-native.platform :as platform]))
|
||||
|
||||
(def background-container
|
||||
{:background-color colors/neutral-95
|
||||
@@ -18,4 +19,4 @@
|
||||
:top 0
|
||||
:bottom 0
|
||||
:right 0
|
||||
:background-color colors/neutral-80-opa-80-blur})
|
||||
:background-color (when platform/ios? colors/neutral-80-opa-80-blur)})
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
(ns status-im.contexts.onboarding.common.background.view
|
||||
(:require
|
||||
[oops.core :refer [oget]]
|
||||
[quo.core :as quo]
|
||||
[react-native.async-storage :as async-storage]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]
|
||||
[react-native.platform :as platform]
|
||||
[react-native.reanimated :as reanimated]
|
||||
@@ -89,7 +89,7 @@
|
||||
:gesture :swipeable
|
||||
:background [background-image (* 4 window-width)]}]
|
||||
(when dark-overlay?
|
||||
[blur/view
|
||||
[quo/blur
|
||||
{:style style/background-blur-overlay
|
||||
:blur-amount (if platform/android? 30 20)
|
||||
:blur-radius (if platform/android? 25 10)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
(ns status-im.contexts.onboarding.common.overlay.style
|
||||
(:require
|
||||
[quo.foundations.colors :as colors]
|
||||
[react-native.platform :as platform]
|
||||
[react-native.reanimated :as reanimated]))
|
||||
|
||||
(defn blur-container
|
||||
@@ -15,4 +16,4 @@
|
||||
|
||||
(def blur-style
|
||||
{:flex 1
|
||||
:background-color colors/neutral-80-opa-80-blur})
|
||||
:background-color (when platform/ios? colors/neutral-80-opa-80-blur)})
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
(ns status-im.contexts.onboarding.common.overlay.view
|
||||
(:require
|
||||
[react-native.blur :as blur]
|
||||
[quo.core :as quo]
|
||||
[react-native.core :as rn]
|
||||
[react-native.platform :as platform]
|
||||
[react-native.reanimated :as reanimated]
|
||||
@@ -65,7 +65,7 @@
|
||||
[reanimated/view
|
||||
{:pointer-events :none
|
||||
:style (style/blur-container opacity)}
|
||||
[blur/view
|
||||
[quo/blur
|
||||
{:blur-amount @blur-amount
|
||||
:blur-radius (if platform/android? 25 10)
|
||||
:blur-type :transparent
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
[oops.core :as oops]
|
||||
[quo.core :as quo]
|
||||
[quo.foundations.colors :as colors]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]
|
||||
[react-native.hooks :as hooks]
|
||||
[react-native.platform :as platform]
|
||||
@@ -43,7 +42,7 @@
|
||||
[rn/view {:style {:margin-top :auto}}
|
||||
(cond
|
||||
(and (> @height 0) show-background?)
|
||||
[blur/ios-view
|
||||
[quo/blur
|
||||
(when keyboard-shown
|
||||
{:blur-amount 34
|
||||
:blur-type :transparent
|
||||
|
||||
@@ -7,11 +7,16 @@
|
||||
|
||||
(def descriptor
|
||||
[{:type :boolean
|
||||
:key :context?}])
|
||||
:key :context?}
|
||||
{:type :select
|
||||
:key :size
|
||||
:options [{:key :size-32}
|
||||
{:key :size-64}]}])
|
||||
|
||||
(defn view
|
||||
[]
|
||||
(let [[state set-state] (rn/use-state {:context? false})]
|
||||
(let [[state set-state] (rn/use-state {:context? false
|
||||
:size :size-32})]
|
||||
[preview/preview-container
|
||||
{:state state
|
||||
:set-state set-state
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
(ns status-im.contexts.preview.quo.banners.alert-banner
|
||||
(:require
|
||||
[quo.core :as quo]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.contexts.preview.quo.preview :as preview]))
|
||||
|
||||
(def descriptor
|
||||
[{:key :text
|
||||
:type :text}
|
||||
{:key :button-text
|
||||
:type :text}
|
||||
{:key :action?
|
||||
:type :boolean}])
|
||||
|
||||
(defn view
|
||||
[]
|
||||
(let [state (reagent/atom {:action? true
|
||||
:text "Alert text"
|
||||
:button-text "Button"
|
||||
:on-button-press #(js/alert "pressed")})]
|
||||
(fn []
|
||||
[preview/preview-container {:state state :descriptor descriptor}
|
||||
[quo/alert-banner @state]])))
|
||||
@@ -1,7 +1,7 @@
|
||||
(ns status-im.contexts.preview.quo.drawers.bottom-actions
|
||||
(:require
|
||||
[quo.core :as quo]
|
||||
[reagent.core :as reagent]
|
||||
[react-native.core :as rn]
|
||||
[status-im.contexts.preview.quo.preview :as preview]))
|
||||
|
||||
(def button-two "Cancel")
|
||||
@@ -58,7 +58,9 @@
|
||||
(def role-descriptor
|
||||
{:key :role
|
||||
:type :select
|
||||
:options [{:key :owner}
|
||||
:options [{:key nil
|
||||
:value :none}
|
||||
{:key :owner}
|
||||
{:key :token-master}
|
||||
{:key :admin}
|
||||
{:key :member}]})
|
||||
@@ -77,35 +79,40 @@
|
||||
|
||||
(defn view
|
||||
[]
|
||||
(let [state (reagent/atom {:actions :two-actions
|
||||
:description :bottom
|
||||
:description-text description
|
||||
:description-top-text "Eligible to join as"
|
||||
:error-message "Error message"
|
||||
:button-one-label button-one
|
||||
:button-two-label button-two
|
||||
:button-one-props {:on-press (button-press 1)
|
||||
:type :primary}
|
||||
:button-two-props {:on-press (button-press 2)
|
||||
:type :grey}
|
||||
:blur? false
|
||||
:role :owner
|
||||
:scroll? false})]
|
||||
(fn []
|
||||
[preview/preview-container
|
||||
{:state state
|
||||
:descriptor (cond-> descriptor
|
||||
(= (:description @state) :top)
|
||||
(conj role-descriptor description-top-descriptor)
|
||||
(let [[state set-state] (rn/use-state
|
||||
{:actions :two-actions
|
||||
:description :bottom
|
||||
:description-text description
|
||||
:description-top-text "Eligible to join as"
|
||||
:error-message "Error message"
|
||||
:button-one-label button-one
|
||||
:button-two-label button-two
|
||||
:button-one-props {:on-press (button-press 1)
|
||||
:type :primary}
|
||||
:button-two-props {:on-press (button-press 2)
|
||||
:type :grey}
|
||||
:blur? false
|
||||
:role nil
|
||||
:context-tag-props {:size 24
|
||||
:type :token
|
||||
:token "USDT"
|
||||
:amount "99.97"}
|
||||
:scroll? false})]
|
||||
[preview/preview-container
|
||||
{:state state
|
||||
:set-state set-state
|
||||
:descriptor (cond-> descriptor
|
||||
(= (:description state) :top)
|
||||
(conj role-descriptor description-top-descriptor)
|
||||
|
||||
(= (:description @state) :bottom)
|
||||
(conj description-descriptor)
|
||||
(= (:description state) :bottom)
|
||||
(conj description-descriptor)
|
||||
|
||||
(= (:description @state) :top-error)
|
||||
(conj error-descriptor))
|
||||
:blur? (:blur? @state)
|
||||
:show-blur-background? true
|
||||
:blur-dark-only? true
|
||||
:component-container-style {:margin-top 40
|
||||
:padding-horizontal 0}}
|
||||
[quo/bottom-actions @state]])))
|
||||
(= (:description state) :top-error)
|
||||
(conj error-descriptor))
|
||||
:blur? (:blur? state)
|
||||
:show-blur-background? true
|
||||
:blur-dark-only? true
|
||||
:component-container-style {:margin-top 40
|
||||
:padding-horizontal 0}}
|
||||
[quo/bottom-actions state]]))
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
(ns status-im.contexts.preview.quo.drawers.drawer-action
|
||||
(:require
|
||||
[quo.core :as quo]
|
||||
[reagent.core :as reagent]
|
||||
[react-native.core :as rn]
|
||||
[status-im.contexts.preview.quo.preview :as preview]))
|
||||
|
||||
(def descriptor
|
||||
@@ -18,7 +18,8 @@
|
||||
{:key :action
|
||||
:type :select
|
||||
:options [{:key :arrow}
|
||||
{:key :toggle}]}
|
||||
{:key :toggle}
|
||||
{:key :input}]}
|
||||
{:key :description
|
||||
:type :text}
|
||||
{:key :blur?
|
||||
@@ -27,15 +28,18 @@
|
||||
|
||||
(defn view
|
||||
[]
|
||||
(let [state (reagent/atom {:title "Action"
|
||||
:description "This is a description"
|
||||
:customization-color :blue
|
||||
:on-press #(js/alert "Pressed!")})]
|
||||
(fn []
|
||||
[preview/preview-container
|
||||
{:state state
|
||||
:descriptor descriptor
|
||||
:blur? (:blur? @state)
|
||||
:show-blur-background? true
|
||||
:blur-dark-only? true}
|
||||
[quo/drawer-action @state]])))
|
||||
(let [[state set-state] (rn/use-state {:title "Action"
|
||||
:description "This is a description"
|
||||
:customization-color :blue
|
||||
:on-press #(js/alert "Pressed!")
|
||||
:input-props {:placeholder "Type something"
|
||||
:right-icon {:icon-name :i/placeholder
|
||||
:style-fn identity}}})]
|
||||
[preview/preview-container
|
||||
{:state state
|
||||
:set-state set-state
|
||||
:descriptor descriptor
|
||||
:blur? (:blur? state)
|
||||
:show-blur-background? true
|
||||
:blur-dark-only? true}
|
||||
[quo/drawer-action state]]))
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
(ns status-im.contexts.preview.quo.gradient.gradient-cover
|
||||
(:require
|
||||
[quo.core :as quo]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.core :as rn]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.common.resources :as resources]
|
||||
@@ -63,7 +62,7 @@
|
||||
[rn/image
|
||||
{:style {:height 332}
|
||||
:source (resources/get-mock-image :dark-blur-bg)}])
|
||||
[(if @blur? blur/view rn/view)
|
||||
[(if @blur? quo/blur rn/view)
|
||||
{:style {:height 332
|
||||
:padding-vertical 40}
|
||||
:blur-type :dark}
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
[status-im.contexts.preview.quo.avatars.user-avatar :as user-avatar]
|
||||
[status-im.contexts.preview.quo.avatars.wallet-user-avatar :as
|
||||
wallet-user-avatar]
|
||||
[status-im.contexts.preview.quo.banners.alert-banner :as alert-banner]
|
||||
[status-im.contexts.preview.quo.banners.banner :as banner]
|
||||
[status-im.contexts.preview.quo.browser.browser-input :as browser-input]
|
||||
[status-im.contexts.preview.quo.buttons.button :as button]
|
||||
@@ -243,7 +244,9 @@
|
||||
:component collection-avatar/view}
|
||||
{:name :account-avatar
|
||||
:component account-avatar/view}]
|
||||
:banner [{:name :banner
|
||||
:banner [{:name :alert-banners
|
||||
:component alert-banner/view}
|
||||
{:name :banner
|
||||
:component banner/view}]
|
||||
:buttons [{:name :button
|
||||
:component button/view}
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
[quo.core :as quo]
|
||||
[quo.foundations.colors :as colors]
|
||||
[quo.theme :as quo.theme]
|
||||
[react-native.blur :as blur]
|
||||
[react-native.clipboard :as clipboard]
|
||||
[react-native.core :as rn]
|
||||
[react-native.safe-area :as safe-area]
|
||||
@@ -351,7 +350,7 @@
|
||||
[rn/image
|
||||
{:source (or image (resources/get-mock-image :dark-blur-bg))
|
||||
:style {:height "100%" :width "100%"}}]
|
||||
[blur/view
|
||||
[quo/blur
|
||||
(merge {:style {:position :absolute
|
||||
:top 0
|
||||
:bottom 0
|
||||
|
||||
@@ -1,33 +1,48 @@
|
||||
(ns status-im.contexts.preview.quo.selectors.disclaimer
|
||||
(:require
|
||||
[quo.core :as quo]
|
||||
[quo.theme :as quo.theme]
|
||||
[react-native.core :as rn]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.contexts.preview.quo.preview :as preview]))
|
||||
|
||||
(def descriptor
|
||||
[{:key :checked? :type :boolean}
|
||||
{:key :blur? :type :boolean}
|
||||
{:key :text :type :text}])
|
||||
{:key :text :type :text}
|
||||
{:key :icon :type :boolean}
|
||||
(preview/customization-color-option)])
|
||||
|
||||
(defn view
|
||||
[]
|
||||
(let [state (reagent/atom {:checked? false
|
||||
:blur? true
|
||||
:text "I agree with the community rules"})]
|
||||
(let [state (reagent/atom {:checked? false
|
||||
:blur? false
|
||||
:text "I agree with the community rules"
|
||||
:icon false
|
||||
:customization-color :blue})]
|
||||
(fn []
|
||||
(let [{:keys [blur? checked? text]} @state]
|
||||
(let [{:keys [blur? checked? text icon customization-color]} @state
|
||||
theme (quo.theme/use-theme)
|
||||
blur? (if (= :light theme) false blur?)]
|
||||
[preview/preview-container
|
||||
{:state state
|
||||
:descriptor descriptor
|
||||
:descriptor (if (= :light theme)
|
||||
descriptor
|
||||
(vec (conj descriptor {:key :blur? :type :boolean})))
|
||||
:blur? blur?
|
||||
:show-blur-background? true
|
||||
:component-container-style {:padding 20}}
|
||||
[rn/view {:style {:margin-bottom 20}}
|
||||
[quo/disclaimer
|
||||
{:blur? blur?
|
||||
:checked? checked?
|
||||
:on-change #(swap! state update :checked? not)}
|
||||
{:blur? blur?
|
||||
:checked? checked?
|
||||
:icon (when icon
|
||||
(if checked?
|
||||
:i/locked
|
||||
:i/unlocked))
|
||||
:on-change #(swap! state update :checked? not)
|
||||
:customization-color customization-color}
|
||||
text]]
|
||||
[quo/button {:disabled? (not checked?)}
|
||||
[quo/button
|
||||
{:disabled? (not checked?)
|
||||
:customization-color customization-color}
|
||||
"submit"]]))))
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
:verifyENSURL config/verify-ens-url
|
||||
:verifyENSContractAddress config/verify-ens-contract-address
|
||||
:verifyTransactionChainID config/verify-transaction-chain-id
|
||||
:wakuV2LightClient false
|
||||
:wakuV2LightClient true
|
||||
:previewPrivacy config/blank-preview?
|
||||
:testNetworksEnabled config/test-networks-enabled?})))
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
[react-native.core :as rn]
|
||||
[react-native.platform :as platform]
|
||||
[react-native.safe-area :as safe-area]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.common.validation.profile :as profile-validator]
|
||||
[status-im.constants :as constants]
|
||||
[status-im.contexts.profile.edit.bio.style :as style]
|
||||
@@ -14,63 +13,63 @@
|
||||
|
||||
(defn view
|
||||
[]
|
||||
(let [insets (safe-area/get-insets)
|
||||
profile (rf/sub [:profile/profile-with-image])
|
||||
customization-color (rf/sub [:profile/customization-color])
|
||||
alert-banners-top-margin (rf/sub [:alert-banners/top-margin])
|
||||
profile-bio (:bio profile)
|
||||
unsaved-bio (reagent/atom profile-bio)
|
||||
error-msg (reagent/atom nil)
|
||||
typing? (reagent/atom false)
|
||||
validate-bio (debounce/debounce (fn [bio]
|
||||
(reset! error-msg
|
||||
(profile-validator/validation-bio bio))
|
||||
(reset! typing? false))
|
||||
300)
|
||||
on-change-text (fn [s]
|
||||
(reset! typing? true)
|
||||
(reset! unsaved-bio s)
|
||||
(validate-bio s))]
|
||||
(fn []
|
||||
[quo/overlay
|
||||
{:type :shell
|
||||
:container-style (style/page-wrapper insets)}
|
||||
[quo/page-nav
|
||||
{:key :header
|
||||
:background :blur
|
||||
:icon-name :i/arrow-left
|
||||
:on-press #(rf/dispatch [:navigate-back])}]
|
||||
[rn/keyboard-avoiding-view
|
||||
{:key :content
|
||||
:keyboard-vertical-offset (if platform/ios? alert-banners-top-margin 0)
|
||||
:style style/screen-container}
|
||||
[rn/view {:style {:gap 22}}
|
||||
[quo/text-combinations {:title (i18n/label :t/bio)}]
|
||||
[quo/input
|
||||
{:blur? true
|
||||
:multiline? true
|
||||
:error? (not (string/blank? @error-msg))
|
||||
:container-style {:margin-bottom -11}
|
||||
:default-value @unsaved-bio
|
||||
:auto-focus true
|
||||
:char-limit constants/profile-bio-max-length
|
||||
:label (i18n/label :t/profile-bio)
|
||||
:placeholder (i18n/label :t/something-about-you)
|
||||
:on-change-text on-change-text}]
|
||||
(when-not (string/blank? @error-msg)
|
||||
[quo/info-message
|
||||
{:type :error
|
||||
:size :default
|
||||
:icon :i/info}
|
||||
@error-msg])]
|
||||
[rn/view {:style style/button-wrapper}
|
||||
[quo/button
|
||||
{:type :primary
|
||||
:customization-color customization-color
|
||||
:on-press (fn []
|
||||
(rf/dispatch [:profile/edit-bio @unsaved-bio]))
|
||||
:disabled? (boolean (or @typing?
|
||||
(and (string/blank? profile-bio)
|
||||
(string/blank? @unsaved-bio))
|
||||
(not (string/blank? @error-msg))))}
|
||||
(i18n/label :t/save-bio)]]]])))
|
||||
(let [insets (safe-area/get-insets)
|
||||
profile (rf/sub [:profile/profile-with-image])
|
||||
customization-color (rf/sub [:profile/customization-color])
|
||||
alert-banners-top-margin (rf/sub [:alert-banners/top-margin])
|
||||
current-bio (:bio profile)
|
||||
[bio set-bio] (rn/use-state current-bio)
|
||||
[error-msg set-error-msg] (rn/use-state nil)
|
||||
[typing? set-typing] (rn/use-state false)
|
||||
validate-bio (debounce/debounce (fn [bio]
|
||||
(set-error-msg (profile-validator/validation-bio
|
||||
bio))
|
||||
(set-typing false))
|
||||
300)
|
||||
on-change-text (fn [s]
|
||||
(set-typing true)
|
||||
(set-bio s)
|
||||
(validate-bio s))]
|
||||
[quo/overlay
|
||||
{:type :shell
|
||||
:container-style (style/page-wrapper insets)}
|
||||
[quo/page-nav
|
||||
{:key :header
|
||||
:background :blur
|
||||
:icon-name :i/arrow-left
|
||||
:on-press #(rf/dispatch [:navigate-back])}]
|
||||
[rn/keyboard-avoiding-view
|
||||
{:key :content
|
||||
:keyboard-vertical-offset (if platform/ios? alert-banners-top-margin 0)
|
||||
:style style/screen-container}
|
||||
[rn/view {:style {:gap 22}}
|
||||
[quo/text-combinations {:title (i18n/label :t/bio)}]
|
||||
[quo/input
|
||||
{:blur? true
|
||||
:multiline? true
|
||||
:error? (not (string/blank? error-msg))
|
||||
:container-style {:margin-bottom -11}
|
||||
:default-value bio
|
||||
:auto-focus true
|
||||
:max-height 200
|
||||
:char-limit constants/profile-bio-max-length
|
||||
:label (i18n/label :t/profile-bio)
|
||||
:placeholder (i18n/label :t/something-about-you)
|
||||
:on-change-text on-change-text}]
|
||||
(when-not (string/blank? error-msg)
|
||||
[quo/info-message
|
||||
{:type :error
|
||||
:size :default
|
||||
:icon :i/info}
|
||||
error-msg])]
|
||||
[rn/view {:style style/button-wrapper}
|
||||
[quo/button
|
||||
{:type :primary
|
||||
:customization-color customization-color
|
||||
:on-press (fn []
|
||||
(rf/dispatch [:profile/edit-bio bio]))
|
||||
:disabled? (boolean (or typing?
|
||||
(and (string/blank? current-bio)
|
||||
(string/blank? bio))
|
||||
(not (string/blank? error-msg))))}
|
||||
(i18n/label :t/save-bio)]]]]))
|
||||
|
||||
@@ -53,20 +53,25 @@
|
||||
(assoc-in [:activity-center :loading?] true))
|
||||
pairing-completed?
|
||||
(dissoc :syncing))
|
||||
:fx (into [[:dispatch [:universal-links/generate-profile-url]]
|
||||
:fx (into [[:json-rpc/call
|
||||
[{:method "wakuext_startMessenger"
|
||||
:on-success [:profile.login/messenger-started]
|
||||
:on-error #(log/error "failed to start messenger" %)}]]
|
||||
[:dispatch [:universal-links/generate-profile-url]]
|
||||
[:dispatch [:community/fetch]]
|
||||
[:dispatch [:wallet/initialize]]
|
||||
[:push-notifications/load-preferences]
|
||||
[:fetch-chats-preview
|
||||
{:on-success (fn [result]
|
||||
(rf/dispatch [:chats-list/load-success result])
|
||||
(rf/dispatch [:communities/get-user-requests-to-join])
|
||||
(rf/dispatch [:profile.login/get-chats-callback]))}]
|
||||
[:profile.config/get-node-config]
|
||||
[:logs/set-level log-level]
|
||||
[:activity-center.notifications/fetch-pending-contact-requests-fx]
|
||||
[:activity-center/update-seen-state]
|
||||
[:activity-center.notifications/fetch-unread-count]]
|
||||
[:activity-center.notifications/fetch-unread-count]
|
||||
|
||||
;; Immediately try to open last chat. We can't wait until the
|
||||
;; messenger has started and has processed all chats because
|
||||
;; the whole process can take a handful of seconds.
|
||||
(when-not (:universal-links/handling db)
|
||||
[:effects.chat/open-last-chat (:key-uid profile-overview)])]
|
||||
|
||||
(cond
|
||||
pairing-completed?
|
||||
@@ -90,12 +95,7 @@
|
||||
(let [{:keys [notifications-enabled? key-uid
|
||||
preview-privacy?]} (:profile/profile db)]
|
||||
{:db db
|
||||
:fx [[:json-rpc/call
|
||||
[{:method "wakuext_startMessenger"
|
||||
:on-success [:profile.login/messenger-started]
|
||||
:on-error #(log/error
|
||||
"failed to start messenger")}]]
|
||||
[:effects.profile/enable-local-notifications]
|
||||
:fx [[:effects.profile/enable-local-notifications]
|
||||
[:contacts/initialize-contacts]
|
||||
[:browser/initialize-browser]
|
||||
[:dispatch [:mobile-network/on-network-status-change]]
|
||||
@@ -107,8 +107,6 @@
|
||||
[:switcher-cards/fetch]
|
||||
(when (ff/enabled? ::ff/wallet.wallet-connect)
|
||||
[:dispatch [:wallet-connect/init]])
|
||||
(when-not (:universal-links/handling db)
|
||||
[:effects.chat/open-last-chat key-uid])
|
||||
(when notifications-enabled?
|
||||
[:effects/push-notifications-enable])]})))
|
||||
|
||||
@@ -118,7 +116,12 @@
|
||||
{:db (-> db
|
||||
(assoc :messenger/started? true)
|
||||
(mailserver/add-mailservers mailservers))
|
||||
:fx [[:json-rpc/call
|
||||
:fx [[:fetch-chats-preview
|
||||
{:on-success (fn [result]
|
||||
(rf/dispatch [:chats-list/load-success result])
|
||||
(rf/dispatch [:communities/get-user-requests-to-join])
|
||||
(rf/dispatch [:profile.login/get-chats-callback]))}]
|
||||
[:json-rpc/call
|
||||
[{:method "admin_nodeInfo"
|
||||
:on-success [:profile.login/node-info-fetched]
|
||||
:on-error #(log/error "node-info: failed error" %)}]]
|
||||
|
||||
@@ -195,8 +195,8 @@
|
||||
profile-picture (rf/sub [:profile/login-profiles-picture key-uid])
|
||||
login-multiaccount (rn/use-callback #(rf/dispatch [:profile.login/login]))]
|
||||
[rn/keyboard-avoiding-view
|
||||
{:style style/login-container
|
||||
:keyboardVerticalOffset (- (safe-area/get-bottom))}
|
||||
{:style style/login-container
|
||||
:keyboard-vertical-offset (- (safe-area/get-bottom))}
|
||||
[rn/view {:style style/multi-profile-button-container}
|
||||
(when config/quo-preview-enabled?
|
||||
[quo/button
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
:blur? true
|
||||
:action :arrow}
|
||||
{:title (i18n/label :t/wallet)
|
||||
:on-press #(rf/dispatch [:navigate-to-within-stack [:screen/settings.wallet :settings]])
|
||||
:on-press #(rf/dispatch [:open-modal :screen/settings.wallet])
|
||||
:image-props :i/wallet
|
||||
:image :icon
|
||||
:blur? true
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
(ns status-im.contexts.profile.settings.screens.password.change-password.style
|
||||
(:require
|
||||
[quo.foundations.colors :as colors]
|
||||
[react-native.platform :as platform]
|
||||
[react-native.safe-area :as safe-area]))
|
||||
|
||||
(def form-container
|
||||
@@ -48,7 +49,7 @@
|
||||
:justify-content :space-between})
|
||||
|
||||
(def bottom-part
|
||||
{:margin-bottom (- (safe-area/get-bottom) 12)
|
||||
{:margin-bottom (if platform/ios? (safe-area/get-bottom) 12)
|
||||
:justify-content :flex-end})
|
||||
|
||||
(def disclaimer-container
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
(defn view
|
||||
[]
|
||||
(let [{:keys [top]} (safe-area/get-insets)
|
||||
(let [{:keys [top bottom]} (safe-area/get-insets)
|
||||
alert-banners-top-margin (rf/sub [:alert-banners/top-margin])
|
||||
current-step (rf/sub [:settings/change-password-current-step])]
|
||||
(rn/use-unmount #(rf/dispatch [:change-password/reset]))
|
||||
@@ -33,8 +33,12 @@
|
||||
:icon-name :i/arrow-left
|
||||
:on-press navigate-back}]
|
||||
[rn/keyboard-avoiding-view
|
||||
{:style {:flex 1}
|
||||
:keyboardVerticalOffset (if platform/ios? alert-banners-top-margin 0)}
|
||||
{:style {:flex 1}
|
||||
:keyboard-vertical-offset (if platform/ios?
|
||||
(-> 12
|
||||
(+ alert-banners-top-margin)
|
||||
(- bottom))
|
||||
0)}
|
||||
(condp = current-step
|
||||
:old-password [old-password-form/view]
|
||||
:new-password [new-password-form/view])]]]))
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user