Commit Graph

78 Commits

Author SHA1 Message Date
Michał Cieślak 7323889a8c ContactDetails decomposed into smaller, more specialized components
Closes: #16793
2024-11-29 17:46:50 +01:00
Lukáš Tinkl 1c255175ab feat(ProfileContextMenu): Add "Mark as Trusted" and "Remove trusted mark"
- enhance and fix the SB page to be able to show all the permutations,
including profile image, emoji hash and ring

Fixes #16586
2024-11-19 15:51:55 +01:00
Michał Cieślak 544f749f44 ProfileHeader and related components refactored to use compressed key directly 2024-11-13 09:49:07 +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 28f6bee90e Utils.getCompressedPk removed from multiple components 2024-10-31 11:11:30 +01:00
Michał Cieślak 4c7205fc5d getEmojiHashAsJson moved from Utils to UtilsStore 2024-10-28 23:16:31 +01:00
Michał Cieślak f6f73c188a isAlias moved from Utils to UtilsStore 2024-10-28 23:16:31 +01: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 c22a15e8fa Backend-dependent content removed from Constants, userProfile removed from Global
Closes: #16459
2024-10-16 23:02:02 +02:00
Michał Cieślak 3bf415add0 UserStatusContextMenu refactored to be not dependent on stores 2024-10-16 23:02:02 +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
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
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
Stefan 473e2e273f feat(wallet) connect assets ordering with saving to DB backend
Also refactor the existing code based on the latest understanding.

Closes #13312
2024-04-09 09:34:52 +02:00
Alexandra Betouni 4af2a97358 [ProfileShowcase] Updated delegates as per design + added web tab
Closes #13421
Closes #13606
2024-04-02 10:21:13 +03: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 1d9c136bf8 feat(ProfileShowcase): Some properties prepared for task #13997 development
Part of #13997
2024-03-20 09:31:34 +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
Alex Jbanca 3a3c3204fa
fix(ProfileShowcase): Add live preview support in the profile view (#13972)
* fix(ProfileShowcase): Add live preview support in the profile view

* Update ui/imports/shared/views/profile/ProfileShowcaseView.qml

Co-authored-by: Lukáš Tinkl <lukast@status.im>

---------

Co-authored-by: Lukáš Tinkl <lukast@status.im>
2024-03-14 19:31:38 +02:00
Lukáš Tinkl d25cefcc2e fix(StatusBaseButton): adapt to handle actions when it is disabled
- add an `interactive` property as a drop-in replacement for `enabled`;
the UI looks "disabled" but can still display e.g. a tooltip or some
loading animation
- add the ability to display a tooltip
- remove DisabledTooltipButton and replace it with a regular
`Status(Flat)Button`, using the above new features
- update storybook with the new `interactive` switch

Fixes #10185
2024-03-14 18:00:27 +01: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
Mikhail Rogachev 611d70a3b2
feat: Save profile identity in one json (#13937) 2024-03-13 10:46:40 +01:00
Mikhail Rogachev b77d6ab76f fix: Switch profile showcase to the right models (#13924) 2024-03-13 10:02:30 +02: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
Alex Jbanca e7a1f5e831 feat(ProfileShowcase): Sync dirty state with the source model
Whenever the source model becomes identical to the showcase dirty model, the dirty flag is removed
2024-03-11 20:58:55 +02: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
Alex Jbanca 4d6082e806 feat(ProfileShowcase): Updates based on comments 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
Alex Jbanca 5a3bca9a51 feat(ProfileShowcase): Remove assets tab from settings and profile dialog
The assets tab will be implemented later on. It's not needed for this milestone
2024-03-06 14:49:54 +02:00
Noelia d12641264a feat(SettingsContentBase): Save changes bubble overlaid by default
- Added `autoscrollWhenDirty` property to be able to configure the settings content base as autoscroll mode when dirty toast appears. Otherwise, the toast will be shown overlaid on top of the view content.
- Updated profile view to setup autoscroll on `Identity` tab. Rest of app cases are setup with the overlay mode.

Closes #13517
2024-03-05 17:54:10 +01: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
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
Noelia 9c3159ecd1 feat(ProfileSettings): Base layout updated
Removed unnecessary `ColumnLayout` and adjusted sizing of component inside.
2024-02-19 11:13:23 +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 edf7e82932 feat(ProfileShowcase): Save changes tooltip when disabled
- Replaced current `StatusButton` type to `DisabledTootipButton` to allow tooltip displayed when disabled in dirty toast message.
- Added needed conditions in `MyProfileView` where the tooltip when the save changes is disabled.

Closes #13334
2024-02-13 10:56:50 +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
Alexandra Betouni 480985ca4e
[Settings]: Added change password view (#13284)
* [Settings]: Added change password view

Closes #10037

Adding configuration options to PasswordView

* feat(ChangePassword): Integrate ConfirmChangePasswordModal

1. Integrate with backend
2. Clean unused components

* feat: Add support to restart application

1. Adding restart app support in DOtherSide
2. Integrating nimqml
3. Expose in qml in Utils

* chore: Move changeDatabasePassword call to threadpool

* chore(squish): Fix failing tests due to settings index changes

---------

Co-authored-by: Alex Jbanca <alexjb@status.im>
2024-02-09 13:31:37 +02:00
Lukáš Tinkl 319b5dd23e feat(profile dialog): General UI updates
- create new `ShareProfileDialog` with QR code + links
- align the context menu items with latest Figma designs
- add `isBlocked` to contact icons
- adjust SB to show more options and showcase models

Fixes #13416
Fixes #13417
2024-02-09 11:41:55 +01:00
Valentina1133 0378b12b7d
chore: object names for profile tab buttons added (#13469) 2024-02-09 11:05:14 +07:00
Lukáš Tinkl 3eff96bfc8 feat(profile): Implement side-by-side preview
- restored dirty tracking for Identity; showcase is handled by the NIM
backend atm
- StatusSectionLayout: make the right panel width configurable and clean
the docu

Fixes #13331
2024-02-07 14:29:59 +01:00
Lukáš Tinkl 3ebd4509bb feat(profile): Break profile settings page into tabs
- Each section of the current profile settings view is moved into the
corresponding tab
- The Preview tab becomes the Preview button
- Password button becomes a separate page: PR: [Settings]: Added change
password view #13284 (I kept the Change password button for now until
this is merged)

- Also creates the new Web (Social links) tab as a result

Fixes #13330
Fixes #13406
2024-02-07 10:39:18 +01:00
Ivan Belyakov c791173c81 fix(wallet): disable "Send" button at all places when no network
connection

Closes: #13326
2024-02-02 14:46:40 +01:00
Khushboo Mehta 8da6847d42 fix(@desktop/wallet): Uses the new wallet assets in Profile showcase 2024-01-23 23:27:40 +01:00
Lukáš Tinkl b4958689bd fix: fixup left margin in settings to be 64px
as intended in Figma; also fix the icon size to be 24px
2023-09-25 14:09:45 +02:00
Patryk Osmaczko 35a2dd5244 [Popups]: added destroy() function in all popups by default
Also switched StatusModal to derive from StatusDialog instead
of Popup type

Closes #10149
2023-06-02 14:28:39 +03:00
Lukáš Tinkl 5c0f1981ad feat: Profile Showcase: Proof of concept for own Profile Dialog
- the goal of this PR is to get some bsais UI building blocks done for
the followup PRs
- the order of showcase tabs now is:
Communities/Accounts/Collectibles/Assets
- there will be further changes to accomodate for different types of
backend models as those get developed (for other users' profiles)

Fixes #9664
2023-03-08 18:45:27 +01:00