93 Commits

Author SHA1 Message Date
flexsurfer
723573833e
[#17357] move status-im.async-storage.core (#17380) 2023-09-25 12:45:39 +02:00
flexsurfer
ddd0796381
[#17355] status-im.utils.image-processing (#17356) 2023-09-20 16:14:53 +02:00
Mohamed Javid
0003800f05
Implement Emoji Picker (#17195)
This commit adds Emoji Picker in the app for usage in Message Composer and Wallet Account.

---------

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2023-09-13 23:08:13 +05:30
Icaro Motta
857c9c2f74
Unshadow remaining core & non-core vars (#17138)
Unshadows all remaining vars in status-mobile, including non
cljs.core/clojure.core ones. The only exceptions are cljs.core/type and
cljs.core/name (which happen quite often, so I'm not sure if it's worth
unshadowing them).
2023-09-01 11:54:53 +00:00
Icaro Motta
1ac7c2f965
Fix: missing community logo in Activity Center (#17159)
The bug was caused, again, by the fact that the component react-native/image
source was a string and it was not wrapped inside the map {:uri "..."}. The
bug was likely introduced by commit 255a3b917265d381fed57e26422277b4cc8772e4

I decided to change react-native.image for good, similarly to what we do in
react-native/fast-image
(ebd38295c6/src/react_native/fast_image.cljs (L21))
so we can prevent this type of bug in the future.

Fixes https://github.com/status-im/status-mobile/issues/17157
2023-09-01 11:31:19 +00:00
Omar Basem
e0f83384a2
Quo2 Wallet: Network Link (#17049)
* Quo2 Wallet: Network Link component
2023-08-23 12:53:45 +04:00
yqrashawn
a6710f902f
feat: render all avatars using media server (#16193) 2023-08-15 09:59:40 +08:00
Ulises Manuel Cárdenas
79bf4bb8d5
[#16437] Fix sync QR code not recognized after trying again (#16746)
* Add bind-component function to `react-native.navigation`

* Create helper function to use react-native-navigation lifecycle methods

* Fix sync QR code not recognized after trying again & refactor

* Add atom to manage callbacks when qr code scan fails
2023-08-08 11:53:05 -06:00
Ulises Manuel Cárdenas
7ad378e9c8
[#16709] chat home banner animation (#16823)
* Small typo fix
* Move header-spacing & empty-state to common.home namespace
* Create common animated banner component for chats and communities
* Add animated banner to chats tab
2023-08-03 13:29:44 -06:00
Parvesh Monu
109061a112
Enable layout animations by default (#16832)
Co-authored-by: Jamie Caprani <jamiecaprani@gmail.com>
2023-08-03 18:53:15 +05:30
Brian Sztamfater
21807cb761
feat: implement wallet graph component (#16789)
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-08-01 11:10:16 -03:00
Icaro Motta
238e35a281
Unshadow more Clojure core vars (#16777)
This is a continuation of https://github.com/status-im/status-mobile/pull/16500 (Lint
& fix some shadowed core Clojure(Script) vars).

Notes: As a reminder, the goal is to eventually disallow shadowing core Clojure
vars entirely, but to get there and avoid rebase hell and regressions, we need
to do in smaller steps, especially because we can't safely automate the process
of unshadowing vars.

We are already down from ~500 shadowed core vars to 350 in total.

Why is this PR is using names such as "s", "v" or "sym"? Names such as s or v
are the so called idiomatic names, and are listed in the Clojure Style Guide
https://guide.clojure.style/#idiomatic-names. I used them whenever I felt
appropriate. For the var cljs.core/symbol I opted to use sym, even though the
symbol in question is not necessarily a Clojure symbol, I think the alias
conveys the meaning well enough
(https://www.clojure.org/guides/learn/syntax#_symbols_and_idents).

New vars linted:

- comparator
- identity
- str
- symbol
- val

Outstanding shadowed vars include type, name, hash, comp.
2023-07-26 11:26:12 +00:00
Omar Basem
e49a3ab5cd
feat: category reorder component (#16719)
* feat: category reorder component

---------

Co-authored-by: Milad <mmilad.sanati@gmail.com>
2023-07-26 11:11:17 +04:00
Omar Basem
e33c877989
feat: camera screen (1/2) (#16569)
* feat: camera screen (1/2)
2023-07-24 16:46:43 +04:00
Icaro Motta
6170686e34
Rewrite Community List component (#16527)
Re-implements the component Community List according to guidelines
and, most importantly, fixes a bunch of issues and tries to achieve 100%
compatibility with Figma.

The new implementation is trying to mirror Figma properties as much as possible.

Fixes https://github.com/status-im/status-mobile/issues/16447

Changelog:

- Refactor to guidelines.
- Fix: original implementation in money/format-amounts had a bug caught by new
  unit tests ("1000000" was formatted incorrectly).
- Fix: Community permission tag correct background when theme is overridden and
  when blur is enabled.
- Fix: Notification dot uses correct colors for dark mode and blur variants.
- Fix: Community stats background when blur is enabled.
- Fix: Community stats icon color when blur is enabled.
- Add: The component's Quo preview screen is smarter and will only show form
  fields (aka descriptors) that are relevant for each component type (engage,
  discover or share).
- Add: replace hardcoded community statistics with an implementation that
  actually accepts real numbers and which are correctly formatted.
- Add: New Quo descriptor type number.
- Add: Component uses correct shadows according to foundations/shadows.
2023-07-12 11:14:24 +00:00
Icaro Motta
9ed68ee7d1
Lint & fix some shadowed core Clojure(Script) vars (#16500)
It's well known that shadowing core Clojure vars can lead to unexpected bugs. In
fact, it's a common source of bugs in other languages too. In the status-mobile
repository there are, in total, 562 shadowed vars, ~500 are core vars. Excluding
the "old code" we still have 285 offenders.

In status-mobile I've already seen two bugs caused by shadowed vars, both with
the shadowed var "name". But probably other problems happened in the past, and
others will happen in the future if we don't do something about this. This PR is
also my response to my frustration trying to review PRs and checking for
shadowed vars, humans were not meant for that!

In this commit we are enabling ":shadowed-var" to lint certain (not all) core
vars as errors (not warnings). In future PRs we can gradually unshadow more
vars. For the record, name is shadowed 40 times in the new code and 130 in
total, and type is shadowed 93 times in the new code and 124 in total!

What about non-core vars, should we allow shadowing? There are ~70 non-core
shadowed vars. In my opinion, we should also lint and disallow shadowing
non-core vars, since it may cause the same kind of bugs of shadowing core vars.
But this decision can be left for another moment/issue, after we have fixed the
most prominent problem of shadowing core vars.

Which vars are unshadowed in this PR? I fixed 62 errors and unshadowed
cljs.core/iter, cljs.core/time, cljs.core/count, cljs.core/key,
clojure.core/key.

Resources:

- [clj-kondo linter: shadowed-var](https://github.com/clj-kondo/clj-kondo/blob/master/doc/linters.md#shadowed-var)
2023-07-06 10:28:07 +00:00
flexsurfer
4decba8d00
multiaccounts refactoring S3, refactor keychain and touchid, move and refactor create/recover/login profile (#16448)
* multiaccounts refactoring S3 E1, refactor keychain and touchid,simplify app init flow, refactor biometric flow
* S3 E2 move and refactor create/recover/login methods
2023-07-06 11:25:57 +02:00
Ulises Manuel Cárdenas
e260187cf5
[#16073] Password info box
* Refactor: Remove use of f-component

* Fix documentation drawer styles

* Refactor: move title styles to style ns

* Fix StaticSafeAreaInsets not being defined on component tests

* Fix bottom sheet height on Android
2023-07-04 17:08:47 -06:00
Brian Sztamfater
c2c79cc1ac
feat: implement onboarding modal transition for sign in screen (#16167) 2023-07-04 12:43:08 -03:00
Brian Sztamfater
2d860c363a
feat: allow navigation inside different stacks (#16419)
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-06-30 11:48:35 -03:00
Parvesh Monu
b5a96a254a
Implement Swipe navigation for floating screen (#16390) 2023-06-27 21:02:54 +05:30
Rahul Pratap
6b0a51720e
Update animation for onboarding carousel. (#16294)
* Update animation for onboarding carousel.

* Fixed issues with long press while swipe.

* Fixed issues after generating keys.
2023-06-27 20:45:13 +05:30
watson
cebc50d409
Adjust identifiers page to do highlighting (#15752) 2023-06-27 14:45:10 +01:00
Jamie Caprani
fa698dbc30
feat: add parallax to biometrics page for whitelisted devices (#16296) 2023-06-27 02:50:27 -07:00
Omar Basem
86219dbad8
feat: save image (#16268)
* feat: save image
2023-06-27 11:03:29 +04:00
Brian Sztamfater
60a8b944d9
fix: send user to settings if audio permission is rejected (#16049) 2023-06-26 10:35:13 -03:00
Jamie Caprani
e5778ee300
feat: add new theming mechanism (#16191)
* chore: set react-dom to same version as react
2023-06-23 05:11:50 -07:00
Mohamed Javid
b397411daa
Upgrade react-native-camera-kit library to resolve camera issues in Sign In screen (#16248)
Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2023-06-20 18:50:05 +05:30
Jamie Caprani
2cbc94320d
feat: add parallax component (#16277) 2023-06-16 03:09:10 -07:00
Lungu Cristian
d43b73b566
Slide button component (bounty) (#16259) 2023-06-15 14:25:52 +02:00
Omar Basem
fbe4b0a36c
feat: Lightbox share images (#16224)
* feat: share images
2023-06-14 18:24:55 +04:00
flexsurfer
a4bc18ee3f
improve photo-selector and adjust according to the latest designs (#16053) 2023-06-01 10:35:57 +02:00
Brian Sztamfater
3038ceeb82
fix: audio issue when sending app to background on Android and other fixes
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-05-15 09:19:06 -03:00
Omar Basem
341497e98d
feat: new composer complete 🎉 (#15818)
* feat: new composer
2023-05-09 21:03:19 +04:00
Parvesh Monu
9a8354f783
Improve dissmiss all overlays (#15773) 2023-04-28 20:52:34 +05:30
flexsurfer
efbf93f6e2
move status native module (#15749) 2023-04-26 18:14:14 +02:00
Parvesh Monu
0649c66dde
fix device theme change listener in ios (#15724) 2023-04-26 16:41:11 +05:30
flexsurfer
cd69d0423a
fix (fn[]) usage in hiccup (#15713) 2023-04-25 15:13:14 +02:00
Omar Basem
2fe4956f4d
Gesture section list (#15727)
* feat: gesture section list
2023-04-25 15:20:52 +04:00
Icaro Motta
1e4a49fafe
Integrate support for SVG icons and fix clear icon (#15691)
This commit solves the problem described in detail in issue #15606, but in
essence, it fixes the clear icon by integrating rudimentary support for SVG
icons.

Fixes https://github.com/status-im/status-mobile/issues/15606

- Hopefully, if SVG icons prove to be a solid solution, we can easily and
  progressively migrate PNG icons to SVGs, but for the moment, it was aligned
  with @flexsurfer
  https://github.com/status-im/status-mobile/issues/15606#issuecomment-1514631270
  that we'll only use SVG icons on demand.
- Note that it's possible to import SVGs directly via js/require by installing
  the library react-native-svg-transformer, but this approach is only good when
  we don't want/need color customization, which is rarely the case with icons
  where we want to change the foreground and/or background colors. I opted for
  rendering the SVG icon as hiccup to support color customization.
- Since icons are fully memoized, the app's performance is on the same ballpark
  as PNGs rendered with RN Image.
- It's possible to trim down SVGs by using a tool such as
  https://github.com/svg/svgo, but this is obviously outside the scope of this
  PR.
2023-04-24 14:28:19 -03:00
Omar Basem
faa29a2946
feat: reimplement composer (#15639)
* feat: reimplement composer (1)
2023-04-24 17:40:15 +04:00
Jamie Caprani
fa21c22fab
chore: add generate code to new sync ui (#15584) 2023-04-20 05:34:30 -07:00
Ulises Manuel Cárdenas
ccb20d7994
[#15578] fix code snippet 2023-04-10 12:24:22 -06:00
flexsurfer
103e154076
improve navigation and bottom sheet (#15467)
Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-03-31 16:13:27 +02:00
Jamie Caprani
7ad5e2181d
chore: clean up ui for onboarding screens (#15470) 2023-03-30 04:05:42 -07:00
Parvesh Monu
f0ca6372cd
Implement onboarding slide animation (#15489) 2023-03-28 20:57:54 +05:30
Mohamed Javid
7d4be37111
[Feature] Sign in by scanning sync QR code (#15416) 2023-03-24 20:36:25 +05:30
Omar Basem
f9255100a1
feat: bottom sheet screen (#15399)
* feat: bottom sheet screen
2023-03-22 17:31:20 +04:00
Omar Basem
f640eb8c8f
feat: drag to dismiss lightbox (#15349)
* feat: drag to dismiss lightbox
2023-03-15 16:37:01 +04:00
Omar Basem
64dde1c9d1
feat: improve lightbox transition (#15315)
* feat: improve lightbox transition
2023-03-14 08:24:14 +04:00