Commit Graph

36 Commits

Author SHA1 Message Date
Jonathan Rainville 50132c5a0e
Refactor contacts models to have a single model, remove useless properties and improve updating (#16667)
* refactor(contacts): refactor 5 contact models into one and filter in QML

Fixes #16549

Refactors the 5 types of contact models (all, mutuals, banned, received and sent) into only the `allContacts` and use an Adaptor on the QML side to filter into the needed models.
This cleans the Nim side a lot and makes applying updates to the contacts' model way simpler.

* chore(contacts): remove useless and duplicated contact properties

OptionalName and isSyncing were never used.
DefaultDisplayName was not really used and is actually a duplication of preferredDisplayName, so I replaced the limited usages of DefaultDisplayName by preferredDisplayName

* refactor(contacts): improve updates by not removing and re-adding

We used to update contact items by removing them from the models and re-adding them. This is highly inefficient.
Instead, the proper way is to update only the values that changed.

* user_model: onItemChanged signal removed

* user_model: sorting by online status no longer needed on nim side

* Chat/RootStore: contactsModel property removed

* ContactsStore encapsulation improved

* ContactsStore: contacts model adaptor moved outside store

---------

Co-authored-by: Michał Cieślak <michalcieslak@status.im>
2024-11-28 09:15:34 -05:00
Michał Cieślak ea584f0693 ActivityNotification: unnecessary code removed 2024-11-14 15:13:24 +01:00
Michał Cieślak b8f9566116 UserImage refactored to remove dependency on backend via Utils 2024-11-13 09:49:07 +01:00
Michał Cieślak ba80ba97f7 compressedPubKey exposed via backend models, usages of Utils.getCompressedPk removed, SB pages simplified 2024-10-31 11:11:30 +01:00
Michał Cieślak a8940a71f5 Using ClipboardUtils.setText instead of nim's copyToClipboard 2024-08-29 15:46:17 +02:00
Jonathan Rainville 4159148ab7
fix(profile): fix canceling modifications in the profile (#15905) (#15906)
Fixes #15904
2024-07-31 10:00:56 -04:00
Alex Jbanca f943440915 refactor(ProfileView): Adapt the profile view to the new `ContactDetails` component 2024-06-14 17:17:18 +03:00
Alex Jbanca afcb7608e0 refactor(contactDetailsAsJson): Adding `ContactDetails` component to replace `getContactDetailsAsJson`
This component has live data and its purpose is to replace getContactDetailsAsJson

+ adding storybook page
+ adding tests
2024-06-14 17:17:18 +03:00
Andrey Bocharnikov 688238fdd3 Fix(Profile): Fix saving of profile identity changes (#14464)
Problem:
There were no difference between the fact that the avatar is not changed and the avatar is deleted. The same for bio and displayName

On NIM, this state was simply rewritten
Solution
(The problem was discovered due to the fact that if the picture does not change, then Nim receives a base64 encoded source - instead of the path to the new Avatar. Which Status go could not parse as a file.)

On the QML side, if we see that there have been changes, we add changes to changesMap Json, if there are no changes, then do not add. (This is the way to implement Option).

On the NIM Side - convert to saveData

On the Module side - distinguish Nil from an empty string

fixes #14464
2024-05-03 10:43:29 -04:00
Mikhail Rogachev 839f2c6b21
Feat: New showcase models for a contact (#13998)
* Feat: New showcase models for a contact

* feat(ProfileShowcase): Integrate the new profile showcase backend

* fix(Storybook): Fix ProfileShowcaseModelsPage

* fix: fetch only requested profile showcase data

Support PR for https://github.com/status-im/status-go/pull/4982

* feat: Load and validate profile showcase for a contact in two steps

* fix: fetching criteria for profile showcase collectibles

* fix: review fixes

---------

Co-authored-by: Alex Jbanca <alexjb@status.im>
2024-03-29 12:43:49 +01:00
Noelia d35c0bd3d1 feat(ProfileShowcase): Align UI save flow according to backend response
- Added loading state in dirty toast message.
- Added store connections in `MyProfileView` and save loading logic.
- Added toasts notifications.

Closes #13950

a
2024-03-20 09:31:34 +01:00
MishkaRogachev b37f0f0fd8 feat: emit signals on saving profile identity 2024-03-15 10:22:55 +01:00
MishkaRogachev 8a5164db68 feat: emit signals on saving profile showcase preferences
Close #13968
2024-03-15 10:22:55 +01:00
Mikhail Rogachev 611d70a3b2
feat: Save profile identity in one json (#13937) 2024-03-13 10:46:40 +01:00
Mikhail Rogachev 74dfd181c3
feat: Add new simplified model for profile showcase preferences (#13708)
* feat: Add new simplified model for profile showcase preferences

Close #13688

* feat: Add new api for saving profile showcase preferences

* feat(ProfileShowase): Save action with the new backend

- Created JSON file according to new backend structure when saving.
- Updated `dirty state` to sync writable and movable models when position is changed to have a better internal models sync.
- Reenabled identity fields save.

Closes #13799

* feat(ProfileShowcase): Showcase limit values integration with backend

Updated showcase limits with values coming from backend.

---------

Co-authored-by: Noelia <noelia@status.im>
2024-03-08 21:11:48 +01:00
Noelia 3386ce74e7 feat(ProfileShowcase): Created first info popup
- Created `ProfileShowcaseInfoPopup` component.
- Added storybook support for the new popup component.
- Added new popup into the application flow.
- New property stored in local account settings file.

Closes #13338
2024-02-26 10:08:52 +01:00
Lukáš Tinkl 46e256673c feat(profile): Place user image/identicon onto the QR code
- fix the QR code to generate a URL with the link to the profile instead
of just the user key
- reuse the `UserImage` component and place it on top of the existing QR
code
- put a white rectangle behind the QR code image and white ring around
the user image

Fixes #13482
2024-02-14 13:37:06 +01:00
Mikhail Rogachev 2abfe0fa0c
feat(ProfileShowcase): Implement profile showcase collectibles (#13103)
* feat(ProfileShowcase): Show token balences in the profile showcase

* feat: support new tokens & collectible identification

* feat: add collectibles to profile showcase preferences

* feat: dispaly collectibles for a contact

* fix: review fixes & tokens code moved to separated PR
2024-01-25 21:43:36 +04:00
MishkaRogachev 84f3626390 feat(Contacts): Show profile showcase data for contacts 2023-11-09 15:57:03 -05:00
Mikhail Rogachev c7c5ec340d
feat(Profile): Profile showcase backend (#12510)
* feat(Profile): simplified approach to reuse existing models with profile

* feat(Profile): adapt nim models for view actions (move and change visibility)

* feat(Profile): save profile showcasse model changes to the db

* feat(Profile): update profile showcase models on changes from status-go

* feat(Profile): Various bug fixes for profile showcase

* fix(Profile): Fixes storing profile order and review fixes

* chore(Profile): Rename and minimise signals for updating base model filters
2023-11-01 20:54:22 +04:00
Sale Djenic ae492fe631 fix(@desktop/profile): profile social links
- added to sync mechanism
- added to backup mechanism
- UI updated according to the newest changes

Closes: #10390
2023-06-07 13:22:59 +02:00
Igor Sirotin 3ff97c9137
fix(Onboarding): Image is visible after first onboard. Other minor fixes (#10489) 2023-05-02 16:37:31 +03:00
Ivan Belyakov 36940cc81e fix(@desktop/wallet): update tests to remove wallet activation 2023-03-22 10:39:59 +03:00
Ivan Belyakov 02ebc8744c feat(@desktop/wallet): remove isWalletEnabled from local settings and
use ENABLE_WALLET env instead
2023-03-22 10:39:59 +03:00
Lukáš Tinkl 1998a6556a feat(Profile): New Social Links workflow
TLDR;
- all links visible in settings/popup
- persistent order of items
- drag'n'drop to reorder
- editing/deleting in a new popup
- several links of the same type

Needs changes in nimqml (to expose QAIM::begin/endMoveRows), in
DOtherSide (to expose those to NIM), in status-go (to preserve the links
order and fully save them to DB)

Fixes #9777
2023-03-16 16:08:23 +01:00
Igor Sirotin 33d38a4081 fix: Device syncing
- Added local pairing signals
- Remove slash ending from keystorePath
- Implemented localPairingState. Fixed sync new device workflow. 
- Error message view design update 
- Moved local pairing status to devices service
- ConnectionString automatic validation
- Async inputConnectionString
- Added all installation properties to model. Minor renaming.
- Removed emoji and color customization
- Show display name, colorhash and color in device being synced
- Add timeout to pairing server
- Add device type
Fix `DeviceSyncingView` sizing. Fix `inputConnectionString` async task slot.
2023-03-16 00:27:21 +13:00
Sale Djenic 8cc80694e2 fix(@desktop/general): qml warnings caused by undefined context props handled 2023-02-17 12:25:44 +01:00
Igor Sirotin 50427390dd ens: Fix ens name inconsistency across app 2022-12-14 23:46:50 +03:00
Igor Sirotin e436d6937d fix: Removing and releasing ENS names 2022-12-09 18:56:33 +03:00
Patryk Osmaczko 7adfb515a9 feat(settings/profile): add bio and social links to settings
iterates: #6797
2022-08-17 13:18:32 +02:00
Pascal Precht 04037d1d64 fix(Profile): ensure backup seedphrase warning disappears
The warning to back up the seedphrase should disappear after either
dismissing the message, or in fact backing up the seed phrase.

The latter was not happening because the banner didn't take that
information into account. This commit fixes this by ensuring we let the
banner know whether the seed phrase was already backed up.

Notice that we don't want to render the banner when the seed phrase has
*not* been backed up yet, but was dismissed by the user.

Fixes #6255
2022-07-07 15:18:56 +02:00
Igor Sirotin c7d2157d20 fix(MyProfileView): New design 2022-07-04 21:56:04 +04:00
Boris Melnik 235046cba0 feat(settings): Add back up seed phrase banner in profile settings
Closes: #5743
2022-06-15 12:45:38 -04:00
Patryk Osmaczko 25c6a5f5ca chore(@desktop): remove identicon related code 2022-04-04 17:50:48 +02:00
Richard Ramos b07910e27f feat: display name 2022-03-14 15:17:04 -04:00
Sale Djenic 9a82370df0 refactor(@desktop/settings-profile): profile section updated 2022-02-01 11:47:24 +01:00