Commit Graph

735 Commits

Author SHA1 Message Date
Mohamed Javid 6bb1779723
Implement edit account and refactor wallet accounts events & subs (#17798)
This commit updates the following:

- Allow users to create new wallet accounts without having to re-login (latest account data is fetched immediately)
- Updates the max length of the wallet account name to 20
- Updates the account cards in the wallet home screen to render the actual account colour
- Updates the (individual) account screen to show the correct color, emoji, name and address
- Allows users to edit account name, colour and emoji
- The rest of the wallet screens would see the updated account information immediately
- Fixes the color (uses profile color) of the context tag and button color in the authentication (enter password) bottom sheet
- Fixes the overflowing of the "+" card in the wallet home when there are two or more accounts.

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2023-11-08 20:09:32 +05:30
Alex Tumanov 569036c1d8
Add a button to address watch screen; (#17781)
Add account creation screen

remove icons

remove extra utility and create a new one that would use conventional way of getting an emoji

fix lint

Use button component instead of bottom-actions

Provide global customization color to buttons

Use conventional approach to extract account name

Move to another address

Move to another namespace

Refactor bottom-actions to have button props in maps

Update doc with new icon location

Add spaces between styles

Work on pr comments

Use :on-change-text instead of :on-change for input component
Subscribe to :profile/customization-color directly
Use bottom button from the create-or-edit-account wrapper

Remove extra code
Sort requires

Move ns to proper fileˆ

Fix styles
2023-11-07 16:40:24 +00:00
Omar Basem a6d7502455
Wallet: bridge screen (#17758)
* wallet: bridge screen
2023-11-07 07:22:38 +04:00
Dmitri Akatov c13b86b882
add Goerli network English translation (#17818) 2023-11-06 07:34:41 +01:00
Nikolay 94a3e266a9
Edit derivation path (#17741) 2023-11-01 14:04:21 +01:00
Ulises Manuel 4a874ce48d
[#17023] Share qr code variants (#17736)
* Align docstring

* Create share-qr-code component

* Remove empty style file

* Implement common.share-qr-code including call to media server

* Add share-qr-code preview screen

* Use share-qr-code component in shell's share screen

* Add tests and some fixes
2023-10-31 12:35:28 -06:00
Mohsen 2aeafa30bd
[#17423] fix: update sync flow (#17731) 2023-10-27 11:16:56 +03:00
Jamie Caprani 56492949f1
feat (wallet): add ability to create new account (#17496) 2023-10-26 01:45:33 -07:00
Omar Basem 125c117bac
wallet: token value drawer (#17730)
* wallet: token value drawer
2023-10-25 15:45:45 +04:00
Omar Basem 07dd42a7d3
Wallet: Network Preferences drawer (#17710)
* Wallet: Network Preferences drawer
2023-10-25 14:55:17 +04:00
Mohamed Javid d5da921e1c
Implement Edit Wallet Account Screen (base) (#17637)
This commit

- Adds the base Screen base for the Create/Edit Account/Address
- Adds the Wallet Edit Account screen
- Adds the gradient in the account options bottom sheet
- Adds a new key/prop "right-icon" in the data-item component to prevent overlapping with the icon used in the description and updates its usage.
- Updates the "section-label" component to receive "container-style" (this will prevent adding a wrapping view in the screens)

---------

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2023-10-18 17:38:58 +05:30
Omar Basem f19ec2a93f
Wallet: Buy Tokens drawer (#17654)
* Wallet: buy tokens drawer
2023-10-18 15:24:25 +04:00
Brian Sztamfater 5829eaf77b
feat: scan account from QR (#17464)
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-10-17 13:47:21 -03:00
Omar Basem a2794a120a
Wallet: Account Options (#17612)
* wallet: account options
2023-10-13 17:19:14 +04:00
Omar Basem d664653921
Wallet: dApps Tab (#17587)
* feat: dapps tab
2023-10-10 16:28:05 +04:00
Omar Basem bcc175041a
Wallet: About Tab (#17556)
* wallet about tab
2023-10-10 09:30:10 +04:00
Volodymyr Kozieiev 1770ff24ce
Collectible details page (#17520)
Collectible details page
2023-10-09 14:18:43 +01:00
Lungu Cristian b432aab701
Changes to onboarding/new-to-status (quo/fonts/spacings/copy) (#17562)
* fix: changes to onboarding/new-to-status (quo/fonts/spacings/copy)

* e2e: updated button  locator

---------

Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
2023-10-09 10:45:28 +03:00
Siddarth Kumar 7043e03dd4
Enter scan code tab in Syncing (#16852)
* feat: add enter scan code view

This commit adds the enter sync code UI.

Fixes : #16062

Design link : https://www.figma.com/file/V6nlpAWIf2e1XU8RJ9yQPe/Syncing-for-Mobile?node-id=675%3A179729&mode=dev

Review notes :
We do not make use of quo2/input here because currently that component does not allow stretching to fit in sync code which spans upto 3 lines.
2023-10-05 21:05:54 +05:30
Omar Basem 191f5de6f1
Wallet: Create Account UI (2) (#17468)
* Wallet: create account UI (2)
2023-10-04 14:17:55 +04:00
Omar Basem df2b5147cd
Wallet: Add address to watch (#17479)
wallet: add address to watch
2023-10-04 14:04:33 +04:00
Brian Sztamfater 878a1cc285
feat: implement saved contact address list item component (#17400)
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-10-03 15:51:11 -03:00
Jinho Jang a13d3a175b
Update ja.json (#17438) 2023-10-03 14:11:42 +02:00
codemaster ab868a6ae5
Implement switcher group messaging card (#16802) 2023-09-29 23:11:21 +10:00
Siddarth Kumar 0522120c66
Standardized in-app authentication (#16916)
* chore: move password input to connected component
---------

Co-authored-by: Jamie Caprani <jamiecaprani@gmail.com>
Co-authored-by: frank <lovefree103@gmail.com>
2023-09-28 04:23:15 -07:00
Brian Sztamfater 9479f02b39
feat: wallet select address screen UI in empty state (#17248)
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-09-18 16:17:11 -03: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
Brian Sztamfater baa9dff237
feat: implement address input (#17191)
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-09-13 10:26:29 -03:00
Volodymyr Kozieiev dd1f938e85
Transaction summary component (#17163)
* Transaction summary component
2023-09-12 14:44:40 +01:00
John Ngei 7d1098b5b3
Fix join communities design review bugs
* fix: join communities design review bugs

* updated design fixes
2023-09-05 15:53:59 +03:00
mmilad75 6809311191
Implement "Account origin" Component (#17147)
Implement "Account origin" Component
2023-09-01 20:41:57 +03:30
Volodymyr Kozieiev f3f85f9911
Wallet activity component (#17141)
* Wallet activity component

* Component description added

* removed unnecessary piece

* lint fix

* Review notes

* fix issue with blur preview

* lint fix
2023-09-01 16:20:15 +01:00
Omar Basem a4717ae5d0
Feat: wallet create account screen UI (#17118)
* feat: wallet create account
2023-08-29 21:06:36 +04:00
Mohsen Ghafouri 231272603d
[#16861] fix: resolve discover communities design feedbacks (#17128) 2023-08-28 18:09:42 +03:00
mmilad75 6870000490
Implement Data Item component (#16960)
Implement Data Item component #16960
2023-08-26 18:33:10 +03:30
Omar Basem 3223c71526
Feat: wallet empty account UI (#17077)
* feat: wallet account empty
2023-08-23 21:10:46 +04:00
Omar Basem 4c9ccf3069
Quo2 Wallet: Keypair component (#17019)
* Quo2 Wallet: Keypair component
2023-08-21 16:25:50 +04:00
Omar Basem 50f3bb005e
Quo2: Wallet Button and Wallet CTAs components (#17006)
* Quo2 Wallet: Button and CTAs
2023-08-21 16:01:34 +04:00
John Ngei 66e3b60703
Add members to open community
* add members to open community

* fix: join open community notification
2023-08-18 15:38:35 +03:00
Omar Basem 79994e2dbf
Wallet Empty Home UI (#16965)
* feat: wallet empty home
2023-08-11 16:06:43 +04:00
Siddarth Kumar 2869edafdd
implement quo2 inputs - locked input component
Co-authored-by: tumanov-alex <uwontrememberthis@gmail.com>
Co-authored-by: Jamie Caprani <jamiecaprani@gmail.com>
2023-08-08 05:16:06 -07:00
flexsurfer bc18e8aac5
[#16254] Add new system messages in chat history when accepting a con… (#16775)
* [#16254] Add new system messages in chat history when accepting a contact request
2023-08-07 10:56:54 +02:00
erikseppanen 2819c20400
Quo2 wallet: add wallet overview (#16855) 2023-08-04 11:43:39 -04:00
Omar Basem 0ee0137c72
Camera extra features (#16781)
feat: camera extra features
2023-07-31 09:01:30 +04:00
Mohsen Ghafouri 3b8f66d2ec
[#16377] feat: add calendar component in quo2 preview (#16783) 2023-07-29 00:26:15 +05:30
mmilad75 ec6800216b
Notification Centre - add Empty Content screen (#16715)
* Notification Centre - add Empty Content screen (#16715)
2023-07-25 18:06:00 +03:30
Omar Basem e33c877989
feat: camera screen (1/2) (#16569)
* feat: camera screen (1/2)
2023-07-24 16:46:43 +04:00
John Ngei 2317e856bf
Mute community
* mute and unmute community

dfdaa722...e6187aec

* mute and unmute community and all community chats

dfdaa722...3abc86e4

* updated statu-go

dfdaa722...919123e1

* refactored mute chat drawer

d3e650d5...3af0b17c

* refactored mute chat drawer

dfdaa722...3af0b17c

* fixing mute channels

* fixed mute community channels

* update community chats mute status

dfdaa722...dc50ac21

* added mute and unmute community toast

dfdaa722...c06f7a6c

* unmute community when atleast one community channel is unmuted

dfdaa722...e691c475

* updated status-go

b2e56f5d...c52718cd

* updated status-go version v0.162.5
2023-07-19 16:30:42 +03:00
Jamie Caprani 3fce4816dc
feat: add video and animation to generating keys page (#16415) 2023-07-11 07:26:40 -07:00
Siddarth Kumar dcda44fab6
fix: ellipsis on compressed-keys as per designs (#16492)
This commit does the following:

- Moves `get-abbreviated-profile-url` from shell share view into `utils.address` and update its usage.

- Adds `get-shortened-compressed-key` to `utils.address` and update the code using `get-shortened-key` to now use `get-shortened-compressed-key` instead.

- Adds test for newly introduced utils.
2023-07-07 16:31:17 +05:30
Icaro Motta 19ca8e28a5
Lint and fix missing trailing newlines (#16445)
Apply the Clojure Style Guide recommendation to end files with proper lines
(having a trailing newline character). See
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
2023-07-04 19:40:13 +00:00
Omar Basem 86219dbad8
feat: save image (#16268)
* feat: save image
2023-06-27 11:03:29 +04:00
Mohamed Javid 6f0d375e8a
Refactor "How to pair" screen and add "Find sync code" screen (#16364)
This commit refactors the "How to pair" bottom screen (introduced in #15710) on Syncing page, to be reused in "Sign In" and "Sync new device" screens by moving the UI rendering functions to the common place.

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2023-06-26 15:27:59 +05:30
Jamie Caprani 9ec4f91c9e
chore: onboarding profile adjustments (#16291)
* remove b&w color as an option

* change system message for minimum display name length to match designs

* update display name validation to match desktop
2023-06-22 08:00:06 -07:00
Ibrahem Khalil 7aa40b8adf
[14556, 14259] Allow users to mute community channels and to mute chats for specific duration (#15128) 2023-06-22 08:25:17 +03:00
Icaro Motta 60a39a58a6
Fix community tags and button spacing (#16292)
Linked to https://github.com/status-im/status-mobile/issues/16119, fixes
these issues:

- Clipped community tags. They should extend to the edge of the screen.
- Outdated information box message. Updated according suggestion in Figma
  https://www.figma.com/file/h9wo4GipgZURbqqr1vShFN/Communities-for-Mobile?type=design&node-id=7035-462899&t=wED97E4Mtv9v6OXf-0
- Add correct padding between community tags and the Request to join Community
  button.
2023-06-19 12:49:34 +00:00
Icaro Motta 204c8996a3
Implement dummy action drawers for community chats (#16227)
Implements the skeleton for all community channel drawer actions. This commit is
not concerned with the actual implementation of the actions, since that would
grow the scope a bit too much.

Partially implements https://github.com/status-im/status-mobile/issues/16178

Notes: I also updated the actions drawer component to accept a text aligned to
the right (this will be necessary to display the number of pinned messages in
the action drawer). In the Design System, the text is always hidden, and that's
my best guess as to why we didn't implement it. I talked to designers, and they
won't update the Design System Drawer action component
https://www.figma.com/file/WQZcp6S0EnzxdTL4taoKDv/Design-System-for-Mobile?type=design&node-id=1931-31188&t=hOK17fADEXTlnXPY-0)
for now, but we agreed the reference in Figma > Communities for Mobile
https://www.figma.com/file/h9wo4GipgZURbqqr1vShFN/Communities-for-Mobile?type=design&node-id=5483-193285&t=vOTiuhxD87zhmK2T-0)
is good enough.
2023-06-12 12:02:47 -03:00
Mohamed Javid 2df1b46975
[iOS] Perform preflight check for local network permission (#16150)
Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2023-06-09 15:55:15 +05:30
Jamie Caprani 51ccd9fdcb
chore: remove mock data from syncing (#16132) 2023-06-08 10:10:51 -07:00
Ulises Manuel Cárdenas 0fcb8a33aa
[#16078] - Add empty state component to messaging tabs 2023-06-08 06:21:32 -06:00
Omar Basem a5455739c6
Add Images count to reply (#16194)
* fix: images reply count

---------

Co-authored-by: pavloburykh <pavlo@status.im>
2023-06-07 18:35:51 +04:00
erikseppanen ba4e2f76da
Design notes fixes: generate keys flow > profile name screen (#16000) 2023-06-06 10:54:29 -04:00
Icaro Motta 0ae24070b0
Fixes for Request to Join Community bottom sheet (#16192)
Fixes a bunch of UI issues to match what's in Figma
https://www.figma.com/file/h9wo4GipgZURbqqr1vShFN/Communities-for-Mobile?type=design&node-id=1733-125697&t=3ssa500fwGvUqiTL-0.
Fixes https://github.com/status-im/status-mobile/issues/16117

- Fix typo in the Request to Join Communities' text.
- Fix bottom sheet handle colors. They had the incorrect transparency.
- Fix incorrect Request to Join bottom sheet top margin.
- Remove touchable opacity from disclaimer quo2 component. It should use
  touchable without feedback. This also fixes the problem on the on onboarding
  flow since both screens use the same disclaimer component.
- Add missing final disclaimer after accept/reject buttons.

Related to https://github.com/status-im/status-mobile/issues/16196
2023-06-06 06:31:43 -03:00
Ulises Manuel Cárdenas 4978c08447
[#16077] Add community illustrations
* Add empty state images
* Add empty state component for communities
2023-06-05 11:42:42 -06:00
Ulises Manuel Cárdenas c62204121d
[#15759] - Add onboarding recovery phrase screen 2023-06-01 05:23:07 -06:00
flexsurfer 446d71063c
new chat fixes and improvements, sheet modal screen improvements (#15993) 2023-05-23 16:46:16 +02:00
andrey 6858884c83
[#15756] Token gated communities 2023-05-20 08:54:06 +01:00
John Ngei d3b4f60848
sync devices after sign in
* onboarding sync devices after scan to sign in

* using subscription to get the status of pairing progress

* update following reviews

* polished code following reviews

* fixed showing unknown devices
2023-05-19 19:17:38 +03:00
John Ngei e8682ccbf6
home screen updates
* community home screen updates

* removed green border color on status indicator

* added accent color to plus button and jump-to button

* code reviews

* e2e: fix acc id new comm button

* resolved bugs

---------

Co-authored-by: pavloburykh <pavlo@status.im>
2023-05-19 16:08:52 +03:00
Icaro Motta 19526508f2
New link previews (initial implementation) (#15891)
This is the introductory work to support the new requirements for unfurling
URLs (while the message is a draft) and displaying link previews (after the
message is sent). Refer to the related status-go PR for a lot more interesting
details https://github.com/status-im/status-go/pull/3471.

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

### Notes

- The old link preview code will be removed separately, both in status-go and
  status-mobile.
- I did the bulk of the work in status-go
  https://github.com/status-im/status-go/pull/3471. If you want to understand
  how this is all implemented, do check out the status-go PR because I heavily
  documented the solution, rationale, next steps, etc.

### Performance

Does the feature perform well? Yes, there's very little overhead because
unfurling URLs happen in status-go and the event is debounced. I also payed
special attention to use a simple caching mechanism to avoid doing unnecessary
RPC requests to status-go if the URLs are cached in the client.

I have some ideas on how to improve performance further, but not in this PR
which is already screaming for reviews.
2023-05-18 16:19:41 -03:00
Siddarth Kumar a60235abf3
(feat) : add share capabilities in shell (#15782)
fixes: #13439

Summary
- Update `quo2/qr-code` component to use `fast-image` instead of `rn/image`
- Adds profile tab in share section, wallet tab is marked as WIP
- Shows profile QR code along with link to user's profile and the user's emoji hash.
- profile link is shareable and copyable on tap.
- emoji hash is shareable and copyable on tap.
- fixed weird android issues
2023-05-16 21:57:34 +05:30
codemaster 369aed389c
feat: new keycard component (#15892) 2023-05-16 13:37:14 +02:00
erikseppanen 4b98f0e8de
Add 'How to scan' syncing screens (#15710) 2023-05-11 20:58:57 -04:00
yqrashawn c1f24fb1bb
feat: doc info boxes while onboarding (#15697) 2023-05-11 10:00:36 +08:00
Volodymyr Kozieiev c78bdda717
Last message preview improvings (#15613) 2023-05-08 18:37:26 +01:00
Brian Sztamfater e5913cc3ea
feat: audio component
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-05-04 10:48:05 -03:00
Jamie Caprani 52c6687608
feat: add identifiers screen to onboarding-flow (#15684) 2023-04-26 21:26:32 -07:00
Mohamed Javid 6eb2029c51
Show "Kicked from community" notification in Activity Center (#15734)
* [Feature] Implement Community Kicked notification

* Status Go Update
2023-04-26 19:56:33 +05:30
Icaro Motta 30f0b436e9
Various fixes for Contact Request flows (2nd attempt) (#15685)
- Make sure status-mobile works well with the upcoming status-go changes in PR
  https://github.com/status-im/status-go/pull/3379.
- Replace calls to `wakuext_addContact` with `wakuext_sendContactRequest`. This
  is what's been aligned with the desktop team, as we will go on to remove
  `wakuext_addContact` in the near future.

Fixes https://github.com/status-im/status-mobile/issues/15679
2023-04-25 13:32:08 -03:00
Mohamed Javid bfb074eca3
Community request to join changes (#15627)
Resolves  #15322 #15082 #15694
2023-04-21 15:06:58 +05:30
Jamie Caprani fa21c22fab
chore: add generate code to new sync ui (#15584) 2023-04-20 05:34:30 -07:00
Ibrahem Khalil 8af7011eb4
[15128] Introduce muting for a specific duration (#15253) 2023-04-16 17:31:39 +02:00
Ibrahem Khalil 88b9aa14e8
[15504, 15408] Nickname flow (#15557) 2023-04-12 11:37:50 +02:00
Alexander fe4f4463c8
Fix design inconsistencies on onboarding notifications screen (#15523)
* Fix design inconsistencies on onboarding notifications screen

* Fixes

* Title as a separate component

* Lint-fix

* Post-review fixes

* File rollback

* File rollback

* Fixes

* Fixes
2023-04-11 16:44:38 +02:00
Ibrahem Khalil bb20c5848f
[15383] Add the album count attribute to message body (#15487) 2023-04-07 17:49:56 +02:00
Brian Sztamfater 79cd7f7df5
fix: add min 5 characters validation for display names
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-04-03 10:40:50 -03:00
Jamie Caprani 7ad5e2181d
chore: clean up ui for onboarding screens (#15470) 2023-03-30 04:05:42 -07:00
Brian Sztamfater 4e6dea6b36
feat: enable biometrics screen 2023-03-27 14:23:23 +01:00
Ulises M 899f89c800
Implement create password screens 2023-03-27 14:21:39 +01:00
John Ngei 2f84cfd354
Onboarding notifications flow
* enable notifications onboarding

* added blurred background

* support navigate to previous screen
2023-03-25 01:40:36 +03:00
Mohamed Javid 7d4be37111
[Feature] Sign in by scanning sync QR code (#15416) 2023-03-24 20:36:25 +05:30
erikseppanen c238ebe36e
Add validation for when adding a contact (#15192) 2023-03-22 13:13:56 -04:00
Jamie Caprani a502da6ea4
9c1c01c6...48eb7052 (#15401)
feat: add create profile to onboarding
2023-03-22 06:51:38 -07:00
Parvesh Monu 937c128c08
Onboarding app locked flow 2023-03-22 13:41:05 +05:30
Alexander dabe8285be
Bugfixes for the style of "New to Status" screen (#15353)
* Bugfixes for the style of "New to Status" screen

* Updates
2023-03-15 20:02:26 +01:00
Jamie Caprani de6a736c10
feat: add ability to cancel a request to join a community (#14973)
80d350ad...5d818669
2023-03-14 16:14:37 -07:00
Alexander 4097aba39b
Fetch details of user when adding a contact (#15070)
* Fixes

* Fixes

* Final fixes

* Lint fixes
2023-03-14 11:40:38 +01:00
Ulises Manuel Cárdenas 9e4d9a05a7
Add new onboarding screen - I'm new to status 2023-03-13 10:25:04 -06:00
Roman Volosovskyi c6e63ff5a5
[#15241] Proper system message on being not a member of a group 2023-03-07 09:35:36 +01:00
Jamie Caprani 2861190e5b
New intro screen (#15127)
* feat: add new intro page

* e2e: new intro fix

---------

Co-authored-by: Churikova Tetiana <tatiana@status.im>
2023-03-06 06:42:30 -08:00
Parvesh Monu f314806b83
Improve profile card (#15264) 2023-03-06 14:24:34 +05:30
Ajay Sivan aec1b5fafa
quo2 strength divider component (#15177) 2023-03-01 15:47:02 +00: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
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
Andrea Maria Piana c4aef97a6d
[Fixes: #15093] Add support for mention @everyone
This commit adds support for displaying @everyone mention.
2023-02-21 12:19:02 +00: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
erikseppanen 7315dc8914
Support join.status.im links for adding a contact (#14964)
* Support join.status.im links for adding a contact (#14814)

* refactor tests, add caret to regex
2023-02-06 17:23:34 -05:00
Brian Sztamfater 0202af8070
feat: style delivery states
Signed-off-by: Brian Sztamfater <brian@status.im>
2023-02-03 09:53:15 -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
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
Erik Seppanen fac9e644a9
Lookup/add a contact from home screen (#14477) 2023-01-30 16:06:32 +00:00
Icaro Motta 55caf0230e
Update empty state (#14916)
Fixes #14899

Updates the empty states according to latest design in Figma.
2023-01-27 15:24:30 -03:00
Volodymyr Kozieiev 3e93e353db
Refactor mock data out of community page (#14799) 2023-01-25 11:35:10 +00:00
Icaro Motta 206730a777
Show "Added to group chat" notifications (#14785)
Partially implements https://github.com/status-im/status-mobile/issues/14712
Fixes #14744

### Summary

This PR implements the first, among what will probably be many different kinds of membership notifications. For this PR, I started with implementing a particular flow for private group chats because it's already supported by `status-go` (albeit I had to make some changes, see [PR in status-go](https://github.com/status-im/status-go/pull/3088).

1. `A` and `B` are mutual contacts.
2. `A` creates a private group chat with `B` as member.
3. `B` sees the group chat in the app, but doesn't interact with it.
4. `B` reinstalls the app (remember to back up the seed phrase).
5. `A` mentions `B` in the group chat.
6. `B` should see a group chat notification, which can be accepted/declined.

- [x] Also fixes #14744

### Demo

In the video I'm simulating the steps outlined in the *Summary*, but using the approach described in *Steps to test*, because it's way easier to iterate during development.

[demo.webm](https://user-images.githubusercontent.com/46027/212470798-c135d229-948d-4ba5-98db-ee73cc5495cd.webm)

### Review Notes

Some changes had to be made in `status-go` ([PR](https://github.com/status-im/status-go/pull/3088)), namely:

- According to [Figma](https://www.figma.com/file/eDfxTa9IoaCMUy5cLTp0ys/Shell-for-Mobile?node-id=3806%3A586901&t=xLTAjLXjG1UtorpI-0), users should be able to see `accepted` group chat notifications. Until now, `status-go` hardcoded that `accepted` notifications would *not* be returned in query results, and so it would be impossible to show them to users. This was changed and now the RPC endpoint accepts an additional filter. The implementation on the backend is backwards compatible so as to not break Status desktop.
- The `Membership` tab needs to display various types of notifications (group chat, community, etc), but the membership type doesn't exist on the backend. To overcome this constraint, this PR makes the membership type a logical/virtual type, i.e. a Clojure set of types. `status-go` was changed to support querying for multiple notification types (also backwards compatible).

#### Platforms

- Android
- iOS

### Steps to test

Please, follow the steps described in the Summary and you should be able to test.

But during development, I followed these steps (recommended by @cammellos). I documented them here for reference.

1. Checkout `feature/e2e` in status-go. Apply the diff below.
2. `cd cmd/e2e && ./e2e`
3. This will create a temporary account automatically, let's call it `A`.
4. On another device, create account `B`.
5. Follow the steps documented in bdc406ea2e/cmd/e2e/README.md (L2) in order for user `A` to create a group chat with `B` as member. Don't make `A` and `B` mutual contacts.
6. On `B`'s device, a notification should appear, and `B` should be able to accept or decline the "invitation" (actually *invitation* is another concept and related to another feature).

```diff
modified   cmd/e2e/main.go
@@ -283,6 +283,11 @@ func defaultNodeConfig(installationID string) (*params.NodeConfig, error) {
    nodeConfig.NetworkID = 1
    nodeConfig.LogLevel = "ERROR"
    nodeConfig.DataDir = "/ethereum/mainnet_rpc"
+        nodeConfig.HTTPEnabled = true
+        nodeConfig.HTTPPort = 8545
+        nodeConfig.HTTPHost = "localhost"
+        nodeConfig.HTTPVirtualHosts = []string{"localhost"}
+
         nodeConfig.APIModules = "wakuext,ext,waku"

    nodeConfig.UpstreamConfig = params.UpstreamRPCConfig{
modified   protocol/messenger_group_chat.go
@@ -26,17 +26,17 @@ func (m *Messenger) validateAddedGroupMembers(members []string) error {
        }

        contact, _ := m.allContacts.Load(contactID)
-		if contact == nil || !(contact.Added && contact.HasAddedUs) {
-			return ErrGroupChatAddedContacts
-		}
+                if contact == nil {
+                  contact, err = buildContactFromPkString(contactID)
+                  if err != nil {
+                    return err
+                  }
+                }
    }
    return nil
 }

 func (m *Messenger) CreateGroupChatWithMembers(ctx context.Context, name string, members []string) (*MessengerResponse, error) {
-	if err := m.validateAddedGroupMembers(members); err != nil {
-		return nil, err
-	}

    var response MessengerResponse
    logger := m.logger.With(zap.String("site", "CreateGroupChatWithMembers"))
```
2023-01-23 13:54:51 -03:00
Mohamed Javid 2f52cb1f0c
Show Admin Notifications in Activity Center (#14748)
* [Feature][#14713] Added Admin Notifications in Activity Center

* [Feature][#14713] Admin Notification UI fixes

* [Feature][#14713] Admin Notification PR Feedbacks

* [Feature][#14713] Admin Notification PR Feedbacks

* [Feature][#14713] Admin Notification accessiblity label update
2023-01-14 02:14:02 +08: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
Alexander 43da198c3f
Communities join screens - add toast after joining/leaving (#14735)
* Add toast after joining/leaving a community

* leftover removal

* Better code for adding toasts

* Fixes

* Lint fix
2023-01-10 19:10:26 +01:00
yqrashawn 02a1c3597f
feat: undo delete with toast (#14618) 2023-01-10 10:02:23 +08:00
John Ngei 043e218320
show selected list item context actions view (#14676)
* show selected list item context actions view

* show selected list item context actions view

* fixed showing thumnails on communities
2023-01-09 16:36:17 +03:00
Jinho Jang 944bfe2655
Update translation (#14483) 2023-01-04 12:18:26 +01:00
Parvesh Monu 63ace4da76
Improve switcher last content (#14626) 2023-01-04 03:32:51 +05:30
Omar Basem b85eb4184a
feat: group details screen (3.3) (#14654)
* feat: group details screen (3)
2022-12-30 18:14:24 +04:00
Ibrahem Khalil ef21312162
New chat flow (#14607) 2022-12-29 15:57:42 +02:00
Jamie Caprani aca8c9250f
add Non Token Gated - Manual Approval Required flow (#14513)
chore: add flow for closed community overview page
2022-12-26 16:05:03 -08:00
andrey 8ff32f4fc3
Revert "Group details screen (3) (#14494)"
This reverts commit e21b8d4396.
2022-12-23 07:32:23 +01:00
Omar Basem e21b8d4396
Group details screen (3) (#14494)
* group details screen (3)
2022-12-23 07:18:09 +04:00
Omar Basem ba41d4b271
Photo Selector 2 (#14487)
* Photo Selector (2)
2022-12-20 07:36:06 +04:00
Icaro Motta 269d13e2f8
Move Activity Center to new app structure (#14554) 2022-12-16 10:45:00 -03:00
Siddarth Kumar fc07fbf787
UI for mobile to mobile local pairing - updated (#14514)
* ui for local pairing

lint-fix

removed un-necessary +

addressing some of the feedback on PR

more feedback + removing feature toggle from ui

getting rid of comments/log messages over here

tidy up logs

fix typos and more i18n stuff

swap % with a named parameter

getting rid of global state + lint-fix

get rid of un-used function

icon guidelines and more kebab case stuff :>

moving stuff to events and utils namespace

:main-icons -> :i :)

address feedback and adhere to guidelines etc

fixed the :t/ qualification

moree feedback :-D

referring status-im.utils.security for now

adding "cs" to constants

make tests pass

re-frame to rf

addressing feedback

moving icons to icons2 & renaming stuff

trying to make this file the way it was before

missed out on updating these references

getting rid of the icons moved to icons2

This reverts commit be8552c0d3daaf7a7333cfeaf304d97c86d50d3e.

fixing mistakes

getting rid of the s

* this rename makes sense to me

* adding an alias to the view

* fixed broken up namespaces
2022-12-16 18:40:56 +05:30
Volodymyr Kozieiev 68ea7cdfc5
Communities now correctly listed in pending/joined sections. (#14515) 2022-12-13 20:55:32 +00:00
yqrashawn bd84a36582
feat: new delete message (#14232) 2022-12-09 15:35:41 +08:00
Roman Volosovskyi 9be8a5b961
Add peers stats screen 2022-12-08 13:28:09 +01:00
frank f7af7ca25d
Allow owner/admin to delete messages of a community (#14366) 2022-12-02 20:13:02 +08:00
Christoph Pader f18044c9dc
Implement Token Gating (#13899)
* feat: implement token gating component

* fix: add .calva to gitignore
2022-12-01 13:30:07 +00:00
Mohamed Javid bc7578ae85
[Feature] Added Mentions in Activity Center (#14451)
* [Feature][#14352] Added mentions in Activity Center

* [Update][#14352] Update in namespace

* [Update][#14352] Code Style

* [Update][#14352] Created commons for AC and fix warning on text
2022-11-29 21:55:33 +08:00
Omar Basem 49e9738ff8
Group Details Screen (2) (#14427)
* feat: group details screen (2)
2022-11-29 10:41:19 +04:00
Omar Basem 14c243803f
Photo Selector (1) (#14426)
* feat: photo-selector (1)
2022-11-24 15:29:54 +04:00
flexsurfer bab0fc7ac0
move chats home (#14419)
* move chats home
2022-11-23 14:33:40 +01:00
frank 32d85d5059
Allow styling text in composer when selecting it with native actions (#14249) 2022-11-23 10:28:44 +08:00
Omar Basem 5492fb472f
Group Details Screen (#14377)
* feat: group details screen
2022-11-21 16:03:49 +04:00
Icaro Motta 0f7ccce3df
Implement identity verification flow (#14365) 2022-11-16 16:46:04 -03:00
John Ngei e44d4c83c0
communites home screen context actions (#14371) 2022-11-16 17:48:18 +03:00
Omar Basem ea7548d54a
Confirmation Dialog (#14348)
* feat: confirmation dialog
2022-11-15 17:34:38 +04:00
Omar Basem 57526a45ad
Bottom sheet missing actions (#14332)
* feat: bottom sheets
2022-11-11 17:02:39 +04:00
John Ngei a1c1be8f8a
updated communities home and discover screen (#14018) 2022-11-09 15:41:34 +03:00
Omar Basem f17f57cc5e
Messages home items (#14256)
* feat: messages home items
2022-11-08 13:01:02 +04:00
du64 ab1dd7e794
Fix typo (replace backtick with apostrophe) (#14255) 2022-10-29 17:24:29 +02:00
Andrea Maria Piana b774ecbcb4
Add chat actions in home screen
This commit adds the following chat actions on the home screen:

- Mute chat
- Delete chat
- View profile (one to ones only)
- Clear history

It adds also integration tests for muting and deleting a chat.

To accommodate multiple dividers in the bottom sheet, the interface has
been changed to accept a sequence of sequences, instead of a map.
2022-10-27 17:53:30 +01:00