Compare commits

..
Author SHA1 Message Date
Roman Volosovskyi dab78312a5 local testing of rpc 2023-10-23 16:23:30 +02:00
59 changed files with 613 additions and 1125 deletions
+1 -2
View File
@@ -33,8 +33,7 @@
android:name=".MainApplication"
android:largeHeap="true"
android:usesCleartextTraffic="true"
android:extractNativeLibs="true"
android:requestLegacyExternalStorage="true">
android:extractNativeLibs="true">
<!-- After upgrading Android Gradle Plugin to 4.2.0 and above we must get rid of `extractNativeLibs="true"`
and use`useLegacyPackaging` flag in our app's `build.gradle`-->
<meta-data android:name="commitHash" android:value="${commitHash}"/>
+1 -1
View File
@@ -22,7 +22,7 @@
# Version requirements used throughout the Gradle scripts
kotlinVersion=1.6.20
minSdkVersion=24
minSdkVersion=23
compileSdkVersion=31
targetSdkVersion=31
buildToolsVersion=31.0.0
+1 -1
View File
@@ -23,7 +23,7 @@ setups and runs the test suite once.
setups and runs the test suite and watches for code changes will then retrigger the test suite.
## Writing Tests
New test files will need their namespace added to either the file "src/quo/core_spec.cljs" or "src/status_im2/core_spec.cljs. These locations may update overtime but it is dependent on the entrypoint in shadow-cljs config discussed below.
New test files will need their namespace added to either the file "src/quo2/core_spec.cljs" or "src/status_im2/core_spec.cljs. These locations may update overtime but it is dependent on the entrypoint in shadow-cljs config discussed below.
### Best practices
+20 -20
View File
@@ -76,7 +76,7 @@ It's important to name functional components with `f-` prefix.
### Component props and API scheme to match Figma as closely as possible
Ideally, the prop names for components (particularly in Quo Design System)
Ideally, the prop names for components (particularly in quo2 Design System)
should match the Figma properties as best as possible. This makes it easier for
the developer using that component to configure it correctly for the screen it
is being used on and avoids unnecessary overwrites and adjustments being made.
@@ -134,7 +134,7 @@ For example if Figma has sizes `:small`, `:medium` and `:large`
Prefer to define styles in a separate file named `style.cljs`, colocated with
the source file. For a real example, see
[src//components/record_audio/record_audio/style.cljs](../src/quo/components/record_audio/record_audio/style.cljs).
[src/quo2/components/record_audio/record_audio/style.cljs](../src/quo2/components/record_audio/record_audio/style.cljs).
```clojure
;; bad
@@ -528,27 +528,27 @@ due to performance constraints.
(:preferred-name multiaccount)))
```
### Requiring quo components
### Requiring quo2 components
Consume `quo` components from `quo.core`, unless the namespace is also inside
the `quo/` directory.
Consume `quo2` components from `quo2.core`, unless the namespace is also inside
the `quo2/` directory.
```clojure
;; bad
(ns my-namespace
(:require [quo.components.icon :as icon]))
(:require [quo2.components.icon :as icon]))
(icon/icon :i/verified)
;; good
(ns my-namespace
(:require [quo.core :as quo]))
(:require [quo2.core :as quo]))
(quo/icon :i/verified)
;; also good because both namespaces are inside quo/
(ns quo.components.tabs.account-selector
(:require [quo.components.markdown.text :as text]))
;; also good because both namespaces are inside quo2/
(ns quo2.components.tabs.account-selector
(:require [quo2.components.markdown.text :as text]))
```
### Require/import
@@ -615,12 +615,12 @@ Use the appropriate keyword qualification/namespace.
```clojure
;; bad
(require '[quo.components.icon :as icons])
(require '[quo2.components.icon :as icons])
(icons/icon :main-icons2/verified)
;; good
(require '[quo.core :as quo])
(quo/icon :i/verified)
(require '[quo2.core :as quo2])
(quo2/icon :i/verified)
```
### Translations
@@ -695,7 +695,7 @@ First, the bird's-eye view with some example ClojureScript files:
src
├── js/
├── mocks/
├── quo
├── quo2
│ ├── components/
│ ├── foundations/
│ └── theme.cljs
@@ -716,7 +716,7 @@ src
- `src/js`: Raw Javascript files, e.g. React Native Reanimated worklets.
- `src/mocks`: Plumbing configuration to be able to run tests.
- `src/quo/`: The component library for Status Mobile.
- `src/quo2/`: The component library for Status Mobile.
- `src/react_native/`: Contains only low-level constructs to help React Native
work in tandem with Clojure(Script).
- `src/status_im2/`: Directory where we try to be as strict as possible about
@@ -728,7 +728,7 @@ src
of the directory tree. Just like directories named `utils`, their directory
nesting level communicates their applicable limits.
- `src/status_im2/common/components/`: Contains reusable components that are not
part of the design system (Quo).
part of the design system (quo2).
- `src/status_im2/contexts/`: Contains [bounded contexts](#glossary), like
`browser/`, `messaging/`, etc. As much as possible, _bounded contexts_ should
not directly require each other's namespaces.
@@ -743,9 +743,9 @@ directory nesting level precisely indicates its boundaries. For example, a
`contexts/user_settings/utils/datetime.cljs` file communicates that it should
only be used in the `user_settings` context.
### src/quo
### src/quo2
The `src/quo/` directory holds all components for the new design system. As
The `src/quo2/` directory holds all components for the new design system. As
much as possible, its sub-directories and component names should reflect the
same language used by designers.
@@ -753,14 +753,14 @@ Even though the directory lives alongside the rest of the codebase, we should
think of it as an external entity that abstracts away particular Status domain
knowledge.
Components inside `src/quo/` should not rely on re-frame, i.e. they should not
Components inside `src/quo2/` should not rely on re-frame, i.e. they should not
dispatch events or use subscriptions.
Example structure:
```
src
└── quo
└── quo2
├── components
│ └── dropdown
│ ├── style.cljs
-7
View File
@@ -75,13 +75,6 @@ abstract_target 'Status' do
# TODO : remove after upgrading to react-native 0.72.x
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', '_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION']
end
# We need to remove the predefinition of IPHONEOS_DEPLOYMENT_TARGET from RNCK lib to use our own.
case target.name
when 'ReactNativeCameraKit'
target.build_configurations.each do |config|
config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
end
end
end
end
+8 -8
View File
@@ -247,7 +247,7 @@ PODS:
- React-Core
- react-native-blur (4.3.3):
- React-Core
- react-native-cameraroll (5.10.0):
- react-native-cameraroll (4.0.4):
- React-Core
- react-native-config (1.5.0):
- react-native-config/App (= 1.5.0)
@@ -346,7 +346,7 @@ PODS:
- React-perflogger (= 0.69.10)
- ReactNativeAudioToolkit (2.0.3):
- React
- ReactNativeCameraKit (14.0.0-beta13):
- ReactNativeCameraKit (13.0.0):
- React-Core
- ReactNativeNavigation (7.27.1):
- HMSegmentedControl
@@ -468,7 +468,7 @@ DEPENDENCIES:
- react-native-background-timer (from `../node_modules/react-native-background-timer`)
- react-native-blob-util (from `../node_modules/react-native-blob-util`)
- "react-native-blur (from `../node_modules/@react-native-community/blur`)"
- "react-native-cameraroll (from `../node_modules/@react-native-camera-roll/camera-roll`)"
- "react-native-cameraroll (from `../node_modules/@react-native-community/cameraroll`)"
- react-native-config (from `../node_modules/react-native-config`)
- react-native-image-resizer (from `../node_modules/react-native-image-resizer`)
- react-native-lottie-splash-screen (from `../node_modules/react-native-lottie-splash-screen`)
@@ -584,7 +584,7 @@ EXTERNAL SOURCES:
react-native-blur:
:path: "../node_modules/@react-native-community/blur"
react-native-cameraroll:
:path: "../node_modules/@react-native-camera-roll/camera-roll"
:path: "../node_modules/@react-native-community/cameraroll"
react-native-config:
:path: "../node_modules/react-native-config"
react-native-image-resizer:
@@ -723,7 +723,7 @@ SPEC CHECKSUMS:
react-native-background-timer: 1f7d560647b40e6a60b01c452ba29c54bf581fc4
react-native-blob-util: 600972b1782380a5a7d5db61a3817ea32349dae9
react-native-blur: c6d0a1dc2b4b519f7afe3b14d8151998632b6d18
react-native-cameraroll: 4701ae7c3dbcd3f5e9e150ca17f250a276154b35
react-native-cameraroll: 88f4e62d9ecd0e1f253abe4f685474f2ea14bfa2
react-native-config: 5330c8258265c1e5fdb8c009d2cabd6badd96727
react-native-image-resizer: 2f1577efa3bc762597681f530c8e8d05ce0ceeb3
react-native-lottie-splash-screen: 068688c15dd478301fda00f8d87d7fb7d5b9a93e
@@ -750,7 +750,7 @@ SPEC CHECKSUMS:
React-runtimeexecutor: 5ebf1ddaa706bf2986123f22d2cad905443c2c5f
ReactCommon: 65754b8932ea80272714988268bbfb9f303264a5
ReactNativeAudioToolkit: de9610f323e855ac6574be8c99621f3d57c5df06
ReactNativeCameraKit: d95d3e19c514526a234d9f93c6db7e7f10eef9ea
ReactNativeCameraKit: 9d46a5d7dd544ca64aa9c03c150d2348faf437eb
ReactNativeNavigation: 94979dd1572a3f093fc85d4599360530a1bed8c8
RNCAsyncStorage: b2489b49e38c85e10ed45a888d13a2a4c7b32ea1
RNCClipboard: 8148e21ac347c51fd6cd4b683389094c216bb543
@@ -765,7 +765,7 @@ SPEC CHECKSUMS:
RNLanguages: 962e562af0d34ab1958d89bcfdb64fafc37c513e
RNPermissions: ad71dd4f767ec254f2cd57592fbee02afee75467
RNReactNativeHapticFeedback: 2566b468cc8d0e7bb2f84b23adc0f4614594d071
RNReanimated: b2dc21e263319892469d656dc58fc26fb03eadab
RNReanimated: cf1259a8cf8dfb1d7fa586ce02565fd0610da1d7
RNShare: d82e10f6b7677f4b0048c23709bd04098d5aee6c
RNStaticSafeAreaInsets: 055ddbf5e476321720457cdaeec0ff2ba40ec1b8
RNSVG: 80584470ff1ffc7994923ea135a3e5ad825546b9
@@ -777,6 +777,6 @@ SPEC CHECKSUMS:
TouchID: ba4c656d849cceabc2e4eef722dea5e55959ecf4
Yoga: d24d6184b6b85f742536bd93bd07d69d7b9bb4c1
PODFILE CHECKSUM: 6a5f0e6776ce4ef6193032d077947117ace77a87
PODFILE CHECKSUM: 4d710b4207b0fb0f6ecef4aa92bb79b716a7d13c
COCOAPODS: 1.12.0
+115 -130
View File
@@ -7932,16 +7932,16 @@
},
{
"path": "com/adobe/xmp/xmpcore/6.1.11",
"path": "com/adobe/xmp/xmpcore/6.0.6",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"xmpcore-6.1.11.pom": {
"sha1": "9f2a56e38f04aa222f8d5436cb07529d80cf89d2",
"sha256": "sha256-cZEYGCECwlM+kqL2fANRAmTmFgVxpzishj51cSQXMj0="
"xmpcore-6.0.6.pom": {
"sha1": "6a917e15f78165ed31482a339b9c6bd65900ebdd",
"sha256": "sha256-/5kclKMi2JShufIhMW1UXHtH0LP4Uf438vpECHpIoFU="
},
"xmpcore-6.1.11.jar": {
"sha1": "852f14101381e527e6d43339d7db1698c970436c",
"sha256": "sha256-j3AzxXm5n6DZ1t3LlEiHW15LV3w1AAInjORpl9Z4tzc="
"xmpcore-6.0.6.jar": {
"sha1": "fb29d75ac313aed79013505b965d2378a87a9405",
"sha256": "sha256-Qy95ojgKPmW+p1TI0L4MCcaTjfrqH25hsBeEytbBjP8="
}
}
},
@@ -8931,16 +8931,16 @@
},
{
"path": "com/drewnoakes/metadata-extractor/2.18.0",
"path": "com/drewnoakes/metadata-extractor/2.12.0",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"metadata-extractor-2.18.0.pom": {
"sha1": "8a253b5c301e2b71ddb0ad28f3d8656d34f8781f",
"sha256": "sha256-p9E4Id81LFQz1QjswN6KDwSWOE6kggfYEhR8pZgqFZ4="
"metadata-extractor-2.12.0.pom": {
"sha1": "1e3a24770062e3f4d6fb9b9e80b64d7aa4fdb237",
"sha256": "sha256-odxWCuxbZlaa7O5YUqun4F/iEX+660IakMXhyRJV+k4="
},
"metadata-extractor-2.18.0.jar": {
"sha1": "fa9fd43a28b10333108c603819810d5176d2b092",
"sha256": "sha256-R4k2H9Bji9skFVS3oMyuIF7SOWl+K3D6nK2t7WmEtWU="
"metadata-extractor-2.12.0.jar": {
"sha1": "30dce2429145a41770e0d2bd0a8e8ba63f2137c8",
"sha256": "sha256-tlzqky+2RNl79mxrfUXmG2lnxyvsISb8PkyD9iWcHQU="
}
}
},
@@ -9545,20 +9545,20 @@
},
{
"path": "com/fasterxml/jackson/core/jackson-annotations/2.16.0-rc1",
"path": "com/fasterxml/jackson/core/jackson-annotations/2.15.3",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jackson-annotations-2.16.0-rc1.pom": {
"sha1": "a6e6361e5a7116cc24ae1cfbd76ec384b53fcc64",
"sha256": "sha256-P/CYyUC37b4fTX8mIaaNtNaofqmSlRE5Vsccisl69nI="
"jackson-annotations-2.15.3.pom": {
"sha1": "ff14c9fbeaec5f25b2d61490621477f5197818a2",
"sha256": "sha256-/6ZxZvvkz/NJfQzGKcIBnNDnzV7QG+xoOny/IT0DDsg="
},
"jackson-annotations-2.16.0-rc1.jar": {
"sha1": "0aa7db9c1afcacf3fa2358107f2a82326aa15c64",
"sha256": "sha256-24kpC38tI5Sg8EKNWpb0WprCrt/XMpM7TXdgNvbtWGg="
"jackson-annotations-2.15.3.jar": {
"sha1": "79baf4e605eb3bbb60b1c475d44a7aecceea1d60",
"sha256": "sha256-quhlw9iCVtYbEVI8seiL1I1bmtWFX6H8hZUE/SIEcIo="
},
"jackson-annotations-2.16.0-rc1.module": {
"sha1": "6b75ee9d686c52f7b7624bfceeacc5ca28a95c1b",
"sha256": "sha256-YcrFZD9QeVIPTfBkQPC/SKkxRVwMRW8wnHVItEGKElI="
"jackson-annotations-2.15.3.module": {
"sha1": "7be6f491ea5707562778533e030f951c78f9a9b1",
"sha256": "sha256-ZBDJSzk+SU1T1WncQZOnkYeEjdtu48LuHzkkd6IQWcs="
}
}
},
@@ -9579,20 +9579,20 @@
},
{
"path": "com/fasterxml/jackson/core/jackson-core/2.16.0-rc1",
"path": "com/fasterxml/jackson/core/jackson-core/2.15.3",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jackson-core-2.16.0-rc1.pom": {
"sha1": "be1f4e4e7d6b2c74859aa81edb8bbd00e701172f",
"sha256": "sha256-wOXaP11xEWp/+0BgexwoXwv81kmXDk/qfEkb4N31cLM="
"jackson-core-2.15.3.pom": {
"sha1": "6291d6b0843755417d2bc20c2be4904dd467b836",
"sha256": "sha256-zNUAkXSDshrhg135hFuRqxGsmroIt5PS7PgtKMBp7OI="
},
"jackson-core-2.16.0-rc1.jar": {
"sha1": "dba6d80eb8bfc326eaa1e72483e6d80852503e29",
"sha256": "sha256-3mlqkMaoGhFeJSu2pDkq85T6je9Da8f66CgL1mwccXI="
"jackson-core-2.15.3.jar": {
"sha1": "60d600567c1862840397bf9ff5a92398edc5797b",
"sha256": "sha256-Ufq3qtUe1YhILtxQf9VCdHk2xQlNGrdu0h3bY7lrYQ0="
},
"jackson-core-2.16.0-rc1.module": {
"sha1": "e948b398d5cc338a0f300fa633caf797bac121a7",
"sha256": "sha256-qyE84ApdlT2sZVSlaOw1qPOFA4AMLOt21MzD6yiwwMI="
"jackson-core-2.15.3.module": {
"sha1": "cfe2c6fcdf029eb556be3e56ede868535112a856",
"sha256": "sha256-E4ApvLMrC/pwENP2RmMr3lyYwYfi8aoSChzUE/I6bCg="
}
}
},
@@ -9613,20 +9613,20 @@
},
{
"path": "com/fasterxml/jackson/core/jackson-databind/2.16.0-rc1",
"path": "com/fasterxml/jackson/core/jackson-databind/2.15.3",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jackson-databind-2.16.0-rc1.pom": {
"sha1": "ffb4977a414eddab58b2d3e1fb21ab48657bcb8e",
"sha256": "sha256-1r2DJq1W9dA5yQzF/qcxetqqUB+ybEMEDn6XsNrjgW4="
"jackson-databind-2.15.3.pom": {
"sha1": "0542b905f13dc61af5dd15d6cd9bb6cec2375d58",
"sha256": "sha256-tuPNSud9D/lQfqsc55Szqp7ieCQcZUQzO9t++8Wi5Pk="
},
"jackson-databind-2.16.0-rc1.jar": {
"sha1": "cb84bf813891fd3a6c04518f7dce66cb7f914c12",
"sha256": "sha256-40+i+ah5zRD42Xfib4YK37XTKkxCCJRvTyPHucprgm0="
"jackson-databind-2.15.3.jar": {
"sha1": "a734bc2c47a9453c4efa772461a3aeb273c010d9",
"sha256": "sha256-w8UzM6IXKoBni9oYA+Oc/0W+xq4+nH1PRKgexOKrGNw="
},
"jackson-databind-2.16.0-rc1.module": {
"sha1": "9d6a30d78b30fea5a62cc629addef1dd2f8ffa21",
"sha256": "sha256-wyMhPyOKnSQHiUQZW721rnteq9WNAfZ46HClETqgDiE="
"jackson-databind-2.15.3.module": {
"sha1": "d4d12bf39a3c3560d0a69b6b05adab2182f1da44",
"sha256": "sha256-UbqNcfWgSudo6EyR1O3wmh/IvBJEsDvU+bBguPs5VhU="
}
}
},
@@ -9658,12 +9658,12 @@
},
{
"path": "com/fasterxml/jackson/jackson-base/2.16.0-rc1",
"path": "com/fasterxml/jackson/jackson-base/2.15.3",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jackson-base-2.16.0-rc1.pom": {
"sha1": "b0ea2e74cd9077f6394d6c745d84aab9d35436df",
"sha256": "sha256-Xihgwy19do1PsQLQZz7D+aZ1NJBalQNh1yqKdkvPQXM="
"jackson-base-2.15.3.pom": {
"sha1": "0da5901e059a4accee9e1dbbe41f395a586fcad7",
"sha256": "sha256-QpA0Kr8LDkVnMi/7LQw24lsKh6IXu1azVoCo3Y+NZuQ="
}
}
},
@@ -9680,12 +9680,12 @@
},
{
"path": "com/fasterxml/jackson/jackson-bom/2.16.0-rc1",
"path": "com/fasterxml/jackson/jackson-bom/2.15.3",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jackson-bom-2.16.0-rc1.pom": {
"sha1": "9f0aa2b767de8428e4151cc86793a6892cf0b22a",
"sha256": "sha256-oNo29tts8XhCSM+qZ/HXxjNZYTdoEU4Q5MtImXBefZw="
"jackson-bom-2.15.3.pom": {
"sha1": "1b221d661c2943cccc45acfffd41c07d10963494",
"sha256": "sha256-ZvyZRcFnFrwgL0udfm2WnfP1Cf7/vhrPGjFRG3U9XJ0="
}
}
},
@@ -9702,12 +9702,12 @@
},
{
"path": "com/fasterxml/jackson/jackson-parent/2.16-rc1",
"path": "com/fasterxml/jackson/jackson-parent/2.15",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jackson-parent-2.16-rc1.pom": {
"sha1": "b0b57e481f46e394aa45a2b164af9ad92dd4946b",
"sha256": "sha256-y0Fkj+L5t6Sa19QTaK50D+iHvEs/NQJO2iUayQQ20ss="
"jackson-parent-2.15.pom": {
"sha1": "caffbeb9be9350780ad5407789f43664906042ec",
"sha256": "sha256-bN+XvGbzifY+NoUNL1UtEhZoj45aWHJ9P2qY7fhnXN4="
}
}
},
@@ -9724,12 +9724,12 @@
},
{
"path": "com/fasterxml/jackson/module/jackson-modules-base/2.16.0-rc1",
"path": "com/fasterxml/jackson/module/jackson-modules-base/2.15.3",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jackson-modules-base-2.16.0-rc1.pom": {
"sha1": "449a9b459071042c2d5e3eef698b7435ec7a22d0",
"sha256": "sha256-p7KoYdmdDHItUNIOnfQbO5XcXCMXXMpnK+zHqKPwIow="
"jackson-modules-base-2.15.3.pom": {
"sha1": "696c8c2635ca5e18809afc24b2c92cff0e930880",
"sha256": "sha256-lhtdELjxVWdSYRkED+Jo9lXQwDF01awJpgJO3IMPWe4="
}
}
},
@@ -9750,20 +9750,20 @@
},
{
"path": "com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.16.0-rc1",
"path": "com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.15.3",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jackson-module-jaxb-annotations-2.16.0-rc1.pom": {
"sha1": "7cfdd570dea65bb1144cd3280ced0a3359c3a3b3",
"sha256": "sha256-uKkIWZvE6M4xvGiR9cMyPkp6HEucG1kpueJWw0cQjv4="
"jackson-module-jaxb-annotations-2.15.3.pom": {
"sha1": "2d4fdcbe0f7dda2e7396f3757be75117112ba532",
"sha256": "sha256-CUbzJZy+BHolxbVxl3AThdbnteWh+KVrml9dnLT/VYE="
},
"jackson-module-jaxb-annotations-2.16.0-rc1.jar": {
"sha1": "04c27538836a829dcd0f38baf55b4b65eb34283b",
"sha256": "sha256-bXNKNWyTupzAINnzsvgdaP2SUldbIepfLVWWlBbNAsg="
"jackson-module-jaxb-annotations-2.15.3.jar": {
"sha1": "74e8ef60b65b42051258465f06c06195e61e92f2",
"sha256": "sha256-UqDcjpIm04QXmg6chORajQDNup6akvkT6z9PmdqDYno="
},
"jackson-module-jaxb-annotations-2.16.0-rc1.module": {
"sha1": "65e9ab1a8205e6f8eb8d4652b52c321b2d8b2555",
"sha256": "sha256-7CPt/ZsEE4S6IcZYxd7iiM5js21tdflUkb+lEPMyDPg="
"jackson-module-jaxb-annotations-2.15.3.module": {
"sha1": "23d97c5e6a045d87c06e10ae16e0fb57e8367846",
"sha256": "sha256-sbbt714pCVO5k/JYnOUSC+XLBPObuUwZZ376q5ZQ9FI="
}
}
},
@@ -9795,12 +9795,12 @@
},
{
"path": "com/fasterxml/oss-parent/55",
"path": "com/fasterxml/oss-parent/50",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"oss-parent-55.pom": {
"sha1": "24ad110e0e507856ae662736d6c6ef5b101a1689",
"sha256": "sha256-D14Y8rNev22Dn3/VSZcog/aWwhD5rjIwr9LCC6iGwE0="
"oss-parent-50.pom": {
"sha1": "2e5ec5928fa4a136254d3dfeb8c56f47b049d8ed",
"sha256": "sha256-9dpV3XuI+xcMRoAdF3dKZS+y9FgftbHQpfyGqhgrhXc="
}
}
},
@@ -12027,12 +12027,12 @@
},
{
"path": "com/sun/xml/bind/jaxb-bom-ext/4.0.4",
"path": "com/sun/xml/bind/jaxb-bom-ext/4.0.3",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jaxb-bom-ext-4.0.4.pom": {
"sha1": "43e647d464b91a7a232e6c49510598d1476cdfe1",
"sha256": "sha256-AMvdv+7k5Y3pmhnrbrBCS5K8YBttoP+JXcAYPpbsdLM="
"jaxb-bom-ext-4.0.3.pom": {
"sha1": "5838d8e4fa9335d67d5b9c092a4a80c1e67b2dad",
"sha256": "sha256-SkQftgU/yfRooSve6hy48Efq9kNzA34/BJrUMEJ/0PA="
}
}
},
@@ -12071,12 +12071,12 @@
},
{
"path": "com/sun/xml/bind/mvn/jaxb-parent/4.0.4",
"path": "com/sun/xml/bind/mvn/jaxb-parent/4.0.3",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jaxb-parent-4.0.4.pom": {
"sha1": "2846b11dfea85e485a63ce6cbc1c30bf4fdd812e",
"sha256": "sha256-5+klMqRcmhpIc2y2goem8e97ey/u1ljUmf3M18ofqts="
"jaxb-parent-4.0.3.pom": {
"sha1": "ce4f3532ee7c0e092605b7b43cc3640999927af7",
"sha256": "sha256-6WIwlX8fVlh/nP25dKNr7XcH6JYWtakKknss99NHZ28="
}
}
},
@@ -12148,12 +12148,12 @@
},
{
"path": "com/sun/xml/bind/mvn/jaxb-txw-parent/4.0.4",
"path": "com/sun/xml/bind/mvn/jaxb-txw-parent/4.0.3",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jaxb-txw-parent-4.0.4.pom": {
"sha1": "e2f336db2b61a4474b0363c6a86a8bca4342deb8",
"sha256": "sha256-4ROP8PpMBot6RjWoE5ZkKuDgdRqSGj/aE8QenwL7I6w="
"jaxb-txw-parent-4.0.3.pom": {
"sha1": "be33bd0d60d44f50811c22405c29e56f82d7ecd0",
"sha256": "sha256-hU4ErXwT/9tlUbKQ6apsCN10JQdTvMgB4HZVB9EYfXw="
}
}
},
@@ -12204,16 +12204,16 @@
},
{
"path": "com/sun/xml/fastinfoset/FastInfoset/2.1.1",
"path": "com/sun/xml/fastinfoset/FastInfoset/2.1.0",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"FastInfoset-2.1.1.pom": {
"sha1": "85420a8093b72919bd47f0e4ca8abf2274c3797c",
"sha256": "sha256-Sf3LDhtzh1Ln2kuljnpenkhskI8ZuFNTVQadrvq3On4="
"FastInfoset-2.1.0.pom": {
"sha1": "8a3328cc394e06c71de7147d4b8954f5fb3c4326",
"sha256": "sha256-kLnl6oTboVRq9G+7YyYZ8llaMvwGCQ0uwJXao7MtqZc="
},
"FastInfoset-2.1.1.jar": {
"sha1": "650c84348bbcf4461bd24d38e67f7a7ce687de24",
"sha256": "sha256-ddZjXgkQHvFUXZpZu02VJOxr8VJGVAr1Q1dQ8nFhJ2U="
"FastInfoset-2.1.0.jar": {
"sha1": "cd92e93ef4ee608bffe4ba41b1247846a3d42227",
"sha256": "sha256-uWgWGqtr6x6hpKYqPYS112LWJoH3ziPPAwSZFdl0jSE="
}
}
},
@@ -12252,12 +12252,12 @@
},
{
"path": "com/sun/xml/fastinfoset/fastinfoset-project/2.1.1",
"path": "com/sun/xml/fastinfoset/fastinfoset-project/2.1.0",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"fastinfoset-project-2.1.1.pom": {
"sha1": "64c42818f61c961fd357788a0e8287369358258d",
"sha256": "sha256-HoDvsaCRWw+GJrp11ylrXxuwJpoKL51zh62Zh/duTAk="
"fastinfoset-project-2.1.0.pom": {
"sha1": "170bbdc773e5317f258728a71a4629e6ee17a0d1",
"sha256": "sha256-zCQMIUxrJpsvx459lRp1YRd5X0PRUts686i+shjve+o="
}
}
},
@@ -15599,12 +15599,12 @@
},
{
"path": "org/glassfish/jaxb/jaxb-bom/4.0.4",
"path": "org/glassfish/jaxb/jaxb-bom/4.0.3",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jaxb-bom-4.0.4.pom": {
"sha1": "d1830dd5724a8e016bc02f09b67da8d92def48af",
"sha256": "sha256-FuRpMAtWNmdun7N52twbuY9B98O4ajCuSTjp5NSBLfw="
"jaxb-bom-4.0.3.pom": {
"sha1": "53d62c7214b0bece9a644e50df2a7d2aa37e0db8",
"sha256": "sha256-Zg8EhAYlliYXiumpcrA86VFmXDPDM8q0U7EXi40NJBU="
}
}
},
@@ -15625,16 +15625,16 @@
},
{
"path": "org/glassfish/jaxb/jaxb-core/4.0.4",
"path": "org/glassfish/jaxb/jaxb-core/4.0.3",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"jaxb-core-4.0.4.pom": {
"sha1": "bebde7111ac1bc5789b3bdd1cbbe779ca536a727",
"sha256": "sha256-TpWVc9NJxkOGq2ayYB7etV008XURTVvIKdi2gXU1+pQ="
"jaxb-core-4.0.3.pom": {
"sha1": "0ed53eb2323c424a024c5b87c7a217f282d43dda",
"sha256": "sha256-crhKVGcO3sRAUgH3Heo7C/aYJbrkFjNtfzFAbGnHoyc="
},
"jaxb-core-4.0.4.jar": {
"sha1": "2d5aadd02af86f1e9d8c6f7e8501673f915d4e25",
"sha256": "sha256-ARKiZiNGD7TfWgoptmPyrf5+lYTrE4rgR7WiHJRX8Nc="
"jaxb-core-4.0.3.jar": {
"sha1": "e9093b4a82069a1d78ee9a3233ca387bca88861f",
"sha256": "sha256-1tdcQidSaE+/BN10ohaY/q4OSkBsKJK1rwLSPcl7KsY="
}
}
},
@@ -15730,16 +15730,16 @@
},
{
"path": "org/glassfish/jaxb/txw2/4.0.4",
"path": "org/glassfish/jaxb/txw2/4.0.3",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"txw2-4.0.4.pom": {
"sha1": "8202a6876a73122a6349569a327508713d849fcf",
"sha256": "sha256-rPArplfsukbSZyFAfOj3Vl1NBPpFwTt0QXoVT7Qm9SA="
"txw2-4.0.3.pom": {
"sha1": "998f7a3836d5e44d6fdce01e3c67d8fe01ca6f43",
"sha256": "sha256-i4TetIZ5zAQrPL7GjXA9+c6May+SOdqKKOPKqp7a1Nk="
},
"txw2-4.0.4.jar": {
"sha1": "cfd2bcf08782673ac370694fdf2cf76dbaa607ef",
"sha256": "sha256-Mue9UXjinyKU0D0nk8QeVOUjWLarlc0TQ/JsHCsnQic="
"txw2-4.0.3.jar": {
"sha1": "47b8fe31c6d1a3382203af919400527389e01e9c",
"sha256": "sha256-3welGAG5leRK7JqV74ddlfu43ih0QX3mBm2E9zHLnpw="
}
}
},
@@ -18162,21 +18162,6 @@
}
},
{
"path": "org/junit/junit-bom/5.9.3",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"junit-bom-5.9.3.pom": {
"sha1": "b1874b6a66656e4f5e4b492ab321249bcb749dc7",
"sha256": "sha256-TQMpzZ5y8kIOXKFXJMv+b/puX9KIg2FRYnEZD9w0Ltc="
},
"junit-bom-5.9.3.module": {
"sha1": "d70d3d9a503c573e648ef70fb2e211fbe44aa63e",
"sha256": "sha256-tAH9JZAeWCpSSqU0PEs54ovFbiSWHBBpvytLv87ka5M="
}
}
},
{
"path": "org/junit/junit-bom/5.10.0",
"repo": "https://repo.maven.apache.org/maven2",
+2 -2
View File
@@ -117,7 +117,7 @@ commons-codec:commons-codec:1.11
commons-io:commons-io:2.4
commons-logging:commons-logging:1.1.1
commons-logging:commons-logging:1.2
com.adobe.xmp:xmpcore:6.1.11
com.adobe.xmp:xmpcore:6.0.6
com.afollestad.material-dialogs:commons:0.9.6.0
com.afollestad.material-dialogs:core:0.9.6.0
com.airbnb.android:lottie:3.4.4
@@ -444,7 +444,7 @@ com.diffplug.durian:durian-io:1.2.0
com.diffplug.spotless:spotless-lib-extra:2.30.0
com.diffplug.spotless:spotless-lib:2.30.0
com.diffplug.spotless:spotless-plugin-gradle:6.11.0
com.drewnoakes:metadata-extractor:2.18.0
com.drewnoakes:metadata-extractor:2.12.0
com.facebook.conceal:conceal:1.1.3
com.facebook.fbjni:fbjni-java-only:0.2.2
com.facebook.fresco:animated-base:2.5.0
+19 -20
View File
@@ -498,7 +498,7 @@ https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.16.0/commons-
https://repo.maven.apache.org/maven2/commons-io/commons-io/2.4/commons-io-2.4.pom
https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom
https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.pom
https://repo.maven.apache.org/maven2/com/adobe/xmp/xmpcore/6.1.11/xmpcore-6.1.11.pom
https://repo.maven.apache.org/maven2/com/adobe/xmp/xmpcore/6.0.6/xmpcore-6.0.6.pom
https://repo.maven.apache.org/maven2/com/afollestad/material-dialogs/commons/0.9.6.0/commons-0.9.6.0.pom
https://repo.maven.apache.org/maven2/com/afollestad/material-dialogs/core/0.9.6.0/core-0.9.6.0.pom
https://repo.maven.apache.org/maven2/com/airbnb/android/lottie/3.4.4/lottie-3.4.4.pom
@@ -563,7 +563,7 @@ https://repo.maven.apache.org/maven2/com/diffplug/durian/durian-io/1.2.0/durian-
https://repo.maven.apache.org/maven2/com/diffplug/spotless/spotless-lib-extra/2.30.0/spotless-lib-extra-2.30.0.pom
https://repo.maven.apache.org/maven2/com/diffplug/spotless/spotless-lib/2.30.0/spotless-lib-2.30.0.pom
https://repo.maven.apache.org/maven2/com/diffplug/spotless/spotless-plugin-gradle/6.11.0/spotless-plugin-gradle-6.11.0.pom
https://repo.maven.apache.org/maven2/com/drewnoakes/metadata-extractor/2.18.0/metadata-extractor-2.18.0.pom
https://repo.maven.apache.org/maven2/com/drewnoakes/metadata-extractor/2.12.0/metadata-extractor-2.12.0.pom
https://repo.maven.apache.org/maven2/com/facebook/conceal/conceal/1.1.3/conceal-1.1.3.pom
https://repo.maven.apache.org/maven2/com/facebook/fbjni/fbjni-java-only/0.2.2/fbjni-java-only-0.2.2.pom
https://repo.maven.apache.org/maven2/com/facebook/fresco/animated-base/2.5.0/animated-base-2.5.0.pom
@@ -593,25 +593,25 @@ https://repo.maven.apache.org/maven2/com/facebook/soloader/soloader/0.10.1/soloa
https://repo.maven.apache.org/maven2/com/facebook/soloader/soloader/0.10.3/soloader-0.10.3.pom
https://repo.maven.apache.org/maven2/com/facebook/yoga/proguard-annotations/1.19.0/proguard-annotations-1.19.0.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.11.1/jackson-annotations-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.16.0-rc1/jackson-annotations-2.16.0-rc1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.15.3/jackson-annotations-2.15.3.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.11.1/jackson-core-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.16.0-rc1/jackson-core-2.16.0-rc1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.15.3/jackson-core-2.15.3.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.11.1/jackson-databind-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.16.0-rc1/jackson-databind-2.16.0-rc1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.15.3/jackson-databind-2.15.3.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-xml/2.11.1/jackson-dataformat-xml-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-base/2.11.1/jackson-base-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-base/2.16.0-rc1/jackson-base-2.16.0-rc1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-base/2.15.3/jackson-base-2.15.3.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-bom/2.11.1/jackson-bom-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-bom/2.16.0-rc1/jackson-bom-2.16.0-rc1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-bom/2.15.3/jackson-bom-2.15.3.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-parent/2.11/jackson-parent-2.11.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-parent/2.16-rc1/jackson-parent-2.16-rc1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-parent/2.15/jackson-parent-2.15.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-modules-base/2.11.1/jackson-modules-base-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-modules-base/2.16.0-rc1/jackson-modules-base-2.16.0-rc1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-modules-base/2.15.3/jackson-modules-base-2.15.3.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.11.1/jackson-module-jaxb-annotations-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.16.0-rc1/jackson-module-jaxb-annotations-2.16.0-rc1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.15.3/jackson-module-jaxb-annotations-2.15.3.pom
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-module-kotlin/2.11.1/jackson-module-kotlin-2.11.1.pom
https://repo.maven.apache.org/maven2/com/fasterxml/oss-parent/38/oss-parent-38.pom
https://repo.maven.apache.org/maven2/com/fasterxml/oss-parent/55/oss-parent-55.pom
https://repo.maven.apache.org/maven2/com/fasterxml/oss-parent/50/oss-parent-50.pom
https://repo.maven.apache.org/maven2/com/fasterxml/woodstox/woodstox-core/6.2.1/woodstox-core-6.2.1.pom
https://repo.maven.apache.org/maven2/com/github/bumptech/glide/annotations/4.12.0/annotations-4.12.0.pom
https://repo.maven.apache.org/maven2/com/github/bumptech/glide/compiler/4.12.0/compiler-4.12.0.pom
@@ -771,26 +771,26 @@ https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons/4.2.0/istack-
https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/2.2.11/jaxb-bom-ext-2.2.11.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/2.3.1/jaxb-bom-ext-2.3.1.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/2.3.2/jaxb-bom-ext-2.3.2.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/4.0.4/jaxb-bom-ext-4.0.4.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/4.0.3/jaxb-bom-ext-4.0.3.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/2.2.11/jaxb-parent-2.2.11.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/2.3.1/jaxb-parent-2.3.1.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/2.3.2/jaxb-parent-2.3.2.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/4.0.4/jaxb-parent-4.0.4.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/4.0.3/jaxb-parent-4.0.3.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-runtime-parent/2.2.11/jaxb-runtime-parent-2.2.11.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-runtime-parent/2.3.1/jaxb-runtime-parent-2.3.1.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-runtime-parent/2.3.2/jaxb-runtime-parent-2.3.2.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-txw-parent/2.2.11/jaxb-txw-parent-2.2.11.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-txw-parent/2.3.1/jaxb-txw-parent-2.3.1.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-txw-parent/2.3.2/jaxb-txw-parent-2.3.2.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-txw-parent/4.0.4/jaxb-txw-parent-4.0.4.pom
https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-txw-parent/4.0.3/jaxb-txw-parent-4.0.3.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/FastInfoset/1.2.13/FastInfoset-1.2.13.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/FastInfoset/1.2.15/FastInfoset-1.2.15.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/FastInfoset/1.2.16/FastInfoset-1.2.16.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/FastInfoset/2.1.1/FastInfoset-2.1.1.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/FastInfoset/2.1.0/FastInfoset-2.1.0.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/fastinfoset-project/1.2.13/fastinfoset-project-1.2.13.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/fastinfoset-project/1.2.15/fastinfoset-project-1.2.15.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/fastinfoset-project/1.2.16/fastinfoset-project-1.2.16.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/fastinfoset-project/2.1.1/fastinfoset-project-2.1.1.pom
https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/fastinfoset-project/2.1.0/fastinfoset-project-2.1.0.pom
https://repo.maven.apache.org/maven2/com/tunnelvisionlabs/antlr4-annotations/4.5/antlr4-annotations-4.5.pom
https://repo.maven.apache.org/maven2/com/tunnelvisionlabs/antlr4-annotations/4.9.0/antlr4-annotations-4.9.0.pom
https://repo.maven.apache.org/maven2/com/tunnelvisionlabs/antlr4-master/4.5/antlr4-master-4.5.pom
@@ -1031,16 +1031,16 @@ https://repo.maven.apache.org/maven2/org/eclipse/jgit/org.eclipse.jgit/5.13.1.20
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/2.2.11/jaxb-bom-2.2.11.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/2.3.1/jaxb-bom-2.3.1.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/2.3.2/jaxb-bom-2.3.2.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/4.0.4/jaxb-bom-4.0.4.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/4.0.3/jaxb-bom-4.0.3.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-core/2.2.11/jaxb-core-2.2.11.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-core/4.0.4/jaxb-core-4.0.4.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-core/4.0.3/jaxb-core-4.0.3.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-runtime/2.2.11/jaxb-runtime-2.2.11.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-runtime/2.3.1/jaxb-runtime-2.3.1.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-runtime/2.3.2/jaxb-runtime-2.3.2.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/2.2.11/txw2-2.2.11.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/2.3.1/txw2-2.3.1.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/2.3.2/txw2-2.3.2.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/4.0.4/txw2-4.0.4.pom
https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/4.0.3/txw2-4.0.3.pom
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/2.2/hamcrest-core-2.2.pom
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom
@@ -1199,7 +1199,6 @@ https://repo.maven.apache.org/maven2/org/json/json/20180813/json-20180813.pom
https://repo.maven.apache.org/maven2/org/json/json/20231013/json-20231013.pom
https://repo.maven.apache.org/maven2/org/jsoup/jsoup/1.13.1/jsoup-1.13.1.pom
https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.9.2/junit-bom-5.9.2.pom
https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.9.3/junit-bom-5.9.3.pom
https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.10.0/junit-bom-5.10.0.pom
https://repo.maven.apache.org/maven2/org/jvnet/staxex/stax-ex/1.7.7/stax-ex-1.7.7.pom
https://repo.maven.apache.org/maven2/org/jvnet/staxex/stax-ex/1.8.1/stax-ex-1.8.1.pom
+2 -2
View File
@@ -10,9 +10,9 @@
"dependencies": {
"@babel/preset-typescript": "^7.17.12",
"@react-native-async-storage/async-storage": "^1.17.9",
"@react-native-camera-roll/camera-roll": "git+https://github.com/status-im/react-native-camera-roll.git#refs/tags/v5.1.1.1",
"@react-native-community/audio-toolkit": "git+https://github.com/tbenr/react-native-audio-toolkit.git#refs/tags/v2.0.3-status-v6",
"@react-native-community/blur": "git+https://github.com/status-im/react-native-blur#refs/tags/v4.3.3-status",
"@react-native-community/cameraroll": "git+https://github.com/status-im/react-native-cameraroll.git#refs/tags/v4.0.4-status.0",
"@react-native-community/clipboard": "^1.2.2",
"@react-native-community/hooks": "^3.0.0",
"@react-native-community/masked-view": "^0.1.6",
@@ -34,7 +34,7 @@
"react-native": "0.69.10",
"react-native-background-timer": "^2.1.1",
"react-native-blob-util": "^0.13.18",
"react-native-camera-kit": "14.0.0-beta13",
"react-native-camera-kit": "^13.0.0",
"react-native-config": "^1.5.0",
"react-native-dialogs": "^1.0.4",
"react-native-draggable-flatlist": "^4.0.1",
BIN
View File
Binary file not shown.
+2 -3
View File
@@ -346,8 +346,7 @@
(clj->js {:BlurView {}}))
(def react-native-camera-roll
(clj->js {:default #js {}
:CameraRoll #js {}}))
(clj->js {:default #js {}}))
(def react-native-orientation-locker
(clj->js {:default #js {}
@@ -411,7 +410,7 @@
"react-native-navigation" react-native-navigation
"@react-native-community/push-notification-ios" push-notification-ios
"@react-native-community/blur" react-native-blur
"@react-native-camera-roll/camera-roll" react-native-camera-roll
"@react-native-community/cameraroll" react-native-camera-roll
"react-native-camera-kit" react-native-camera-kit
"react-native-permissions" react-native-permissions
"rn-emoji-keyboard" rn-emoji-keyboard
@@ -30,7 +30,7 @@
(defn- view-internal
"params, first name, last name, customization-color, size
and if it's dark or not!"
[{:keys [f-name l-name customization-color size theme monospace? uppercase? container-style]
[{:keys [f-name l-name customization-color size theme monospace? uppercase?]
:or {f-name "John"
l-name "Doe"
size :x-large
@@ -50,14 +50,13 @@
(colors/resolve-color customization-color theme)
(colors/theme-colors colors/neutral-80-opa-70 colors/white-opa-70 theme))]
[rn/view
{:style (merge {:width circle-size
:height circle-size
:border-radius circle-size
:text-align :center
:justify-content :center
:align-items :center
:background-color circle-color}
container-style)}
{:style {:width circle-size
:height circle-size
:border-radius circle-size
:text-align :center
:justify-content :center
:align-items :center
:background-color circle-color}}
[text/text
{:size (size font-sizes)
:weight (if monospace? :monospace (size font-weights))
@@ -95,12 +95,25 @@
notification-count
activity-center-on-press
scan-on-press
qr-code-on-press]
qr-code-on-press
for-qa-only-cellular-network
for-qa-only-no-network
for-qa-only-network-type]
:as props}]
(let [button-common-props (get-button-common-props {:theme theme
:jump-to? jump-to?
:blur? blur?})]
[rn/view {:style style/right-section}
(when (= for-qa-only-network-type "cellular")
[button/button
(merge (dissoc button-common-props :icon-only?)
for-qa-only-cellular-network)
"🦄"])
(when (= for-qa-only-network-type "none")
[button/button
(merge (dissoc button-common-props :icon-only?)
for-qa-only-no-network)
"💀"])
[button/button
(assoc button-common-props :accessibility-label :open-scanner-button :on-press scan-on-press)
:i/scan]
@@ -147,5 +160,8 @@
:qr-code-on-press callback
:notification-count number
:max-unread-notifications used to specify max number for counter
:for-qa-only-cellular-network used for testing purposed
:for-qa-only-no-network used for testing purposed
:for-qa-only-network-type used for testing purposed
"
(quo.theme/with-theme view-internal))
+1 -7
View File
@@ -1,6 +1,6 @@
(ns react-native.cameraroll
(:require
["@react-native-camera-roll/camera-roll" :refer [CameraRoll]]
["@react-native-community/cameraroll" :as CameraRoll]
[react-native.fs :as fs]
[taoensso.timbre :as log]
[utils.transforms :as transforms]))
@@ -22,9 +22,3 @@
(-> (.save CameraRoll (clj->js path))
(.then #(fs/unlink path))
(.catch #(fs/unlink path))))
(defn get-photos-count-ios
[cb]
(-> (.getPhotosCountiOS CameraRoll)
(.then #(cb %))
(.catch #(js/console.error %))))
+3
View File
@@ -20,6 +20,9 @@
(map? view)
(merge view)
(= view :mobile-network)
(merge mobile-network-settings/settings-sheet)
(= view :mobile-network-offline)
(merge mobile-network-settings/offline-sheet)
@@ -29,6 +29,15 @@
cofx
{:db (assoc db :network-status/initialized? true)}
(cond
(and logged-in?
(utils/cellular? (:network/type db))
(not remember-syncing-choice?)
(not= :create-multiaccount (:view-id db)))
[(bottom-sheet/show-bottom-sheet-old
{:view :mobile-network})
(sheet-defaults)]
;; NOTE(rasom): When we log into account on-network-status-change is
;; dispatched, but that doesn't mean there was a status change, thus
;; no reason to restart wallet.
+7 -6
View File
@@ -67,17 +67,18 @@
:else theme)
{:keys [icon-color background-color text-color border-color]}
(themes theme')]
(println "theme" theme' background-color)
[rn/touchable-without-feedback
(merge {:disabled disabled
:accessibility-label accessibility-label}
(when on-press
(merge (when on-press
{:on-press on-press})
(when on-long-press
{:on-long-press on-long-press}))
[rn/view
(merge {:background-color background-color
:border-radius border-radius}
(merge {:background-color background-color
:border-radius border-radius
:type type
:disabled disabled
:accessibility-label accessibility-label}
(when border-color
{:border-color border-color
:border-width 1}))
+2 -1
View File
@@ -1,6 +1,7 @@
(ns status-im.ui.components.text
(:require
[react-native.core :as rn]
[react-native.reanimated :as animated]
[reagent.core :as reagent]
[status-im.ui.components.colors :as colors]
[status-im.ui.components.typography :as typography]))
@@ -43,7 +44,7 @@
[]
(let [this (reagent/current-component)
props (reagent/props this)
component rn/text]
component (if (:animated? props) animated/text rn/text)]
(into [component
(merge {:style (text-style props)}
(dissoc props
@@ -1,10 +1,12 @@
(ns status-im.ui.screens.mobile-network-settings.sheets
(:require-macros [status-im.utils.views :as views])
(:require [re-frame.core :as re-frame]
[status-im.ui.components.list.item :as list.item]
[status-im.ui.components.react :as react]
[status-im.ui.screens.mobile-network-settings.sheets-styles :as styles]
[utils.i18n :as i18n]))
(:require
[re-frame.core :as re-frame]
[status-im.ui.components.checkbox.view :as checkbox]
[status-im.ui.components.list.item :as list.item]
[status-im.ui.components.react :as react]
[status-im.ui.screens.mobile-network-settings.sheets-styles :as styles]
[utils.i18n :as i18n]))
(defn title
[label]
@@ -34,6 +36,65 @@
:on-press #(re-frame/dispatch [:mobile-network/navigate-to-settings])}
(i18n/label :t/mobile-network-go-to-settings)]])
(views/defview checkbox
[]
(views/letsubs [checked? [:mobile-network/remember-choice?]]
[react/view
{:style styles/checkbox-line-container
:accessibility-label "remember-choice"}
[checkbox/checkbox
{:checked? checked?
:style styles/checkbox
:icon-style styles/checkbox-icon
:on-value-change #(re-frame/dispatch [:mobile-network/remember-choice? %])}]
[react/view
{:style styles/checkbox-text-container}
[react/text (i18n/label :t/mobile-network-sheet-remember-choice)]]]))
(defn settings
[]
[react/view
{:style styles/settings-container}
[react/nested-text
{:style styles/settings-text
:on-press #(re-frame/dispatch [:mobile-network/navigate-to-settings])}
(i18n/label :t/mobile-network-sheet-configure)
[{:style styles/settings-link}
(str " " (i18n/label :t/mobile-network-sheet-settings))]]])
(defn hide-sheet-and-dispatch
[event]
(re-frame/dispatch [:bottom-sheet/hide-old])
(re-frame/dispatch event))
(views/defview settings-sheet
[]
[react/view {:flex 1}
[react/view {:align-items :center}
[title :mobile-syncing-sheet-title]
[details :mobile-syncing-sheet-details]]
[list.item/list-item
{:theme :accent
:accessibility-label "mobile-network-continue-syncing"
:title (i18n/label :t/mobile-network-continue-syncing)
:subtitle (i18n/label :t/mobile-network-continue-syncing-details)
:subtitle-max-lines 2
:icon :main-icons/network
:on-press #(hide-sheet-and-dispatch [:mobile-network/continue-syncing])}]
[list.item/list-item
{:theme :negative
:accessibility-label "mobile-network-stop-syncing"
:title (i18n/label :t/mobile-network-stop-syncing)
:subtitle (i18n/label :t/mobile-network-stop-syncing-details)
:icon :main-icons/cancel
:on-press #(hide-sheet-and-dispatch [:mobile-network/stop-syncing])}]
[separator]
[react/view
{:flex 1
:align-self :stretch}
[checkbox]
[settings]]])
(views/defview offline-sheet
[]
[react/view {:flex 1}
@@ -53,5 +53,8 @@
:on-press #(hide-sheet-and-dispatch [:mobile-network/restore-defaults])}
(i18n/label :t/restore-defaults)]]]))
(def settings-sheet
{:content sheets/settings-sheet})
(def offline-sheet
{:content sheets/offline-sheet})
+1 -1
View File
@@ -152,7 +152,7 @@
:component wallet.account/account}
{:name :add-new-account
;;TODO dynamic title
:options {:insets {:top? true :bottom? true}}
:options {:insets {:top? true}}
:component add-account/add-account-view}
{:name :add-new-account-pin
;;TODO dynamic title
@@ -211,7 +211,7 @@
{:style styles/round-action-button
:on-press on-press}
(icons/icon icon {:color colors/white})]
[components.core/text
[quo/text
{:color :secondary
:size :small
:style {:margin-top (:tiny spacing/spacing)}}
@@ -348,7 +348,7 @@
:margin-top 8
:margin-horizontal 67.5
:text-align :center}}
[components.core/text
[quo/text
{:color :secondary
:size :small
:style {:text-align :center}}
@@ -145,7 +145,7 @@
:justify-content :center
:left 0
:right 0
:bottom 56
:bottom 16
:height 40})
(defn send-button
@@ -244,11 +244,10 @@
to to-wallet to-contact
gas-limit gas-price-gwei gas-price-eth gas-used
fee-cap-gwei tip-cap-gwei
cost nonce data]
:as tx}]
cost nonce data]}]
[react/view {:style styles/details-block}
[details-list-row :t/block block]
[details-list-row :t/hash (:hash tx)]
[details-list-row :t/hash hash]
[details-list-row :t/from-capitalized
[{:accessibility-label (if from-wallet :sender-name-text :sender-address-text)}
(or from-wallet from-contact from)]
@@ -1,2 +0,0 @@
(ns status-im2.common.floating-button-page.constants)
@@ -1,26 +0,0 @@
(ns status-im2.common.floating-button-page.floating-container.style
(:require [quo.foundations.colors :as colors]
[react-native.platform :as platform]))
;; TODO: consider modals and customizable props
(defn container
[{:keys [top]} button-height theme background-shown? blur?]
{:width "100%"
:padding-left 20
:padding-right 20
:padding-top 12
:padding-bottom 12
:align-self :flex-end
;; :margin-bottom (+ top 10)
:background-color (when (and background-shown? (not blur?))
(colors/theme-colors colors/white colors/neutral-70 theme))})
(defn view-container
[keyboard-shown? insets button-height theme background-shown?]
(container insets button-height theme background-shown? false))
(defn blur-container
[_ insets button-height theme background-shown?]
(merge (container insets button-height theme background-shown? true)
(when platform/android? {:padding-bottom 12})))
@@ -1,47 +0,0 @@
(ns status-im2.common.floating-button-page.floating-container.view
(:require [quo.foundations.colors :as colors]
[react-native.blur :as blur]
[react-native.core :as rn]
[react-native.platform :as platform]
[react-native.safe-area :as safe-area]
[status-im2.common.floating-button-page.floating-container.style :as style]))
(def blur-container-props
{:blur-amount 36
:blur-radius 25
:blur-type :light ;:transparent
;:overlay-color (colors/theme-colors colors/black colors/neutral-70 theme)
:background-color (if platform/android? colors/neutral-100 colors/neutral-80-opa-1-blur)})
(defn- blur-container
[props & children]
[rn/view
(merge props
{:width "100%"
:padding-horizontal 20
:padding-vertical 12
:overflow :hidden})
;; TODO: add theme to blur props
(into [blur/view blur-container-props] children)])
"
- on-layout will trigger to dynamically get the height of the container to screen using it.
"
(defn view
[{:keys [on-layout blur? container-style child-height theme show-background?
floating?]}
children]
(let [insets (safe-area/get-insets)
blur-active? (and blur? show-background?)
container-view (if blur-active? blur-container rn/view)
inline-container-style (if blur-active? style/blur-container style/view-container)]
[container-view
{:on-layout on-layout
:style (merge container-style
(inline-container-style floating? insets child-height theme show-background?))}
children]))
@@ -1,16 +0,0 @@
(ns status-im2.common.floating-button-page.style)
(def page-container
{:position :absolute
:top 0
:bottom 0
:left 0
:right 0})
(defn keyboard-view-style
[keyboard-shown?]
{:border-width 1
:border-color :yellow
;:padding-bottom (if-not keyboard-shown? 12 0)
})
@@ -1,44 +0,0 @@
(ns status-im2.common.floating-button-page.style2
(:require [react-native.platform :as platform]
[status-im2.common.floating-button-page.constants :as constants]))
(def page-container
{:position :absolute
:top 0
:bottom 0
:left 0
:right 0
:z-index 100})
(def keyboard-view-style
{:position :absolute
:left 0
:right 0
:top 0
:bottom 0
:border-width 1
:border-color :blue
})
(defn button-container
[{:keys [top]}]
{:width "100%"
:padding-left 20
:padding-right 20
:padding-top 12
:align-self :flex-end
:margin-bottom (+ top 10) ;; this value is needed for the modal page - perhaps dynamically adjusted
;; based on page type
:height constants/button-height})
(defn view-button-container
[keyboard-shown? insets]
(merge (button-container insets)
(if platform/ios?
{:margin-bottom (if keyboard-shown? 0 34)}
{:margin-bottom (if keyboard-shown? 12 34)})))
(defn blur-button-container
[insets]
(merge (button-container insets)
(when platform/android? {:padding-bottom 12})))
@@ -1,161 +0,0 @@
(ns status-im2.common.floating-button-page.view
(:require
[oops.core :as oops]
[quo.theme :as quo.theme]
[react-native.core :as rn]
[react-native.hooks :as hooks]
[react-native.platform :as platform]
[react-native.safe-area :as safe-area]
[reagent.core :as reagent]
[status-im2.common.floating-button-page.floating-container.view :as floating-container]
[status-im2.common.floating-button-page.style :as style]))
(defn show-button-background?
[{:keys [keyboard-shown? available-space content-height] :as props}]
(when keyboard-shown?
(< available-space content-height)))
#_(when keyboard-shown
(cond
platform/android?
(< (- @scroll-view-height button-container-height) @content-container-height)
platform/ios?
(< (- @scroll-view-height keyboard-view-height) (- @content-container-height content-scroll-y))
:else
false))
(defonce scroll-view-ref (atom nil))
(defn f-view
[{:keys [blur?]} header page-content footer]
(reagent/with-let [theme (quo.theme/use-theme-value)
window-height (:height (rn/get-window))
header-height (reagent/atom 0)
footer-height (reagent/atom 0)
floating-container-height (reagent/atom 0)
content-container-height (reagent/atom 0)
content-scroll-y (reagent/atom 0)
;;
#_#_show-listener (oops/ocall rn/keyboard
"addListener"
"keyboardDidShow"
(fn [e]
(prn e)
(js/setTimeout
(fn []
(println "LAST SCROLL POSITION: " @content-scroll-y)
(println "FINAL SHOULD BE:" (+ @content-scroll-y @footer-height))
(some-> @scroll-view-ref
(.scrollTo #js {:x 0
:y (+ @content-scroll-y @footer-height)
:animated true})))
(+ (oops/oget e "duration") 300))))]
(let [{:keys [keyboard-shown
keyboard-height]} (hooks/use-keyboard)
show-background? (show-button-background?
{:keyboard-shown? keyboard-shown
:available-space (- window-height
keyboard-height
@floating-container-height
(safe-area/get-top)
50)
:content-height (+ @content-scroll-y
@content-container-height
@header-height)})]
[rn/view {:style {:flex 1} ; style/page-container
}
[rn/keyboard-avoiding-view
{:behavior :position
:style {:background-color :goldenrod
:flex 1}
:content-container-style {:position :absolute
:top 0
:bottom 0
:left 0
:right 0}}
[rn/view {:style {:position :absolute
:top 0
:bottom 0
:left 0
:right 0
:flex 1
:height 700
:border-width 1
:border-color :red}
:on-layout (fn [event]
(let [height (oops/oget event "nativeEvent.layout.height")]
(reset! content-container-height height)))}
[rn/view
{:on-layout (fn [event]
(let [height (oops/oget event "nativeEvent.layout.height")]
(reset! header-height height)))}
header]
[rn/scroll-view {:ref #(reset! scroll-view-ref %)
:on-scroll (fn [event]
(let [y (oops/oget event "nativeEvent.contentOffset.y")]
(prn y)
(reset! content-scroll-y y)))
:scroll-event-throttle 64
:content-container-style {:flex-grow 1
:background-color :grey
;:padding-bottom @footer-height
}}
page-content]]
#_[rn/view {:style {:border-width 1
:border-color :red
:background-color :lightblue}
:on-layout (fn [event]
(let [height (oops/oget event "nativeEvent.layout.height")]
(reset! content-container-height height)))}
page-content]
#_(when keyboard-shown
[rn/view {:style {:height 100
:background-color :orange}}])]
#_[rn/view {:style (cond-> {:position :absolute
:left 0
:right 0
:bottom 0})
:on-layout (fn [event]
(let [height (oops/oget event "nativeEvent.layout.height")]
(reset! footer-height height)))}
[rn/view {:style {:padding-vertical 16
:padding-horizontal 20
:background-color (if show-background?
;"rgba(67, 90, 183, 1)"
"rgba(67, 90, 183, 0.4352)"
"rgba(67, 90, 183, 0.4352)")}}
footer]]
#_[floating-container/view
{:theme theme
:blur? blur?
:floating? keyboard-shown
:show-background? show-background?
:on-layout (fn [event]
(let [height (oops/oget event "nativeEvent.layout.height")]
(prn height "height height height")
(reset! floating-container-height height)))}
footer
;[ button-props button-label]
]
])
(finally
;(oops/ocall show-listener "remove")
)))
(defn view
[props header page-content button-component]
[:f> f-view props header page-content button-component])
@@ -1,110 +0,0 @@
(ns status-im2.common.floating-button-page.view2
(:require
[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]
[react-native.safe-area :as safe-area]
[reagent.core :as reagent]
[status-im2.common.floating-button-page.constants :as constants]
[status-im2.common.floating-button-page.style :as style]))
(defn show-button-background
[keyboard-height keyboard-shown content-scroll-y scroll-view-height content-container-height]
(let [button-container-height constants/button-height
keyboard-view-height (+ keyboard-height button-container-height)]
(when keyboard-shown
(if
platform/android?
(< (- scroll-view-height button-container-height) content-container-height)
(< (- scroll-view-height keyboard-view-height) (- content-container-height content-scroll-y))))))
(defn button-container
[{:keys [show-keyboard? keyboard-shown show-background? keyboard-height]} children]
(let [insets (safe-area/get-insets)
height (reagent/atom 0)]
(reset! height (if show-keyboard? (if keyboard-shown keyboard-height 0) 0))
[rn/view {:style {:margin-top :auto}}
(cond
(and (> @height 0) show-background?)
[blur/view
(when keyboard-shown
{:blur-amount 34
:blur-type :transparent
:overlay-color :transparent
:background-color (if platform/android? colors/neutral-100 colors/neutral-80-opa-1-blur)
:style (style/blur-button-container insets)})
children]
(and (> @height 0) (not show-background?))
[rn/view {:style (style/view-button-container true insets)}
children]
(not show-keyboard?)
[rn/view {:style (style/view-button-container false insets)}
children])]))
(defn f-view
[{:keys [button-props button-label]} header children]
(reagent/with-let [scroll-view-height (reagent/atom 0)
content-container-height (reagent/atom 0)
show-keyboard? (reagent/atom false)
content-scroll-y (reagent/atom 0)
show-listener (oops/ocall rn/keyboard
"addListener"
(if platform/android?
"keyboardDidShow"
"keyboardWillShow")
#(reset! show-keyboard? true))
hide-listener (oops/ocall rn/keyboard
"addListener"
(if platform/android?
"keyboardDidHide"
"keyboardWillHide")
#(reset! show-keyboard? false))]
(let [{:keys [keyboard-shown
keyboard-height]} (hooks/use-keyboard)
show-background? (show-button-background keyboard-height
keyboard-shown
@content-scroll-y
@scroll-view-height
@content-container-height)]
[rn/view {:style style/page-container}
header
[rn/scroll-view
{:on-layout (fn [event]
(let [height (oops/oget event "nativeEvent.layout.height")]
(reset! scroll-view-height height)
(reset! content-scroll-y 0)))
:on-scroll (fn [event]
(let [y (oops/oget event "nativeEvent.contentOffset.y")]
(reset! content-scroll-y y)))
:scroll-event-throttle 64
:content-container-style {:flexGrow 1}}
[rn/view
{:on-layout (fn [event]
(let [height (oops/oget event "nativeEvent.layout.height")]
(reset! content-container-height height)))}
[rn/view
children]]]
[rn/keyboard-avoiding-view
{:style style/keyboard-view-style
:pointer-events :box-none}
[button-container
{:show-keyboard? @show-keyboard?
:keyboard-shown keyboard-shown
:show-background? show-background?
:keyboard-height keyboard-height}
[quo/button button-props button-label]]]])
(finally
(oops/ocall show-listener "remove")
(oops/ocall hide-listener "remove"))))
(defn view
[props header children]
[:f> f-view props header children])
+29 -12
View File
@@ -1,12 +1,21 @@
(ns status-im2.common.home.top-nav.view
(:require
[quo.core :as quo]
[react-native.core :as rn]
[status-im.multiaccounts.core :as multiaccounts]
[status-im2.common.home.top-nav.style :as style]
[status-im2.constants :as constants]
[utils.debounce :refer [dispatch-and-chill]]
[utils.re-frame :as rf]))
(defn connectivity-sheet
[]
(let [peers-count (rf/sub [:peers-count])
network-type (rf/sub [:network/type])]
[rn/view
[quo/text {:accessibility-label :peers-network-type-text} (str "NETWORK TYPE: " network-type)]
[quo/text {:accessibility-label :peers-count-text} (str "PEERS COUNT: " peers-count)]]))
(defn view
"[top-nav props]
props
@@ -21,6 +30,7 @@
avatar {:online? online?
:full-name (multiaccounts/displayed-name account)
:profile-picture (multiaccounts/displayed-photo account)}
network-type (rf/sub [:network/type])
unread-count (rf/sub [:activity-center/unread-count])
indicator (rf/sub [:activity-center/unread-indicator])
notification-type (case indicator
@@ -31,15 +41,22 @@
; https://github.com/status-im/status-mobile/issues/17102
nil)]
[quo/top-nav
{:avatar-on-press #(rf/dispatch [:navigate-to :my-profile])
:scan-on-press #(js/alert "to be implemented")
:activity-center-on-press #(rf/dispatch [:activity-center/open])
:qr-code-on-press #(dispatch-and-chill [:open-modal :share-shell] 1000)
:container-style (merge style/top-nav-container container-style)
:blur? blur?
:jump-to? jump-to?
:customization-color customization-color
:avatar-props avatar
:max-unread-notifications constants/activity-center-max-unread-count
:notification-count unread-count
:notification notification-type}]))
{:avatar-on-press #(rf/dispatch [:navigate-to :my-profile])
:scan-on-press #(js/alert "to be implemented")
:activity-center-on-press #(rf/dispatch [:activity-center/open])
:qr-code-on-press #(dispatch-and-chill [:open-modal :share-shell] 1000)
:container-style (merge style/top-nav-container container-style)
:blur? blur?
:jump-to? jump-to?
:customization-color customization-color
:avatar-props avatar
:max-unread-notifications constants/activity-center-max-unread-count
:notification-count unread-count
:notification notification-type
:for-qa-only-cellular-network {:accessibility-label :on-cellular-network
:on-press #(rf/dispatch [:show-bottom-sheet
{:content connectivity-sheet}])}
:for-qa-only-no-network {:accessibility-label :no-network-connection
:on-press #(rf/dispatch [:show-bottom-sheet
{:content connectivity-sheet}])}
:for-qa-only-network-type network-type}]))
+11 -16
View File
@@ -1,6 +1,5 @@
(ns status-im2.contexts.chat.camera.view
(:require
[oops.core :refer [oget]]
[quo.core :as quo]
[quo.foundations.colors :as colors]
[react-native.camera-kit :as camera-kit]
@@ -71,12 +70,13 @@
(defn zoom-buttons
[]
(fn [top insets rotate current-zoom]
[rn/view {:style (style/zoom-container top insets)}
[zoom-button {:value 0.5 :current-zoom current-zoom :rotate rotate}]
[zoom-button {:value 1 :current-zoom current-zoom :rotate rotate}]
[zoom-button {:value 2 :current-zoom current-zoom :rotate rotate}]
[zoom-button {:value 3 :current-zoom current-zoom :rotate rotate}]]))
(let [current-zoom (reagent/atom 1)]
(fn [top insets rotate]
[rn/view {:style (style/zoom-container top insets)}
[zoom-button {:value 0.5 :current-zoom current-zoom :rotate rotate}]
[zoom-button {:value 1 :current-zoom current-zoom :rotate rotate}]
[zoom-button {:value 2 :current-zoom current-zoom :rotate rotate}]
[zoom-button {:value 3 :current-zoom current-zoom :rotate rotate}]])))
(defn- f-bottom-area
@@ -108,7 +108,7 @@
[:f> f-bottom-area args back flip-camera]))
(defn- f-camera-screen
[{:keys [camera-ref uri camera-type current-orientation flash toggle-flash current-zoom]}]
[{:keys [camera-ref uri camera-type current-orientation flash toggle-flash]}]
(let [window (rn/get-window)
{:keys [width height]} window
camera-window-height (* width 1.33)
@@ -140,13 +140,9 @@
{:ref #(reset! camera-ref %)
:style (style/camera-window width camera-window-height top)
:flash-mode (if @flash :on :off)
:camera-type @camera-type
:zoom @current-zoom
:max-zoom 3
:on-zoom (fn [event]
(reset! current-zoom (oget event "nativeEvent.zoom")))}])
:camera-type @camera-type}])
(when-not @uri
[zoom-buttons top insets rotate current-zoom])
[zoom-buttons top insets rotate])
[rn/view {:style (style/confirmation-container insets @uri)}
[quo/text
{:on-press on-press
@@ -175,6 +171,5 @@
:camera-type (reagent/atom camera-kit/camera-type-back)
:current-orientation (atom orientation/portrait)
:flash flash
:toggle-flash #(swap! flash not)
:current-zoom (reagent/atom 1)}]
:toggle-flash #(swap! flash not)}]
[:f> f-camera-screen args]))
@@ -4,7 +4,6 @@
[quo.foundations.colors :as colors]
[react-native.core :as rn]
[react-native.gesture :as gesture]
[react-native.platform :as platform]
[react-native.reanimated :as reanimated]
[status-im2.contexts.chat.photo-selector.album-selector.style :as style]
[utils.i18n :as i18n]
@@ -62,25 +61,15 @@
(defn- f-album-selector
[{:keys [scroll-enabled on-scroll]} album? selected-album top]
(let [albums (rf/sub [:camera-roll/albums])
total-photos-count-android (rf/sub [:camera-roll/total-photos-count-android])
total-photos-count-ios (rf/sub [:camera-roll/total-photos-count-ios])
albums-sections [{:title no-title
:data [(assoc (:smart-album albums)
:count
(if platform/ios?
total-photos-count-ios
total-photos-count-android))]}
{:title (i18n/label :t/my-albums)
:data (:my-albums albums)}]
window-height (:height (rn/get-window))]
(let [albums (rf/sub [:camera-roll/albums])
albums-sections [{:title no-title :data (:smart-albums albums)}
{:title (i18n/label :t/my-albums) :data (:my-albums albums)}]
window-height (:height (rn/get-window))]
[reanimated/view {:style (style/selector-container top)}
[gesture/section-list
{:data albums-sections
:sections albums-sections
:render-data {:album? album?
:selected-album selected-album
:top top}
:render-data {:album? album? :selected-album selected-album :top top}
:render-fn render-album
:sticky-section-headers-enabled false
:render-section-header-fn section-header
@@ -6,7 +6,6 @@
[react-native.core :as rn]
[react-native.image-resizer :as image-resizer]
[react-native.permissions :as permissions]
[react-native.platform :as platform]
[status-im2.constants :as constants]
[taoensso.timbre :as log]
[utils.i18n :as i18n]
@@ -57,25 +56,25 @@
(defn get-albums
[callback]
(let [albums (atom {:smart-album []
:my-albums []})]
(let [albums (atom {:smart-albums []
:my-albums []})]
;; Get the "recent" album first
(cameraroll/get-photos
{:first 1 :groupTypes "All" :assetType "Photos"}
{:first 1 :groupTypes "All"}
(fn [res-recent]
(swap! albums assoc
:smart-album
{:title (i18n/label :t/recent)
:uri (get-in (first (:edges res-recent)) [:node :image :uri])})
:smart-albums
[{:title (i18n/label :t/recent)
:uri (get-in (first (:edges res-recent)) [:node :image :uri])}])
;; Get albums, then loop over albums and get each one's cover (first photo)
(cameraroll/get-albums
{:assetType "Photos"}
{:assetType :Photos}
(fn [res-albums]
(let [response-count (count res-albums)]
(if (pos? response-count)
(doseq [album res-albums]
(cameraroll/get-photos
{:first 1 :groupTypes "Albums" :groupName (:title album) :assetType "Photos"}
{:first 1 :groupTypes "Albums" :groupName (:title album)}
(fn [res]
(let [uri (get-in (first (:edges res)) [:node :image :uri])]
(swap! albums update :my-albums conj (merge album {:uri uri}))
@@ -84,42 +83,21 @@
(callback @albums))))))
(callback @albums)))))))))
(defn get-photos-count-ios-fx
[cb]
(cameraroll/get-photos-count-ios cb))
(re-frame/reg-fx
:camera-roll-get-albums
(fn []
(get-albums #(re-frame/dispatch [:on-camera-roll-get-albums %]))))
(re-frame/reg-fx
:camera-roll-get-photos-count-ios
(fn []
(when platform/ios?
(get-photos-count-ios-fx #(re-frame/dispatch [:on-camera-roll-get-images-count-ios %])))))
(rf/defn on-camera-roll-get-albums
{:events [:on-camera-roll-get-albums]}
[{:keys [db]} albums]
{:db (assoc db :camera-roll/albums albums)
:dispatch [:photo-selector/camera-roll-get-ios-photo-count]})
(rf/defn get-photos-count-ios
{:events [:on-camera-roll-get-images-count-ios]}
[{:keys [db]} count]
{:db (assoc db :camera-roll/ios-images-count count)})
{:db (assoc db :camera-roll/albums albums)})
(rf/defn camera-roll-get-albums
{:events [:photo-selector/camera-roll-get-albums]}
[_]
{:camera-roll-get-albums nil})
(rf/defn camera-roll-get-ios-photo-count
{:events [:photo-selector/camera-roll-get-ios-photo-count]}
[_]
{:camera-roll-get-photos-count-ios nil})
(rf/defn camera-roll-select-album
{:events [:chat.ui/camera-roll-select-album]}
[{:keys [db]} album]
@@ -125,7 +125,7 @@
[album-selector/album-selector sheet album? selected-album top])
[:<>
[gesture/flat-list
{:key-fn #(hash (:uri %))
{:key-fn identity
:render-fn render-image
:render-data {:window-width window-width :selected selected-images}
:data camera-roll-photos
@@ -190,16 +190,16 @@
:icon-color (when (= :default info-type) colors/white-70-blur)
:style style/info-message}
info-message]
[rn/view {:style {:margin-top 80}}
[quo/text
{:size :paragraph-2
:weight :medium
:style style/color-title}
(i18n/label :t/accent-colour)]]
[quo/text
{:size :paragraph-2
:weight :medium
:style style/color-title}
(i18n/label :t/accent-colour)]
[quo/color-picker
{:blur? true
:default-selected :blue
:on-change on-change}]]]]]
[rn/keyboard-avoiding-view
{:style {:position :absolute
:top 0
@@ -119,7 +119,6 @@
numbered-keyboard]
[status-im2.contexts.quo-preview.onboarding.small-option-card :as
small-option-card]
[status-im2.contexts.quo-preview.other-components.view :as other-components]
[status-im2.contexts.quo-preview.password.tips :as tips]
[status-im2.contexts.quo-preview.profile.collectible :as collectible]
[status-im2.contexts.quo-preview.profile.profile-card :as profile-card]
@@ -175,9 +174,7 @@
[utils.re-frame :as rf]))
(def screens-categories
{:other-components [{:name :other-components
:component other-components/view}]
:foundations [{:name :shadows
{:foundations [{:name :shadows
:component shadows/view}]
:animated-list [{:name :animated-header-list
:component animated-header-list/mock-screen}]
@@ -411,13 +408,13 @@
:switchers [{:name :group-messaging-card
:component group-messaging-card/view}
{:name :switcher-cards
:component switcher-cards/view}]
:component switcher-cards/preview-switcher-cards}]
:tabs [{:name :segmented
:component segmented/view}
:component segmented/preview-segmented}
{:name :tabs
:component tabs/view}
:component tabs/preview-tabs}
{:name :account-selector
:component account-selector/view}]
:component account-selector/preview-this}]
:tags [{:name :context-tags
:component context-tags/preview-context-tags}
{:name :network-tags
@@ -435,7 +432,7 @@
{:name :token-tag
:component token-tag/preview-token-tag}]
:text-combinations [{:name :text-combinations
:component text-combinations/view}]
:component text-combinations/preview}]
:wallet [{:name :account-card :component account-card/preview-account-card}
{:name :account-origin :component account-origin/view}
{:name :account-overview
@@ -1 +0,0 @@
(ns status-im2.contexts.quo-preview.other-components.style)
@@ -1,116 +0,0 @@
(ns status-im2.contexts.quo-preview.other-components.view
(:require [quo.core :as quo]
[re-frame.core :as rf]
[react-native.core :as rn]
[react-native.safe-area :as safe-area]
[reagent.core :as reagent]
[status-im2.common.floating-button-page.view :as floating-button-page]))
(defn view
[]
(let [button-pressed? (reagent/atom false)
acc-height (reagent/atom 300)]
(fn []
[rn/view
{:margin-top (safe-area/get-top)
:flex 1
:border-width 1
:border-color :green}
#_[rn/view
{:style {:position :absolute
:top 0
:bottom 0
:left 0
:right 0}}
[rn/image
{:style {:flex 1}
:source (resources/get-mock-image :dark-blur-bg)}]]
#_[rn/view
{:style {:position :absolute
:top 10
:left 10
:right 10
:background-color :yellow
:height 730
:z-index 10}}]
[floating-button-page/view
{:blur? false}
#_#_:button-props
{:container-style {:z-index 2}
:customization-color :army
:on-press #(js/alert "to be implemented")}
;:button-label "Save address"
[quo/page-nav
{:type :no-title
:text-align :left
:right-side []
:background :blur
:icon-name :i/close
:on-press #(rf/dispatch [:navigate-back])}]
[rn/view
{:style {:flex 1
;:height @acc-height
:overflow :hidden}}
[quo/input
{:label "label"
:value "value"}]
[quo/input
{:label "label"
:value "value"}]
[quo/input
{:label "label"
:value "value"}]
[quo/input
{:label "label"
:value "value"}]
[quo/input
{:label "label"
:value "value"}]
[quo/input
{:label "label"
:value "value"}]
[quo/input
{:label "label"
:value "value"}]
[quo/input
{:label "label"
:value "value"}]
[quo/input
{:label "label"
:value "value"}]
[quo/input
{:label "label"
:value "value"}]
[quo/input
{:label "label"
:value "value"}]
[quo/input
{:label "label"
:value "value"}]]
[quo/button
{:container-style {:z-index 2}
:customization-color (if @button-pressed? :army :blue)
:on-press (fn []
(prn @acc-height)
(swap! acc-height + 20)
(swap! button-pressed? not))} ;#(js/alert "to be implemented")
"Save address"]
]
#_[rn/view
{:position :absolute
:top -44
:bottom 0
:left 10
:right 200
:height 460
:border-width 1
:border-color :purple
:background-color :yellow
:z-index 50}]
])))
@@ -58,7 +58,6 @@
:type :text}
(preview/customization-color-option)])
(defn view
[]
(let [media-server-port (rf/sub [:mediaserver/port])
@@ -6,27 +6,46 @@
[status-im2.contexts.quo-preview.preview :as preview]))
(def descriptor
[{:key :title :type :text}
{:key :status
[{:label "Title"
:key :title
:type :text}
{:label "Status"
:key :status
:type :select
:options [{:key :read}
{:key :unread}
{:key :mention}]}
{:key :counter-label :type :text}
{:key :type
:options [{:key :read
:value :read}
{:key :unread
:value :unread}
{:key :mention
:value :mention}]}
{:label "Counter Label"
:key :counter-label
:type :text}
{:label "Type"
:key :type
:type :select
:options [{:key :message
:value :text}
{:key :photo}
{:key :sticker}
{:key :gif}
{:key :audio}
{:key :community}
{:key :link}
{:key :photo
:value :photo}
{:key :sticker
:value :sticker}
{:key :gif
:value :gif}
{:key :audio
:value :audio}
{:key :community
:value :community}
{:key :link
:value :link}
{:key :code
:value :code-snippet}]}
{:key :last-message :type :text}
{:key :avatar? :type :boolean}
{:label "Last Message"
:key :last-message
:type :text}
{:label "Avatar:"
:key :avatar?
:type :boolean}
(preview/customization-color-option)])
;; Mock data
@@ -1,6 +1,7 @@
(ns status-im2.contexts.quo-preview.switcher.switcher-cards
(:require
[quo.foundations.colors :as colors]
[react-native.core :as rn]
[reagent.core :as reagent]
[status-im2.common.resources :as resources]
[status-im2.constants :as constants]
@@ -9,7 +10,8 @@
[status-im2.contexts.shell.jump-to.constants :as shell.constants]))
(def descriptor
[{:key :type
[{:label "Type"
:key :type
:type :select
:options [{:key shell.constants/communities-discover
:value "Communities Discover"}
@@ -31,15 +33,27 @@
:value "Wallet Graph"}
{:key shell.constants/empty-card
:value "Empty Card"}]}
{:key :title :type :text}
{:key :new-notifications? :type :boolean}
{:key :banner? :type :boolean}
{:key :notification-indicator
{:label "Title"
:key :title
:type :text}
{:label "New Notifications?"
:key :new-notifications?
:type :boolean}
{:label "Banner?"
:key :banner?
:type :boolean}
{:label "Notification Indicator"
:key :notification-indicator
:type :select
:options [{:key :counter}
{:key :unread-dot}]}
{:key :counter-label :type :text}
{:key :content-type
:options [{:key :counter
:value :counter}
{:key :unread-dot
:value :unread-dot}]}
{:label "Counter Label"
:key :counter-label
:type :text}
{:label "Content Type"
:key :content-type
:type :select
:options [{:key constants/content-type-text
:value :text}
@@ -55,10 +69,21 @@
:value :community}
{:key constants/content-type-link
:value :link}]}
{:key :last-message :type :text}
(preview/customization-color-option)])
{:label "Last Message"
:key :last-message
:type :text}
{:label "Customization"
:key :customization-color
:type :select
:options
(map
(fn [c]
{:key c
:value c})
(keys colors/customization))}])
;; Mocked Data
(def banner (resources/get-mock-image :community-banner))
(def sticker {:source (resources/get-mock-image :sticker)})
(def community-avatar {:source (resources/get-mock-image :community-logo)})
@@ -126,7 +151,7 @@
:else
{})))
(defn view
(defn preview-switcher-cards
[]
(let [state (reagent/atom {:type shell.constants/private-group-chat-card
:title "Alisher Yakupov"
@@ -140,7 +165,10 @@
:preview-label-color colors/white})]
(fn []
[preview/preview-container
{:state state
:descriptor descriptor
:component-container-style {:padding-vertical 60}}
[switcher-cards/card (get-mock-data @state)]])))
{:state state
:descriptor descriptor}
[rn/view {:padding-bottom 150}
[rn/view
{:padding-vertical 60
:align-items :center}
[switcher-cards/card (get-mock-data @state)]]]])))
@@ -1,14 +1,23 @@
(ns status-im2.contexts.quo-preview.tabs.account-selector
(:require
[quo.core :as quo]
[quo.components.tabs.account-selector :as quo]
[react-native.core :as rn]
[reagent.core :as reagent]
[status-im2.contexts.quo-preview.preview :as preview]))
(def descriptor
[{:key :show-label? :type :boolean}
{:key :transparent? :type :boolean}
{:key :account-text :type :text}
{:key :label-text :type :text}])
[{:label "Show Label?:"
:key :show-label?
:type :boolean}
{:label "Transparent Background?:"
:key :transparent?
:type :boolean}
{:label "Account Text"
:key :account-text
:type :text}
{:label "Label Text"
:key :label-text
:type :text}])
;; keeping this unused data structure in the code for now
;; will reference them when I introduce multiple account support
@@ -37,7 +46,7 @@
:account-emoji "🍟"
:label-text "Label 3"}])
(defn view
(defn preview-this
[]
(let [state (reagent/atom {:show-label? true
:transparent? false
@@ -47,7 +56,10 @@
:label-text "Label"})]
(fn []
[preview/preview-container
{:state state
:descriptor descriptor
:component-container-style {:padding-vertical 60}}
[quo/account-selector @state]])))
{:state state
:descriptor descriptor}
[rn/view {:padding-bottom 150}
[rn/view
{:padding-vertical 60
:align-items :center}
[quo/account-selector @state]]]])))
@@ -1,44 +1,50 @@
(ns status-im2.contexts.quo-preview.tabs.segmented-tab
(:require
[quo.core :as quo]
[quo.components.tabs.segmented-tab :as quo]
[quo.theme :as theme]
[react-native.core :as rn]
[reagent.core :as reagent]
[status-im2.contexts.quo-preview.preview :as preview]))
(def descriptor
[{:key :size
[{:label "Size:"
:key :size
:type :select
:options [{:key 28
:value "28"}
{:key 20
:value "20"}]}
{:key :blur?
:type :boolean}])
{:label "Blur?"
:key :blur?
:type :boolean}])
(defn view
(defn preview-segmented
[]
(let [state (reagent/atom {:size 32
:blur? false})]
(fn []
[preview/preview-container
{:state state
:descriptor descriptor
:blur? (:blur? @state)
:show-blur-background? true
:component-container-style {:padding-vertical 60}}
[:<>
[quo/segmented-control
(assoc @state
:default-active 1
:data [{:id 1 :label "Tab 1"}
{:id 2 :label "Tab 2"}
{:id 3 :label "Tab 3"}
{:id 4 :label "Tab 4"}]
:on-change #(println "Active tab" %))]
[rn/view {:style {:padding-top 24}}
[quo/segmented-control
(assoc @state
:default-active 1
:data [{:id 1 :label "Tab 1"}
{:id 2 :label "Tab 2"}]
:on-change #(println "Active tab" %))]]]])))
{:state state
:descriptor descriptor}
[rn/view {:padding-bottom 150}
[preview/blur-view
{:show-blur-background? (:blur? @state)
:height 200
:style {:width "100%"}
:blur-view-props {:blur-type (theme/get-theme)}}
[:<>
[quo/segmented-control
(merge @state
{:default-active 1
:data [{:id 1 :label "Tab 1"}
{:id 2 :label "Tab 2"}
{:id 3 :label "Tab 3"}
{:id 4 :label "Tab 4"}]
:on-change #(println "Active tab" %)})]
[rn/view {:style {:padding-top 24}}
[quo/segmented-control
(merge @state
{:default-active 1
:data [{:id 1 :label "Tab 1"}
{:id 2 :label "Tab 2"}]
:on-change #(println "Active tab" %)})]]]]]])))
@@ -1,18 +1,24 @@
(ns status-im2.contexts.quo-preview.tabs.tabs
(:require
[quo.core :as quo]
[react-native.core :as rn]
[reagent.core :as reagent]
[status-im2.contexts.quo-preview.preview :as preview]))
(def descriptor
[{:key :size
[{:label "Size:"
:key :size
:type :select
:options [{:key 32
:value "32"}
{:key 24
:value "24"}]}
{:key :unread-indicators? :type :boolean}
{:key :scrollable? :type :boolean}])
{:label "Show unread indicators?"
:key :unread-indicators?
:type :boolean}
{:label "Scrollable:"
:key :scrollable?
:type :boolean}])
(defn generate-tab-items
[length unread-indicators?]
@@ -22,25 +28,27 @@
:label (str "Tab " (inc index))
:notification-dot? (and unread-indicators? (zero? (rem index 2)))}))
(defn view
(defn preview-tabs
[]
(let [state (reagent/atom {:size 32
:scrollable? false})]
(fn []
[preview/preview-container
{:state state
:descriptor descriptor
:component-container-style {:padding-vertical 60
:padding-horizontal 20
:flex-direction :row
:justify-content :center}}
[quo/tabs
(merge @state
{:default-active 1
:data (generate-tab-items (if (:scrollable? @state) 15 4)
(:unread-indicators? @state))
:on-change #(println "Active tab" %)}
(when (:scrollable? @state)
{:scroll-on-press? true
:fade-end-percentage 0.4
:fade-end? true}))]])))
{:state state
:descriptor descriptor}
[rn/view {:padding-bottom 150}
[rn/view
{:padding-vertical 60
:padding-horizontal 20
:flex-direction :row
:justify-content :center}
[quo/tabs
(merge @state
{:default-active 1
:data (generate-tab-items (if (:scrollable? @state) 15 4)
(:unread-indicators? @state))
:on-change #(println "Active tab" %)}
(when (:scrollable? @state)
{:scroll-on-press? true
:fade-end-percentage 0.4
:fade-end? true}))]]]])))
@@ -1,15 +1,28 @@
(ns status-im2.contexts.quo-preview.text-combinations.preview
(:require
[quo.core :as quo]
[quo.components.text-combinations.view :as quo]
[react-native.core :as rn]
[reagent.core :as reagent]
[status-im2.common.resources :as resources]
[status-im2.contexts.quo-preview.preview :as preview]))
(def descriptor
[{:key :title :type :text}
{:key :avatar :type :boolean}
{:key :description
:type :text}])
[{:label "Title"
:key :title
:type :text}
{:label :avatar
:key :avatar
:type :boolean}
{:label "Description type:"
:key :description
:type :select
:options [{:key :none
:value nil}
{:key :description
:value :description}]}
{:label "Description text"
:key :description-props
:type :text}])
(defn state->text-combinations-props
[state]
@@ -17,15 +30,20 @@
(assoc state :avatar (resources/get-mock-image :user-picture-male4))
state))
(defn view
(defn preview
[]
(let [state (reagent/atom {:title "Title"
:title-accessibility-label :title
:description ""
:description nil
:description-props ""
:description-accessibility-label :subtitle})]
(fn []
[preview/preview-container
{:state state
:descriptor descriptor
:component-container-style {:padding-vertical 60}}
[quo/text-combinations (state->text-combinations-props @state)]])))
{:state state
:descriptor descriptor}
[rn/view {:padding-bottom 150}
[rn/view
{:padding-vertical 60
:align-items :center}
[quo/view
(state->text-combinations-props @state)]]]])))
@@ -1,19 +0,0 @@
(ns status-im2.contexts.wallet.common.account-subtitle.view
(:require [quo.core :as quo]
[quo.foundations.colors :as colors]))
(defn view
[{:keys [address theme networks]}]
[quo/text {:size :paragraph-2}
(map (fn [{:keys [short-name network-name]}]
^{:key (str network-name)}
[quo/text
{:size :paragraph-2
:weight :medium
:style {:color (colors/resolve-color network-name theme)}}
(str short-name ":")])
networks)
[quo/text
{:size :paragraph-2
:weight :monospace}
address]])
+25 -31
View File
@@ -7,7 +7,6 @@
[status-im2.common.resources :as status.resources]
[status-im2.constants :as constants]
[status-im2.contexts.wallet.common.utils :as utils]
[status-im2.contexts.wallet.save-address.view :as save-address]
[utils.i18n :as i18n]
[utils.re-frame :as rf]))
@@ -27,14 +26,8 @@
"Navigate to Account"]
[quo/button {:on-press #(rf/dispatch [:navigate-to :wallet-create-account])}
"Create Account"]
[quo/button
{:on-press #(rf/dispatch [:open-modal :wallet-save-address
{:sheet? true
:theme :light
:gradient-cover? true
:customization-color :blue
:content save-address/view}])}
"Save Address Bottom Sheet"]])
[quo/button {:on-press #(rf/dispatch [:navigate-to :wallet-saved-addresses])}
"Saved Addresses"]])
(def wallet-overview-state
{:state :default
@@ -89,28 +82,29 @@
:id 6}])
(def collectible-details
{:name "#5946"
:description "Bored Ape Yacht Club"
:image (status.resources/get-mock-image :collectible-monkey)
:collection-image (status.resources/get-mock-image :bored-ape)
:traits [{:title "Background"
:subtitle "Blue"
:id 1}
{:title "Clothes"
:subtitle "Bayc T Black"
:id 2}
{:title "Eyes"
:subtitle "Sleepy"
:id 3}
{:title "Fur"
:subtitle "Black"
:id 4}
{:title "Hat"
:subtitle "Beanie"
:id 5}
{:title "Mouth"
:subtitle "Bored Pipe"
:id 6}]})
nil
#_{:name "#5946"
:description "Bored Ape Yacht Club"
:image (status.resources/get-mock-image :collectible-monkey)
:collection-image (status.resources/get-mock-image :bored-ape)
:traits [{:title "Background"
:subtitle "Blue"
:id 1}
{:title "Clothes"
:subtitle "Bayc T Black"
:id 2}
{:title "Eyes"
:subtitle "Sleepy"
:id 3}
{:title "Fur"
:subtitle "Black"
:id 4}
{:title "Hat"
:subtitle "Beanie"
:id 5}
{:title "Mouth"
:subtitle "Bored Pipe"
:id 6}]})
(def account-overview-state
{:current-value "€0.00"
@@ -1,13 +0,0 @@
(ns status-im2.contexts.wallet.save-address.style
(:require
[quo.foundations.colors :as colors]))
(def color-picker-container
{:padding-vertical 12})
(defn color-label
[theme]
{:color (colors/theme-colors colors/neutral-50 colors/neutral-40 theme)
:padding-bottom 4
:padding-horizontal 20})
@@ -1,87 +0,0 @@
(ns status-im2.contexts.wallet.save-address.view
(:require
[quo.core :as quo]
[quo.theme :as quo.theme]
[re-frame.core :as rf]
[react-native.core :as rn]
[reagent.core :as reagent]
[status-im2.common.floating-button-page.view :as floating-button-page]
[status-im2.contexts.wallet.common.account-subtitle.view :as subtitle]
[status-im2.contexts.wallet.save-address.style :as style]
[utils.i18n :as i18n]))
(defn- f-view
[_]
(let [account-color (reagent/atom :blue)
address-name (reagent/atom "")
address (reagent/atom "0x39cf6E0Ba4C4530735616e1Ee7ff5FbCB726fBd2")]
(fn [{:keys [theme]}]
[floating-button-page/view
[quo/page-nav
{:type :no-title
:text-align :left
:right-side []
:background :blur
:icon-name :i/close
:on-press #(rf/dispatch [:dismiss-modal :wallet-save-address])}]
[rn/view {:style {:flex 1}}
[quo/wallet-user-avatar
{:container-style {:margin-bottom 12
:margin-horizontal 20}
:f-name @address-name
:l-name @address-name
:customization-color @account-color}]
[quo/title-input
{:blur? true
:on-change-text #(reset! address-name %)
:auto-focus true
:placeholder "Address Name"
:max-length 24
:container-style {:margin-bottom 16
:margin-horizontal 20}}]
[quo/divider-line]
[rn/view
{:style style/color-picker-container}
[quo/text
{:size :paragraph-2
:weight :medium
:style (style/color-label theme)}
(i18n/label :t/colour)]
[quo/color-picker
{:default-selected @account-color
:on-change #(reset! account-color %)
:container-style {:padding-horizontal 12
:padding-vertical 12}}]]
[quo/divider-line]
[quo/data-item
{:container-style {:margin-top 20
:margin-horizontal 20}
:description :default
:on-press #(js/alert "to be implemented")
:icon-right? true
:right-icon :i/advanced
:card? true
:label :none
:status :default
:size :default
:title "Address"
:customization-color @account-color
:custom-subtitle (fn [] [subtitle/view
{:networks [{:short-name "eth"
:network-name :ethereum}
{:short-name "arb1"
:network-name :arbitrum}
{:short-name "opt"
:network-name :optimism}]
:address @address}])}]]
[quo/button
{:container-style {:z-index 2}
:customization-color @account-color
:on-press #(js/alert "to be implemented")}
"Save address"]])))
(defn view-internal [props] [:f> f-view props])
(def view (quo.theme/with-theme view-internal))
@@ -0,0 +1,16 @@
(ns status-im2.contexts.wallet.saved-address.view
(:require
[quo.core :as quo]
[re-frame.core :as rf]
[react-native.core :as rn]))
(defn view
[]
[rn/view
{:style {:flex 1
:align-items :center
:justify-content :center}}
[quo/text {} "SAVED ADDRESS"]
[quo/button {:on-press #(rf/dispatch [:navigate-back])}
"NAVIGATE BACK"]])
@@ -14,5 +14,6 @@
[quo/text {} "SAVED ADDRESSES"]
[quo/button {:on-press #(rf/dispatch [:navigate-to :wallet-saved-address])}
"NAVIGATE TO SAVED ADDRESS"]
[quo/divider-label]
[quo/button {:on-press #(rf/dispatch [:navigate-back])}
"NAVIGATE BACK"]])
+3 -3
View File
@@ -41,7 +41,7 @@
[status-im2.contexts.wallet.collectible.view :as wallet-collectible]
[status-im2.contexts.wallet.create-account.view :as wallet-create-account]
[status-im2.contexts.wallet.edit-account.view :as wallet-edit-account]
[status-im2.contexts.wallet.save-address.view :as wallet-save-address]
[status-im2.contexts.wallet.saved-address.view :as wallet-saved-address]
[status-im2.contexts.wallet.saved-addresses.view :as wallet-saved-addresses]
[status-im2.contexts.wallet.scan-account.view :as scan-address]
[status-im2.contexts.wallet.send.select-address.view :as wallet-select-address]
@@ -256,8 +256,8 @@
{:name :wallet-create-account
:component wallet-create-account/view}
{:name :wallet-save-address
:component wallet-save-address/view}
{:name :wallet-saved-address
:component wallet-saved-address/view}
{:name :wallet-saved-addresses
:component wallet-saved-addresses/view}
-15
View File
@@ -454,18 +454,3 @@
[(re-frame/subscribe [:chats/chat (str community-id channel-id)])])
(fn [[chat]]
(:muted? chat)))
(re-frame/reg-sub
:camera-roll/total-photos-count-android
(fn [{:keys [camera-roll/albums]}]
(->> albums
:my-albums
(reduce
(fn [total-album-count current-album]
(+ total-album-count (:count current-album)))
0))))
(re-frame/reg-sub
:camera-roll/total-photos-count-ios
(fn [{:keys [camera-roll/ios-images-count]}]
ios-images-count))
+3 -3
View File
@@ -3,7 +3,7 @@
"_comment": "Instead use: scripts/update-status-go.sh <rev>",
"owner": "status-im",
"repo": "status-go",
"version": "v0.171.1",
"commit-sha1": "3326362b90ba3b853118ac0aa3be8502fc1aed4f",
"src-sha256": "1npjwhvckmldjy1p7mc6rml8i21mb23409mgl13dzysmlqkppqb1"
"version": "build_test_b",
"commit-sha1": "472374bb39824afefa11adc153387557fc36bd7a",
"src-sha256": "1srysz1y2l4jcdmcs0aa3qp7q6qn2pdfmqd8znnbz18mcjdhm9i5"
}
@@ -145,7 +145,7 @@ class TestActivityCenterContactRequestMultipleDevicePR(MultipleSharedDeviceTestC
self.device_2.create_user(third_user=True, username=new_username_2)
self.device_2.just_fyi('Device2 sends a contact request to Device1 using his profile link')
self.home_2.driver.set_clipboard_text("https://status.app/u/" + self.public_key_1)
self.home_2.driver.set_clipboard_text("https://join.status.im/u/" + self.public_key_1)
self.home_2.chats_tab.click()
self.home_2.new_chat_button.click_until_presence_of_element(self.home_2.add_a_contact_chat_bottom_sheet_button)
self.home_2.add_a_contact_chat_bottom_sheet_button.click()
+15 -8
View File
@@ -2188,10 +2188,6 @@
dependencies:
merge-options "^3.0.4"
"@react-native-camera-roll/camera-roll@git+https://github.com/status-im/react-native-camera-roll.git#refs/tags/v5.1.1.1":
version "5.10.0"
resolved "git+https://github.com/status-im/react-native-camera-roll.git#174f8c6ad88e5bad9d9bd207f42173e567ec3138"
"@react-native-community/audio-toolkit@git+https://github.com/tbenr/react-native-audio-toolkit.git#refs/tags/v2.0.3-status-v6":
version "2.0.3"
resolved "git+https://github.com/tbenr/react-native-audio-toolkit.git#7ae9055cf6169b30f5089bda7bfcfc1c40a715e5"
@@ -2204,6 +2200,10 @@
version "4.3.3"
resolved "git+https://github.com/status-im/react-native-blur#c140cc8e7d54e3318af0a7c149b5d64b54de3419"
"@react-native-community/cameraroll@git+https://github.com/status-im/react-native-cameraroll.git#refs/tags/v4.0.4-status.0":
version "4.0.4"
resolved "git+https://github.com/status-im/react-native-cameraroll.git#337c5a515e9b0f0728882f73568075553415f523"
"@react-native-community/cli-clean@^8.0.4":
version "8.0.4"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-8.0.4.tgz#97e16a20e207b95de12e29b03816e8f2b2c80cc7"
@@ -7018,6 +7018,11 @@ lodash@^3.10.0:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=
lodash@^4.14.2:
version "4.17.19"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
lodash@^4.17.10, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15:
version "4.17.15"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
@@ -8769,10 +8774,12 @@ react-native-blob-util@^0.13.18:
base-64 "0.1.0"
glob "^7.1.6"
react-native-camera-kit@14.0.0-beta13:
version "14.0.0-beta13"
resolved "https://registry.yarnpkg.com/react-native-camera-kit/-/react-native-camera-kit-14.0.0-beta13.tgz#7d1c40571e7e7ce2c4b6bd6f58807f7573217c3c"
integrity sha512-49q6l/Y3j1QMUDPGqIqkUzdraNtKWVQz5X4U8qfixSe+MeWe0N1vWlWWr8iH1apxQCS5v0dKPlYot0e3VKy05g==
react-native-camera-kit@^13.0.0:
version "13.0.0"
resolved "https://registry.yarnpkg.com/react-native-camera-kit/-/react-native-camera-kit-13.0.0.tgz#983d9146cdeb0ec0cb0c0a86b7fa5f7690df08f6"
integrity sha512-fnkyivCG2xzS+14/doP8pCAYNafYaTyg5J0t+JJltJdgKSHf328OG44Rd+fnbbEOydZxgy/bcuLB24R0kCbynw==
dependencies:
lodash "^4.14.2"
react-native-codegen@^0.69.2:
version "0.69.2"