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+
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
when ENS name is resolved. Resolve ENS name before used in SendModal.
UI tweaks:
- red stroke on address input in case of error
- smaller tick for validation address input
- added validation spinner to address input, removed from the button
- handled tab key to move focus between inputs
- extend `isUserAllowedToSendMessage` to also cover
`Constants.chatType.communityChat`
- let `admin` always satisfy the permissions
- hide the add emoji/reaction button instead of disabling it when the
permissions are not met
- adjust the error msg to better reflect the reality (tokens vs.
permissions)
Fixes#13777
Manual calculation of bubble postion to be correctly centered due to the usage of `SettingsContentBase` as a centralPanel component that already has a default left margin value.
- 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
- 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
- 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#13709Fixes#13745Fixes#13747
Add new field AmountInWeis to token criteria dto.
Keep strings instead of floats in token_criteria_item.
HoldingSelectionModel keeps amount in wei-like units but they are displayed in permissions as floats (divided by decimals).
Issue #11588
- 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
- TLDR: we were scaling twice, resulting in ginourmous pixel values
The long story:
- since Qt treats the various scale factors in a multiplicative way (see
https://www.qt.io/blog/2016/01/26/high-dpi-support-in-qt-5-6 for
explanation) and there's no way to get the screen's baseline scale
factor programatically, we also have to export `QT_SCREEN_SCALE_FACTORS`
to something that's not equal to `0` or `1` to force the monitor scale
factor to `100%` and then compensate for it when exporting our own scale
value using `QT_SCALE_FACTOR`
- make the UI slider values go in `25%` steps, allowing for more fine
grained control; with `100%` we fallback to the Qt's native handling of
highdpi
- raised the maximum to `300%` since on highres displays, one wouldn't
be able to go over the implicit maximum of `200%` (due to the internal
scaling being 2x)
- scale our main window's minimum width/height so that we don't overflow
the monitor's available space
- modernize the `ConfirmAppRestartModal` to use `StatusDialog`
- use the new `Utils.restartApplication()` when changing the UI language
as well
- remove some dead code
In the (very) long term, we should take a different approach of scaling
our app independently of Qt, just taking the monitor
`Screen.devicePixelRatio` into account, similar to what other apps like
Telegram do
Fixes#13484
- implement two new actions and popups to directly mark a contact as "ID
verified" and remove the verification thereof respectively
- do not hardcode the secondary button inside ProfileDialogView and make
it a Loader
- make the CommonContactDialog contents scrollable
Fixes#13711
- 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
- Added `FastBlur` component to `ShowcaseDelegate` and added property to change to blur state.
- Updated `ProfileShowcasePanel` to activate blur delegate state when dragging.
Closes#13594
- 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
- Added new additional footer component in `EmptyShapeRectangleFooterListView`.
- Enabled more accounts component in profile showcase assets and collectibles panel.
Closes#13590
- implemented the missing `StatusBaseButton.Type.Success` state and
colors for both `StatusButton` and `StatusFlatButton`
- use a `switch` instead of a waterfall of ternaries
- adjust storybook for the new case
Fixed#13622
- 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
Renamed `ManageTokensListViewBase` to `EmptyShapeRectangleFooterListView` and moved `FoldableHeader` to shared/controls.
Updated related `ManageXXPanel` components.
- make `SendContactRequestModal.qml` use the common dialog, use the
contact details if we already have it
- make some minimal changes to the "Send ID verification" flow since it
shares the same dialog
- simplify the `CommonContactDialog.qml` footer/buttons handling
- adjust the menu item texts
- emit toasts when the action is performed
- display a tooltip over the compressed elided key
Fixes#13518
- introduce a shared `CommonContactDialog.qml` component, to be used in
all profile/contact related flows
- make `NicknamePopup.qml` use the common dialog
- adjust the menu item text and add a new "Remove nickname" item
- remove unused `DisplayNamePopup.qml`
- emit toasts when the nickname changes
Fixes#13513
This commit handles saved addresses changes and reflect them to the history view
and tx details view. In this context it handles the same way changes coming from sync
devices.
Also fix the issue when switching network mode.
Closes: #13095
* fix(SeedPhrase): Fixing seed phrase validation
1. Validate each word after the editing is finished
2. Fixing the seed phrase suggestions where the suggestions box was hidden behind other ui elements
3. Propagate editingFinished signal in StatusBaseInput, StatusInput, StatusSeedPhraseInput
4. Fixing undefined `mnemonicIndex` errors
* fix: Refactoring of SeedPhraseInputView
Remove duplicated code and use EnterSeedPhrase component
+ Added storybook page
* fix(Onboarding): Fixing seed phrase validation on windows
The seed phrase validation fails on windows due to the dictionary line endings
* chore(squish): Update e2e tests to the new enter seed phrase panel construction
* fix: Load english dictionary from local file using StringUtils
- 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
- 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
- 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
- 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
Fixes#12724
The actual issue wasn't reproducible, even if I removed the guards against duplicate names.
But I did find that the community wasn't cleaned up correctly, so I fixed it in this PR. It should limit the confusion and possible issues that could arise.
- 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#13416Fixes#13417
Changes:
1. Make PermissionsView/EditPermissionsView configurable to support channel permissions config
2. Adding channel permissions support in the create/edit channel popup
3. Connect the channel permissions to backend
4. Cleaning unneeded emojiPopup
Changes:
1. Adding the `Fast` expressions where needed
2. Break the channel permissions into categories in PermissionsStore
3. Remove unused/unneeded code
The purpose of this component is to hold the dirty permissions edited my the user.
This is a functional component used to create/edit/delete permissions. The edited permissions are detached from the backend.
- 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
- 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#13330Fixes#13406
When removing the top-most item from the list, animation was ending with
improper delegates' positioning. No workaround found, transition
disabled.
Closes: #13392
- unify the signature of the method to `move(from, to, count)` so that
both ListModel and NIM have it the same
- realize the move operation using the proper `begin/endMoveRows`
instead of doing a full model reset
- simplify signaling `dataChanged()` for all model roles (nimqml now
follows the C++ impl)
Fixes#13329
* chore: bump status-go
Closes#13139
* fix(settings): It's not possible to switch the log level
Previously it was not possible to change the state of the Debug toggle.
This is because the code forced the setting the default value, ignoring
the database setup, hence always setting the DEBUG as LogLevel.
Closes#13139
- reduce the duplication by moving the controllers (1 per type) to the
toplevel stores
- make sure the internal properties stay in sync between save/load now
that we have just 1 common controller
- fix navigating to the Hidden section from the toast
- finish impl of hiding the token from FirstTokenReceivedPopup
put the respective controller instances into WalletAssetsStore and
CollectiblesStore, so that they can be accessed from other places, like
the SendModal or some popups
Iterates #13293
It provides visual alignments to the current design and also
significantly improves performance because ListView components
are not "unrolled" causing instantiation of too many delegates.
Closes: #12703Closes: #13043
Now the header don't have to be reparented manually. Everything
is done internally in the component. Additionally the usage
in CollectiblesView is adjusted to the change.
- Added UI support for first community token received (asset or collectible).
- Added UI support for any community token received (asset or collectible).
- TODO: Storybook support
Fixes#12515
Show discord user as a message sender.
Show discord avatar next to user name.
Show "Bridged from Discord" label.
Open adjusted profile context menu.
Issue #13098
* chore: bump status-go
* (fix/desktop) removing custom picture is not reflected on contact's side
This PR fixes [9947](#9947) and contains :
- Commit to fix the changing of custom picture and having the change
reflected on contact's side
- Commit to fix the deleting of picture and having the change reflected
on contact's side
teach the model about the special cased self-collections containing just
one single collectible item; we need that for the "Arrange by
collection" token mgmt feature but in all other cases it shouldn't be
treated as a collection/group
Fixes#13281
- add new Hidden tab/section to Settings/Wallet/Manage tokens page and
storybook
- extract the controller(s) to ManageTokensView.qml to share them across
the tabs
- updated the grouped UI delegate
- adjust the tests
Fixes#13201Fixes#13188
* 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
DoubleFlickableWithFolding provides foldable sections and controls
underlying grid views for both categories preventing from instantiating
too many delegates.
Closes: #13045
This commit prevents the user from adding an address to the saved addresses list,
if it was already added to the Wallet section. Also when the user is about to add
an address to the Wallet section, which is already added to the saved addresses
list, the app will ask whether to proceed with that action by removing the related
saved address or cancel the action.
Closes: #13109
- Added new role into ephemeral_notification_model: image.
- Added new view API to display ephemeral notifications with image and action.
- Added support to display asset or collectible image in a toast with different shape (circle or square).
- Default values assigned to the new parameters added in `CommunityTokensStore` meanwhile backend is not ready.
- Created page for `StatusToastMessage` in `storybook`.
Closes#13039
Motivation:
ChannelsSelectionModel.qml is freezing the app when used with a live channel that's being edited because on each channel change the selection model is re-created.
The fix for this is to use the LeftJoinModel to unify the channels selection (a light model containing only keys) and the full channels model containing the channels data. On top of this, the SortFilterProxyModel is added to decorate the model with the roles expected in the UI. Another improvement is by replacing the ExpressionRole with the FastExpressionRole.
Show Qr popup is partially refactored because of the two things:
- to meet new UI requirements (introduced in the new saved addresses design)
- to make usage of that popup more generic, that it can be easily used from different places
... under Settings/Wallet/Manage Tokens
- rename Tokens List tab to Advanced tab
- introduce a new `CurrencyAmountInput` component, backed by
`FormattedDoubleProperty` C++ class (plus the respective SB page)
- use `FastExpressionFoo` for the collectibles views as well
Fixes#12611Fixes#13040
The chain we're using for stickers, collectibles, ens names and other similar activities
is simply determined by the mode the Status app is operating in and it could be either
mainnet or testnet mode. Having that fact in mind we don't need all the calls we were
using in the past for fetching explicitly chain id for each of the sections mentioned above
and that's simplified with these changes.
Implemented:
- adding selection color section
- all input field validations
- interactions within the popup
- an ephemeral notification when adding an address
Closes#13089
.. to filter by community or collection name
- make the HistoryView own filter button look like the other combos
- fix some cosmetic issues for StatusCombo in small/secondary mode
- fix StatusBaseInput bg color in dark mode (was invisible)
- update CollectiblesViewPage with options to include regular and/or
community collectibles
Fixes#12969Fixes#12948
fixes#10703
- Adding a reaction by going in add reaction and clicking R1 should have no effect (Currently the reaction R1 is removed which is not expected)
- Clicking on the R1 directly on the message should remove the reaction (I checked and this already works)
- Add a visual indicator in the add reaction popup on which emoji is already selected
- add the sort combobox to assets/collectibles main wallet view pages
- preserve the current view settings
- add the possibility to navigate/drill down into wallet settings
(sub)subsection
- some other minor changes/fixes
Note: currently assets can't be sorted by "1W change" and collectibles
by "Date added" due to missing backend for these
Fixes#12517Fixes#12518
- Open wallet connect modal when the application is opened from a
deep link
- Add test entry that opens wallet connect modal with mocked
StatusDesktop app that can be used for testing
- Add tests
Closes#12641
turns out the model from the comminitiesModule doesn't contain the
members; use the sectionModel (as in all other places) instead which
already has the correct info
additionally, fix the InviteFriendsToCommunityPopup display, it appeared
empty all the time
Fixes#12967