210 Commits

Author SHA1 Message Date
Parvesh Monu
f314806b83
Improve profile card (#15264) 2023-03-06 14:24:34 +05:30
Ulises Manuel Cárdenas
ff3ba6c0f0
Add new text input component 2023-03-03 15:03:38 -06:00
John Ngei
25d44b11f1
Fix: chat header height 2023-03-02 21:57:19 +03:00
Ulises Manuel Cárdenas
7d9709ee67
Improve chat Avatar (#15036) 2023-03-01 14:54:40 -06:00
Ajay Sivan
aec1b5fafa
quo2 strength divider component (#15177) 2023-03-01 15:47:02 +00:00
yqrashawn
2ce4a820d7
fix: deleted-by user name style (#15218) 2023-03-01 15:03:27 +08:00
flexsurfer
fa03e91080
Sanitize quo2 namespace (#15207) 2023-02-28 13:59:09 +01:00
flexsurfer
80f063d0dd
[#15056] Can't see display/ens/name when mentioning in community (#15085) 2023-02-27 12:51:53 +01:00
yqrashawn
c28b34ac08
fix: toast style on android (#15194) 2023-02-27 17:25:21 +08:00
Icaro Motta
1806cb792a
Allow users to swipe to delete or swipe to toggle unread notification status (#15106)
Adds support for swiping left/right on some types of notifications. Swiping left
(from left to right) shows a blue button allowing the user to mark the
notification as read/unread. Swiping right (from right to left) shows a red
button, allowing the user to delete the notification for good.

Related PR in status-go https://github.com/status-im/status-go/pull/3201.

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

Technical notes
===============

How's the performance? It feels near native performance in a production release
in a mid-range smartphone. So I'd say it's pretty good, but let me know if you
find any issue.

- I refrained from trying to eliminate all code duplication in this PR. Some
  notifications will behave differently, especially the ones with call to
  action, so I ask you to please take that in consideration when reviewing. See
  https://github.com/status-im/status-mobile/issues/15118
- React Native Gesture Handler has a component named
  [Swipeable](https://docs.swmansion.com/react-native-gesture-handler/docs/api/components/swipeable/).
  I used it instead of writing a monstrosity 👹 of code in
  Reanimated to achieve the same results.
- RN Gesture Handler touchables are the only ones that work with the Swipeable
  component, so I used them and added vars to `react-native.gesture`.
- I had to manually interpolate the translation X of the buttons behind
  notifications because notifications are transparent. To make interpolation
  work with `Swipeable` it's mandatory to use RN `Animated.View` and not
  `Reanimated.View` (see next point).
- `Swipeable` expects us to pass functions that will receive RN
  `AnimatedInterpolation` instances and the rendering lifecycle does not work as
  usual. Hooks didn't trigger as expected, functional Reagent components didn't
  behave as expected, etc. This means `Reanimated.View` and its interpolation
  function is out of question. I did try for almost two days, nothing works.

Testing notes
=============

These are some of the manual tests I ran. There are more scenarios to cover
obviously. Assuming no unread notifications before each flow:

Contact request notification
============================

From the perspective of an user A:

1. Receive a contact request from a non-mutual contact B.
2. Verify the unread count is displayed over the bell icon.
3. Verify the unread count is displayed on the `Messages > Contacts` tab, as
   well as on the AC `Contact requests` tab.
4. Open the AC and before accepting/declining the contact request, check that
   you CAN'T swipe left or right.
5. Accept or decline the contact request.
6. Check the unread indicator disappears in all necessary places.
7. Press on the notification and see if you're redirected to the chat.
8. Go back to the AC and swipe left to mark as `Unread`. Notice that opening the
   chat marks the notification as `Read`. Also very important, notice that the
   `Messages > Contacts` tab will NOT show the *pending contact requests*
   section at the top. This is on purpose, given the notification is unread, but
   the user has already accepted/declined the contact request, hence it's not
   pending.
9. Swipe left againg to mark as `Read`. Check all unread indicators are updated.
10. Swipe right to delete the notification (it won't be displayed ever again).

Admin notification
==================

1. Generate an admin notification, e.g. a community owner receiving a request
   notification to join.
2. Verify the unread count is displayed over the bell icon, as well as the AC
   Admin tab.
3. Verify the community unread indicator is correctly displayed.
4. As an admin, open the AC and before accepting/declining the request, check
   that you CAN'T swipe left or right.
5. Accept or decline the membership request.
6. Check the unread indicator disappears accordingly.
7. Swipe left to mark as `Read`.
8. Swipe left to mark as `Unread`.
9. Swipe right to delete the notification (it won't be displayed ever again).

Mentions & replies
==================

Similar steps outlined for `Admin` notifications, but there's one important
difference. Mention and reply notifications don't require a call to action from
the user, so the user can swipe left/right **without** first having to do
anything on the notification (such as pressing on it). See issue
https://github.com/status-im/status-mobile/issues/15118

What about other types of notifications?
========================================

Swipe gestures for other notification types will be implemented in a separate
PR.
2023-02-24 21:22:31 -03:00
John Ngei
fac2f952d0
Fix: scroll-page component sticky header height 2023-02-23 18:31:21 +03:00
yqrashawn
e830f633d8
fix: toast style (#15170) 2023-02-23 20:18:44 +08:00
Ajay Sivan
6ffed4ad47
quo2 profile-select component
Signed-off-by: Parvesh Monu <parvesh.dhullmonu@gmail.com>
2023-02-23 01:41:56 +05:30
Ajay Sivan
c8fd7121d3
quo2 password-tips component (#15157) 2023-02-22 14:50:56 +01:00
Ajay Sivan
d6c09d289c
quo2 color-picker component (#15105) 2023-02-22 12:05:40 +01:00
yqrashawn
3fc4c36ac6
fix: toast style (#15144) 2023-02-22 09:55:21 +08:00
Alexander
1b33aa4988
Outgoing contact requests (#14853)
* First thoughts/ideas

* Showing "Cancel contact request" button

* Fixes

* Restructuring, `retractContactRequest`

* Pending label

* Proper buttons for activity notifications

* New updates

* Returning back `activity-log` `items`

* Last changes in code

* Lint fix

* Lint fix (2)

* Style fixes

* Style fixes

* Code fixes

* Style fixes

* Fixes

1d9d7343...0082f7e9

* Footer update

* Toasts done

* Formatting fix

* Go version update

* Fixes for deletion

* status-go-version.json

* Lint fix

* Fixes

* Lint fix

* status-go version

* status-go version
2023-02-21 22:45:54 +01:00
Mohamed Javid
8ed64f810f
Introduce marking all notifications as read in Activity Center (#14952)
* [Feature][#14902][#14917] Added marking all notifications as read

* [Fix] Lint Fix
2023-02-20 23:54:17 +05:30
0f8ad69319
Nix/upgrade zprint 1.2.5 (#15113)
* nix: upgrade zprint from 1.2.4 to 1.2.5

To address issue described in:
https://github.com/kkinnear/zprint/issues/273

Signed-off-by: Jakub Sokołowski <jakub@status.im>

* chore: use zprint :multi-lhs-hang

* refactor: re-format clojure using zprint 1.2.5

---------

Signed-off-by: Jakub Sokołowski <jakub@status.im>
Co-authored-by: yqrashawn <namy.19@gmail.com>
2023-02-17 20:10:00 +08:00
yqrashawn
866ba63ab7
fix: delete message action logic (#14977) 2023-02-17 19:21:19 +08:00
Jamie Caprani
cbad7f4c87
feat: add drawer buttons to quo2 (#15062)
feat: add drawer buttons to quo2
2023-02-16 06:29:44 -08:00
Ulises Manuel Cárdenas
8ff7a1630c
[#15019] small option card component (#15077)
* Create small-option-card component

* Add preview screen

* Add mock-fn to test helpers

* Add component tests

* Move namespaces

* Change new section name

* Refactor tests

* Change test-ids by accessibility labels
2023-02-14 16:06:13 -06:00
Alexander
c12cab27f4
The [Cancel] and [Join] buttons are hidden within 'Join Community' overlay (#14971)
* The [Cancel] and [Join] buttons are hidden within 'Join Community' overlay

* Lint

* Fixes

* Lint fix
2023-02-10 13:59:36 +01:00
Icaro Motta
98b219191f
Fix segmented tab component (#15001)
Fixes #14999 

Fix UI regression in the segmented tab component, introduced by PR https://github.com/status-im/status-mobile/pull/14883.

No area was impacted because segmented tabs are not used yet.
2023-02-07 08:27:27 -03:00
John Ngei
f8b5b35063
Update community home scrolling to support sticky header and tabs (#14929)
* communities home sticky tabs

* Communities home screen scroll behaviours

* refactored scroll-page component
2023-02-07 12:58:38 +03:00
John Ngei
91d0e106f2
showing sticky bar on scrolling discover screen (#14825) 2023-02-06 15:41:34 +03:00
Volodymyr Kozieiev
77a798530d
Unread indicator on community channel (#14960)
* Unread indicator on community channel
* Unread grey dot made a separate component
2023-02-02 17:09:37 +00:00
Icaro Motta
8626cd3e6d
Show unread indicator on Activity Center tabs (#14883)
Fixes https://github.com/status-im/status-mobile/issues/14852
Fixes https://github.com/status-im/status-mobile/issues/14882

Summary
=======

- [x] Fixes https://github.com/status-im/status-mobile/issues/14852
- [x] Fixes https://github.com/status-im/status-mobile/issues/14882
- [x] Refactors `tab` component to follow new guidelines.
- [x] Improves preview area for tabs to optionally show notification dots.
- [x] Refactors `tabs` component: break the component into smaller chunks;
remove duplication between scrollable & non-scrollable tabs; update outdated
docstring;
- [x] Adds accessibility labels to tabs.

Cutout with light theme on the background:
https://user-images.githubusercontent.com/46027/214553974-2b2e8c6e-71b8-46f3-ba75-a66cb4755490.png

Cutout with dark theme on the background:
https://user-images.githubusercontent.com/46027/214554602-d637d4d6-3b20-4aa8-a2ef-64836f4454bb.png

Cutout in non-scrollable tabs:
https://user-images.githubusercontent.com/46027/214555646-bbb85546-20d9-48bb-8273-716564fb5e0f.png

Notification dots in preview area:
https://user-images.githubusercontent.com/46027/214556532-10a044ae-9df5-4c86-be5f-447955276bfd.png
2023-02-01 13:10:57 -03:00
Omar Basem
b8eab0c328
Photo selector and album selector screens (#14867)
* feat: photo & album selector screens
2023-02-01 17:01:03 +04:00
Omar Basem
fb9309f700
Animated Header Flatlist (#14925)
* feat: animated header list (quo2)
2023-02-01 10:40:52 +04:00
yqrashawn
a38ef22ca7
feat: support deleted by xxx (#14768) 2023-02-01 09:17:57 +08:00
Ibrahem Khalil
d7d256b139
[14677, 14673, 14672, 14671, 14664] Fix bottom sheet dismissal problems (#14791) 2023-01-30 22:33:12 +02:00
flexsurfer
6002672e7c
[#14877] No ability to type the text into textbox if image is added [#14881] Input field is hidden in composer (#14911) 2023-01-27 16:40:04 +01:00
Jamie Caprani
2e35939979
chore: add accesibility label 2023-01-26 16:50:20 +00:00
Ibrahem Khalil
f41c69ff4b
[14681] Make checkbox select contacts correctly in new chat flow (#14790) 2023-01-25 21:50:00 +02:00
Parvesh Monu
612c17a8db
Add blur overlay for bottom tabs and shell top nav (#14783) 2023-01-25 20:08:11 +05:30
Volodymyr Kozieiev
3e93e353db
Refactor mock data out of community page (#14799) 2023-01-25 11:35:10 +00:00
Brian Sztamfater
bd3c724c66
feat: record audio complete flow
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-01-23 14:04:06 -03:00
Parvesh Monu
b3a03119d1
Implement unread badge for bottom tabs (#14856) 2023-01-23 20:23:41 +05:30
flexsurfer
d79d2e9d36
sanitize quo2 (#14859) 2023-01-23 14:41:55 +01:00
Jamie Caprani
92a180c477
add shadows to foundations (#14839)
* chore: add shadows to foundations
2023-01-23 03:06:26 -08:00
Ibrahem Khalil
dc9454defa
Fix using functions as identifiers (#14848) 2023-01-21 13:28:45 +02:00
Jamie Caprani
967c869486
chore: fix component tests and permission drawer preview (#14831) 2023-01-19 15:03:53 -08:00
Ulises Manuel Cárdenas
ab1fd43f28
Add Collectible ui component (#14803) 2023-01-18 19:00:47 +01:00
flexsurfer
d030e211e3
move i18n to utils (#14819) 2023-01-18 14:36:02 +01:00
Icaro Motta
9a60fc1600
Fix all type hint warnings (#14810) 2023-01-17 19:52:12 -03:00
flexsurfer
685c95591c
refactor and move composer to status-im2 (#14758)
refactor and move composer to status-im2
2023-01-16 17:20:10 +01:00
Jamie Caprani
73c4be8dee
Communities Join Screens - Implement all permutations of Context Drawer options (#14700) 2023-01-13 09:35:41 +00:00
Andrea Maria Piana
7a5871a03f
[Fixes: #14623] Enable mutual contacts by default and show banner 2023-01-12 09:16:02 +00:00
Jamie Caprani
846d628a9d
chore: use banner from quo library (#14629) 2023-01-11 00:59:00 -08:00