Commit Graph

177 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 b8f9566116 UserImage refactored to remove dependency on backend via Utils 2024-11-13 09:49:07 +01:00
Michał Cieślak 5238074ed3 Settings list simplified
- UI simplified, made independent from the backend
- dedicated model created, filtering on the level of model instead of
  per delegate
- using ListView instead of mutliple Repeaters
- UI models removed from ProfileSectionStore

Closes: #16675
2024-11-04 13:53:28 +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 28f6bee90e Utils.getCompressedPk removed from multiple components 2024-10-31 11:11:30 +01:00
Michał Cieślak adc8f5bc3a ContactPanel api simplified 2024-10-31 11:11:30 +01:00
Michał Cieślak 9b5b5a4a60 ContactPanel delegate made backend-independent 2024-10-31 11:11:30 +01:00
Jonathan Rainville d511c25d2e
remove old code about ID verification and fix trustStatus bug (#16548)
* chore: remove old code about ID verification

* refactor(trust): remove untrustowrthy and isVerified from items and use trustStatus

* chore(status-go): up status-go to get fix for trustStatus reseting

Fixes #16392

* chore: remove verified/trusted profile showcase category
2024-10-29 14:08:12 -04:00
Jonathan Rainville c8d2e39329
fix(communities): fix missing members in community settings (#16634)
Fixes #16627

I had missed that the community settings also used the members. Fixed by using the model adaptor and using the right property name
2024-10-28 13:14:25 -04:00
Lukáš Tinkl d9d6d90dc9 [Style] remove legacy Style and its themes
- legacy Style and ThemePalette removed
- moved and deduplicated font definitions into `Theme` (unrelated to a
color palette)
- `Style.current.foo` -> `Theme.foo`
- `Style.current.fooColor` -> `Theme.palette.fooColor`
- upgrade the imports to 5.15
- removed some mode dead components

Fixes #16514
2024-10-22 15:54:31 +02:00
Michał Cieślak 5acb9fc8fb Global.settingsSubsection property (UI state in singleton) removed 2024-10-22 11:18:09 +02:00
Anastasiya Semenkevich b0105fc30a chore(@qml): add object names for action buttons in panels 2024-10-18 20:14:28 +03:00
Michał Cieślak c22a15e8fa Backend-dependent content removed from Constants, userProfile removed from Global
Closes: #16459
2024-10-16 23:02:02 +02:00
Khushboo Mehta 16a403e3e5 feat(@desktop/wallet): Remove network prefixes in Profile, Profile showcase and Profile preview 2024-10-11 18:48:37 +02:00
Jonathan Rainville 1cad66bb2c
perf(admin): speed up admin tabs significantly (#16363)
Iterates #16043

* fix(admin): improve admin panel loading by putting sections in loaders

* fix(admin): speed up members tab by using nim model and real search

* fix(admin): speed up airdrop panel

* fix(admin): mint panel and airdrop panel interactions and previous btn

* fix(admin): speed up overview page

* fix(admin): speed up permissions page
2024-09-27 13:28:27 -04:00
Cuteivist ee770257c5
chore: Disable clicking on Betatag (#16207) 2024-08-30 12:19:42 +02:00
Seitseman 2275fe4f1f fix(Stored): Make stores typed
Adding types instead of var for stores used in qml components

Closes: #14801
2024-08-27 10:52:18 +02:00
Lukáš Tinkl ed650d32dd chore: Remove the Browser from the app completely for now
- completely removes the `ui/app/AppLayouts/Browser` QML app section
- removes the `app_service/service/bookmarks`,
`app/modules/main/browser_section` and
`src/app_service/service/dapp_permissions` NIM modules
- remove the Browser settings page and associated popups/components
- HTML links now always open in an external browser
- adjust the section indexes in `Constants`
- fixup the e2e tests

Fixes #14614
2024-08-07 16:45:31 +02:00
Lukáš Tinkl 6159f53839 fix: Add additional information to the Beta tags
- display additional beta information as a tooltip
- don't overlap the Beta badge with the unread msg indicator
- some minor cleanups & fixes

Fixes #15795
Fixes #15929
2024-08-05 15:39:51 +02:00
Roman Chornii ecec94b1ff
fix: Removed duplicated text in Token Popup by reusing existing supportedTokenSources mapping (#15587)
fixes #14366
2024-07-19 18:41:40 +03:00
Jonathan Rainville 2501e04ccb
Add Beta tag to the features that are not yet fully ready (#15617)
Fixes #15614

* feat(StatusQ): add StatusExperimentalTag component and page
* chore(beta): add beta tag to ENS
* chore(beta): add beta tag to Activity tab
* chore(beta): add beta tag to wallet settings
* chore(beta): add beta tag to Notification Center
2024-07-18 16:10:24 -04:00
Roman Chornii a2032ac689
fix(ProfileDescriptionPanel) bio affecting profile showcase changes (#15063)
fixes #15015
2024-06-10 12:29:38 +03:00
Seitseman 70bdd9140f fix: Error message is misleading when pasting bio longer than 240 chars
de-synchronized charLimit and input.maximumLength for Profile Description bio properties to get the UX identical to mobile.
Fixes: #14879
2024-05-31 11:38:00 -04:00
Roman Chornii 55edd94401
fix(ProfileDescriptionPanel): Profile settings -> Identity : Addition of validation to bio field (#14772)
- Added validator to the bio component to allow only ascii and emoji characters
This PR fixes #13623
2024-05-21 00:13:55 +03:00
Alex Jbanca f3dc7b9918 feat(ProfileShowcase): Implement custom showcase position when searcher text is filtering items 2024-05-16 16:47:42 +03:00
Lukáš Tinkl b84c1f20df fix[Shared Addresses] Can't edit shared address while the join request is pending
- disallow changing the Shared addresses while our request to join
community is still pending

Fixes #14292
2024-04-09 13:11:39 +02:00
Lukáš Tinkl b191caaec6 feat: Add missing eligible to join tag in CommunityMembershipSetupDialog
- implement the eligibility check in C++, returning the highest possible
role the user would be allowed to join under
- enable/disable the "Share" button based on the above permissions check
- remove all the locally placed components, access teh popup only via
Global/Popups
- calculate the `accessType` internally based on the permissions present
- update the eligibility as the async check for permissions is finished
- fix the permissions panel background color
- partially revert the share/finish/cancel buttons behavior; it must be
one button due to StatusStackModal limitations
- fix some other minor UI issues or differences to current Figma designs
- adjust SB, add the possibility to play around with different
permission models

Fixes #14100
2024-03-29 16:11:59 +01:00
Michał Cieślak 0557977aa2 chore(Communities): CommunityIntroDialog renamed to CommunityMembershipSetupDialog
Closes: #14144
2024-03-26 14:03:29 +01:00
Alex Jbanca 3b57ece338 fix(ProfileShowcase|): Change stroke position from the outside to inside 2024-03-19 15:07:46 +02:00
Alex Jbanca 24d6c6d273 feat(profileShowcase): Sync collectibles context menu with account visibility 2024-03-13 17:51:23 +02:00
Noelia 66c51ed777 feat(ProfileShowcase): Add network prefixes and filter watch only accounts
- Added network prefixes in profile showcase accounts delegate and included them in the searcher.
- Added filter to just display own accounts in profile showcase accounts tab.

Closes #13899
2024-03-13 14:37:03 +01:00
Alex Jbanca 4ef30a91a3 feat(ProfileShowcase): Create dirty state component for the web tab and integrate the UI 2024-03-13 10:02:30 +02:00
Anthony Laibe 115610fcf6 feat(@wallet): unknown token 2024-03-11 11:29:32 +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 a9b5d8fcf7 feat(ProfileShowcase): Add search input in all tabs
- Added searcher input in header.
- Added 2 filter proxies for hidden and inshowcase models depending on search text.
- Added filter expression per showcase tab (accounts, collectibles and communities).
- Added specific placeholder when search empty.
- Added specific logic when search active.
- Added search validation.

Closes #13508
2024-03-08 10:43:07 +01:00
Noelia b92974ffff feat(ProfileShowcase): Display counter in `In showcase` section header and elements limit
- Added counter in showcase header.
- Added placeholder when limit reached and section expanded.
- Added placeholder when limit reached and section collapsed.
- Added green animation when section collapsed and element added.
- Disabled showcase delegate context menu when limit reached.
- Dynamic tooltip offset center added.
- Added model changes tracker to track the in showcase count.

Closes #13507
2024-03-07 16:10:46 +01:00
Alex Jbanca 4d6082e806 feat(ProfileShowcase): Updates based on comments 2024-03-06 14:49:54 +02:00
Alex Jbanca e304d9b76b feat(ProfileShowcase): Implement workaround for the inline components not working
This commit will fix the linux and windows builds by removing the usage of public inline components

TODO: revert this commit once all platforms are migrated to qt 5.15.8+
2024-03-06 14:49:54 +02:00
Alex Jbanca 4a4a5d5c4b feat(ProfileShowcase): Adding the MovableModel to the ProfileShowcaseModels to intercept the SFPM events
This is needed for the DND.
2024-03-06 14:49:54 +02:00
Alex Jbanca 07484cb15c feat(ProfileShowcase): Simplify ProfileShowcasePanel API and connect to the new models
1. Fix `EmptyShapeRectangleFooterListView` visibility and positioning after ListView items are animated out of view
2. Update `ShowcaseDelegate` to remove modelObject dependency. The UI properties needed will be received from parent
3. Update `ProfileShowcasePanel` to remove the previous logic involving rows move and visibility change. There is no need now for two specialised delegate components (one for in showcase and one for hidden). The delegate is still configured outside of this component because the model rolenames need to be mapped to the delegate properties. The common delegate logic is implemented in the `ProfileShowcasePanel` and only the model mapping is needed from parent component.
3. Update all `ProfileShowcase*Panel` to impement the new API
4. Remove all `*ShowcaseDelegate`. The delegate is simple enough to be configured at once in the Panel
2024-03-06 14:49:54 +02:00
Noelia babedf4272 feat(ProfileShowcase) Web tab visual updates according to new design
- Updated `AddSocialLinkModal` according to new design.
- Modified main social links items according to new design.
- Updated edit modal according to new design.
- Some text validation updates.

Closes #13511
2024-03-04 10:54:12 +01:00
Lukáš Tinkl fda1d37c5b feat(Profile flow): ID verification flows (incoming/outgoing)
- Send/request ID verification
- Reply to incoming ID request
- Review ID verification reply
- adjust SB and add shortcuts to trigger the various states of the ID
verification flows

Fixes #13709
Fixes #13745
Fixes #13747
2024-03-04 09:56:30 +01:00
Noelia 3425102990 feat(ProfileShowcase): Adds drop area in collapsed headers
- It adds an additional right component to `FoldableHeader.qml`.
- It adds hidden button component in `hidden` foldable header.
- It adds visibility buttons component in `in showcase` foldable header.

Closes #13595
2024-02-27 11:48:10 +01:00
Noelia 90f4e1477c feat(ProfileShowcase): Add blur delegate state while dragging
- Added `FastBlur` component to `ShowcaseDelegate` and added property to change to blur state.
- Updated `ProfileShowcasePanel` to activate blur delegate state when dragging.

Closes #13594
2024-02-26 10:05:31 +01:00
Noelia 1dc03624d6 feat(ProfileShowcase): Drop area behaviour / design when sections expanded
- It updates `ProfileShowcasePanel` with new drop area design adding shadows, changing drop areas design and sizes.

- It adjusts `ShowcaseDelegate` according to design, ie: heigh and background colour on dragActive.

Closes #13509
2024-02-23 10:13:13 +01:00
Noelia f31f01d64b feat(ProfileShowcase): Enable add more accounts component
- Added new additional footer component in `EmptyShapeRectangleFooterListView`.
- Enabled more accounts component in profile showcase assets and collectibles panel.

Closes #13590
2024-02-22 17:09:36 +01:00
Noelia 01095e0208 feat(ProfileShowcase): Add foldable sections in profile showcase tabs
- Modified `ProfileShowcasePanel` with 2 foldable sections.
-  Modified api of `ProfileShowcaseCommunitiesPanel` with the new base component.
- Modified api of `ProfileShowcaseAccountsPanel` with the new base component.
- Modified api of `ProfileShowcaseAssetsPanel`  and `ProfileShowcaseCollectiblesPanel` with the new base component.
- Added needed `storybook` support.

Closes of #13504
2024-02-19 11:13:23 +01:00
Noelia 98f9edb545 fix(ManageTokens): Advanced tab UI pixel perfect fixes
- Fixed spacing between `Token lists` title and list items.
- Fixed spacing between list items and `add more` box.
- Fixed highlight item when hovering `View` button.

Closes  #13395
2024-02-14 13:21:08 +01:00
Noelia 1de573ada7 feat(ProfileShowcase): Collectibles panel navigation button
- Created new reusable component to navigate to accounts tab form collectibles / assets tab.
- Added needed support in `storybook` to cover the new use case.

Closes #13340
2024-02-14 10:28:56 +01:00
Noelia 9d4f1f6aa7 feat(ProfileShowcase): Assets panel navigation button
- Added new button to navigate to accounts tab form assets tab.
- Added needed support in storybook to cover the new use case.

Closes #13337
2024-02-12 14:44:47 +01:00