Commit Graph

223 Commits

Author SHA1 Message Date
Noelia 8ccd091ebc feat(CommunityPortal/StatusCommunityCard): Prepared `StatusCommunityCard` to display permissions row
- `StatusCommunityCard` updated with a new hearder component.
- `CommunitiesGridView` updated to use `CommunityPermissionsRow` component inside card.
- Added needed models.
- Updated storybook.

Pending backend integration: Part of task #10410
2023-04-27 16:10:20 +02:00
Noelia 8a98a08f7b feat(storybook): Created new page for `CommunityPermissionsRow` component
- Updated permissions related models.
- Created new page for new component `CommunityPermissionsRow`
2023-04-27 16:10:20 +02:00
Noelia 8ca70ea018 feat(Community Permissions): Update ENS icon in permission pills
Closes #10341
2023-04-27 16:10:20 +02:00
MishkaRogachev 2160b53e33 fix(ActivityCenter): Use ContactRequestId for accpeting and declining CRs from AC
Close #10127
2023-04-25 16:16:32 +04:00
Michał Cieślak 9fe3456e8f feat(Community/Airdrop): MembersDropdown
Closes: #9800
2023-04-21 11:53:11 +02:00
Michał Cieślak 1ce17ca3d4 feat(TokenPanel): Add support for amounts and network selection
Closes: #9797
2023-04-21 10:26:00 +02:00
Michał Cieślak ada4fdd407 feat(TokenItem): add possibility to display amount, storybook page added 2023-04-21 10:26:00 +02:00
Michał Cieślak b5ba4d1bf4 feat(Airdrops): InlineNetworksComboBox component added 2023-04-21 10:26:00 +02:00
Michał Cieślak c97fe80420 chore(Storybook): page for NetworkFilter added 2023-04-21 10:26:00 +02:00
Michał Cieślak 7fbb2cbc5a feat(Storybook): 'Playground' page for handy prototyping added 2023-04-21 10:26:00 +02:00
Michał Cieślak 1ac4c34a63 feat(Storybook): scrollbar and button for clearing search input added 2023-04-21 10:26:00 +02:00
Stefan 691de11211 fix(Wallet) network selection and unify network implementations
Major changes:

- Don't allow empty network selection. End up using the nim model
  directly instead because of individual row changes issues
  encountered with nim models
- Made the clone model a generic implementation to be used in other
places where we need to clone a model: ReceiveModal,
AddEditSavedAddressPopup
- Use cloned model as alternative to NetworksExtraStoreProxy in
  ReceiveModal
- Added tristate support to our generic checkbox control
- UX improvements as per design
- Fix save address tests naming and zero address issue
- Various fixes

Notes:
- Failed to make NetworkSelectPopup follow ground-truth: show partially
  checked as user intention until the network is selected in the
  source model. Got stuck on nim models not being stable models and
  report wrong entry change when reset. Tried sorting and only updating
  changes without reset but it didn't work.
- Moved grouped property SingleSelectionInfo to its own file from
  an inline component after finding out that it fails to load on Linux
  with error "Cannot assign to property of unknown type: "*".".
  It works on MacOS as expected

Closes: #10119
2023-04-20 19:34:24 +02:00
Dario Gabriel Lipicar da1839fbbb feat(@desktop/wallet) reduce number of digits shown for large currency amounts
Fixes #8917
2023-04-18 10:11:18 -03:00
Igor Sirotin aefa2b9f48
fix(StatusQ): StatusQ is QML module (#10207)
* StatusQ QML module
* qzxing is static lib again
* updated StatusQ resources
* fixed Emoji lookup
* added display to tests-imports ci
2023-04-14 11:18:56 +03:00
Lukáš Tinkl a8eed304c0 feat: implement ProfileShowcase settings
Implement the UI part of Profile/Settings/Showcase:

- Communities/Accounts/Collectibles/Assets tabs
- drag and drop of items between "hidden" and "in showcase" sections
- ability to set individual items' visibility
- persistency (showcase saved across restarts), not exposed yet due to
  missing backend API

Closes #9936
2023-04-12 11:39:37 +02:00
Noelia 5944b529ad feat(storybook): Added support for self destruct alert popup in storybook
Added support for self destruct alert popup in storybook.
2023-04-11 16:19:30 +02:00
Noelia fe22cf1bda feat(storybook): Added storybook support for remote self destruct popup
Added storybook support for remote self destruct popup
2023-04-11 16:19:30 +02:00
Noelia b3b53de9ea feat(storybook): Added support to `TokenHoldersPanel`
Added support to `TokenHoldersPanel`.
Updated  `TokenHoldersModel`.
2023-04-11 16:19:30 +02:00
Patryk Osmaczko f9250e7dd4 feat(storybook): add ChatAnchorButtonsPanel
iterates: #9069
2023-04-11 13:35:04 +02:00
Stefan 34c04f0af6 fix(Wallet) fix DerivationPathInput allow custom partial path
The non-standard derivation path was not allowed to be entered so paths
with custom indexes were not allowed.
Also implemented warning for non-ethereum coin
Added more tests for the new specifications
Other minor improvements and fixes

Closes #10135
2023-04-05 18:48:15 +04:00
Michał Cieślak 8dafdfceb8 feat(CommunityPermissions): Switch to enable/disable 'Who holds' section
Closes: #8498
2023-04-05 11:46:20 +02:00
Michał Cieślak 43196d9e31 feat(StatusGroupBox): Use StatusIcon to gray out label when disabled 2023-04-05 11:46:20 +02:00
Michał Cieślak 6768f62451 feat(Airdrops): Component for selecting recipient addresses and members
Closes: #9799
2023-04-04 09:56:47 +02:00
Alex Jbanca 5dc60f5782 fix(JoinCommunityView): Change Reveal Address button icon based on auth type 2023-04-01 08:33:06 +03:00
Stefan 81c3463816 feat(wallet): implement DerivationPathInput control
The enforcing of the derivation path editing rules is done in a structured
way by handling all the changes on the array of `Element` stored in
d.elements and then recomposing the HTML string to be displayed after
every change.

Main limitation is the workaround in `onTextChanged` that regenerates
the text in order to dismiss foreign characters introduced by pasting
which I couldn't find a way to disable without disabling also the ability
to copy content to clipboard.

Highlights:
- Implement DerivationPathInput control that intercepts the modifiable
keyboard events in order to edit the visible TextEdit.text while
respecting the requirements of the derivation path editing
- Implement a JS Controller that handles the logic of the
  decomposing and recomposing the derivation path string
- Add anew StatusQ with the TextEdit basic look and feel to be used
  in DerivationPathInput control without duplicating the style
- Allow passing modifiable events that are not generating characters in
  order to allow copy to clipboard
- Disable add account when control is in error state
- Limit to maximum 5 elements in the derivation path

Testing:
- Integrate the control with StoryBook for a quick preview of the
  control
- Add unit tests for the Controller basic functionality and regression
  for the main control Item
- Removed forcing x64 architecture on apple arm64 hardware from the
  storybook build configuration

Note: initially the implementation was suppose to be simple parse the
derivation path string edit elements and format it. However, I could not
find a quick way fix the circular dependency issue between editing the
text and reformatting it. The solution was to use a one way from the
structured data to the formatted string which complicates the
implementation logic.

Closes: #9890
2023-03-31 18:14:50 +04:00
Noelia 7d3b0a576b feat(storybook): Added support to change `tokenModel` and update `deployState` property
Added support to change `tokenModel` and update `deployState` property
2023-03-29 15:37:02 +02:00
Michał Cieślak 27c891fc18 feat(communities): AirdropTokensSelector component added
Closes: #9798
2023-03-29 14:25:46 +02:00
Michał Cieślak 1c80cbb3df fix(Storybook): correct parsing of figma urls with in node-id 2023-03-29 14:25:46 +02:00
Alex Jbanca 75571c9f22 fix(StatusItemsSelector): Allow icons to be provided by the model
Fixing https://github.com/status-im/status-desktop/issues/9766
The main change is that the model will now provide the image type, on top of the image source. The image type can be either icon or image. Icons will be coloured with the same colour as the text.
2023-03-28 12:46:20 +03:00
Alex Jbanca 17834ecbc1 fix(MintTokens): Use localised amount for total supply
Fixing: https://github.com/status-im/status-desktop/issues/9763
Changes:
1. Use int to pass around the supply amount from one component to another
2. Transform the supply amount to localised string when it is displayed to the user.
2023-03-28 12:17:02 +03:00
Michał Cieślak 5b9017757f feat(HoldingsDropdown): All listed assets / collectibles submenu
Closes: #9263
2023-03-24 16:09:01 +01:00
Noelia e36270c844 feat(HoldingsDropdown): Added property `isCollectiblesOnly`
- Added property that allows to switch the holdings dropdown to only be used in collectibles mode.
- Updated storybook accordingly.

Part of #9938
2023-03-24 14:22:56 +01:00
Noelia 76e2a46c0d feat(storybook): Added storybook support for `SignMintTokenTransationPopup`
Added storybook support for new popup.
2023-03-24 12:08:00 +01:00
Jakub Sokołowski f39dfa87f7 move qzxing and SortFilterProxyModel to vendor folder
Lets avoid creating chaos by having multiple vendor folders.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-23 12:09:19 +01:00
Noelia 87f86855eb feat(storybook): Added storybook support for `StatusEmojiAndColorComboBox` component
Added storybook support for new component.
2023-03-23 08:24:45 +01:00
Noelia f691c85127 feat(MintToken) Add select wallet account option
- Added accounts selector in `Create new token` page.
- Added account name box in `Preview` page.
- Updated `storybook` with new account data.
- Updated `deployCollectible` method call account address property.

Closes #9842
2023-03-23 08:24:45 +01:00
Michał Cieślak d219d32b72 feat(CommunityPermissions): Limit of 5 permissions for "Become member" permission type
Closes: #9536
2023-03-22 14:57:58 +01:00
Michał Cieślak bef14365aa chore(StatusItemSelector): Use StatusFlowSelector as a base component
Closes: #9851
2023-03-21 11:59:12 +01:00
Michał Cieślak 7df80bfa1c StatusQ: StatusFlowSelector added 2023-03-21 11:59:12 +01:00
Michał Cieślak 840ebbe1eb feat(StatusQ): StatusGroupBox component added 2023-03-21 11:59:12 +01:00
Michał Cieślak 0db5790f76 chore(Storybook): StatusItemSelectorPage moved from Sandbox to Storybook 2023-03-21 11:59:12 +01:00
Michał Cieślak 47cb1810b6 chore(Storybook): StatusDotsLoadingIndicator page simplified 2023-03-21 11:59:12 +01:00
Noelia 7aaa16a0c4 feat(storybook): Added airdrop settings panel
Added airdrop settings panel.
Updated holdings dropdown page.
2023-03-17 13:12:08 +01: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
Noelia 7ff2f9cfa2 feat(storybook): Minted collectibles list view added
Added collectibles list view page.
Added related figma links.
Added new minted collectibles model.
2023-03-14 16:06:27 +01:00
Noelia c7f18978de chore(MintingToken): Refactor access to stores in minting components
- Refactored minting components store access, since some panels were accessing stores directly. Now `CommunitySettingsView` is the single place where stores are accessed.
- Renamed store `CommunitesStore` to `CommunityTokensStore` for handling minting / airdrop actions / request models.
- `NetworkFilter` refactored to prevent direct access to store inside the component.

Closes #9663
2023-03-14 16:06:27 +01: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
Lukáš Tinkl 3fd196323e chore: silence warnings 2023-03-08 18:45:27 +01:00
Michał Cieślak d813cc12b8 chore(CommunityPermissions): refactor access to stores in CP components
So far CP components (views, panels) were accessing stores directly.
Now `CommunitySettingsView` is a single place where stores are accessed.
Other components no longer depend on stores.

Moreover:
- dedicated store `PermissionsStore` created for handling permissions
  in a single, separated place
- storybook pages fixed

Closes: #9784
2023-03-08 12:02:55 +01:00
Noelia 4ad4a7e2b5 feat(storybook): Added new mint token views pages
Added `CommunityCollectibleViewPage` and `CommunityNewCollectibleViewPage`.
Added new `TokenHoldersModel` model.
2023-03-07 13:24:45 +01:00
Noelia 736f315c49 feat(SQ/StatusDotsLoadingIndicator): Created new 3 dots loading animation
- Created new loading animation component.
- Added documentation and page in `stroybook`.
2023-03-07 13:24:45 +01:00
Michał Cieślak a2a1da801c chore(CommunityPermissions): Use key role name for referencing channels 2023-03-06 17:36:36 +01:00
Michał Cieślak 480c249ee0 chore(CommunityPermissions): Refactor channels handling
Community permissions model refers to channels by id instead of
taking/serving all details. UI fetches necessary metadata form
appropriate channels model.

Closes: #9588
2023-03-06 17:36:36 +01:00
Michał Cieślak 702d355e89 chore(InDropdown): Adapt to flattened model for channels
Closes: #9591
2023-03-03 16:51:45 +01:00
Michał Cieślak bb2e03bd88 feat(StatusQ): Added ModelChangeGuard utility to prevent altering models 2023-03-03 16:51:45 +01:00
Michał Cieślak aff97d741e fix(CommunityPermissionsViewPage): prevent from modifying singleton's data from storybook's page 2023-03-03 16:51:45 +01:00
Michał Cieślak 4d5d557dfd feat(Storybook): Add button for copying component name to clipboard
Closes: #9673
2023-03-03 00:16:40 +01:00
Michał Cieślak 95d29c76f9 fix(Storybook): Register StatusQ types for Storybook/qmlTests
Closes: #9690
2023-03-02 11:33:37 +01:00
Michał Cieślak 9772145ce5 chore(Storybook): Update Readme to point CMakeLists.txt as the main way to build instead of WebAssembly
So far README.md had only description for WASM builds what was
misleading, suggesting that's the only proper way of building Storybook.

Closes: #9679
2023-03-01 13:48:31 +01:00
Noelia 8a2bb3e40f feat(MintTokens/storybook): Created network model and store
Created network model and mocked store.
2023-02-28 14:17:47 +01:00
Alex Jbanca 4fca725b55 fix(DidYouKnowSplashScreen): Implement UI changes
1. Update messages
2. Increase messages shuffle time to 7 sec
3. Add fade in animation to DidYouKnow messages
4. Update storybook page
2023-02-27 10:44:58 +02:00
Michał Cieślak ad006cf105 fix(CommunityTokenPermissionsPopup): required models provided, storybook page fixed 2023-02-23 11:51:30 +01:00
Michał Cieślak e352dcfc11 chore(CommunityPermission): Use typed properties for CommunitiesStore
Additionally, pass assets/collectibles models to HoldingsDropdown
directly instead of store to reduce dependency.
2023-02-23 11:51:30 +01:00
Michał Cieślak 44a13eedfc chore(CommunityPermissions): Dissect real and mocked CommunitiesStore, adapt Storybook's pages
Closes: #9612
2023-02-23 11:51:30 +01:00
Michał Cieślak e2811fa290 feat(CommunityPermissions): Handle update/remove by permission's key instead of index 2023-02-20 22:54:43 +01:00
Michał Cieślak 03e1636cff feat(StatusQ): Add cpp model utils to allow handling ListModel and generic QAbstractItemModel uniformly
Closes: #9562
2023-02-20 22:25:56 +01:00
Michał Cieślak f6ac937dfd fix(CommunityPermissions): Warning regarding color assignment fixed 2023-02-20 18:40:59 +01:00
Michał Cieślak a97c8a720e feat(CommunityPermissions): Implement duplication checking
Moreover:
- adapt flow to the design
- introduce ModelChangeTracker utility component

Closes: #9048
2023-02-20 18:40:59 +01:00
Michał Cieślak c78eaef2b6 chore(CommunityPermissions): Permissions model and backend API simplified, separation of concerns improved 2023-02-20 18:40:59 +01:00
Michał Cieślak 9757002c7d chore(CommunityPermissions): Permissions model & backend API simplified, dirty state handling simplified
Additionally, permission types metadata excluded to PermissionTypes
singleton component, PermissionsDropdown simplified by using inline
components.
2023-02-20 18:40:59 +01:00
Michał Cieślak 7388bbfef3 chore(CommunityPermissionsView): component api unified and simplified 2023-02-20 18:40:59 +01:00
Michał Cieślak 0af9c27910 chore(CommunityNewPermissionView): simplified by introducing ModelsComparator component for tracking dirty state
Closes: #8830
2023-02-20 18:40:59 +01:00
Michał Cieślak fb19385438 chore(CommunityNewPermissionView): refactor to improve separation of concerns, create/save actions moved up 2023-02-20 18:40:59 +01:00
Michał Cieślak 3a3d1657f0 chore(CommunityNewPermissionView): exclude subcomponent HidePermissionPanel 2023-02-20 18:40:59 +01:00
Michał Cieślak f8f4757a0b fix(Storybook): fix cmake config to show qmldirs in QtCreator 2023-02-20 18:40:59 +01:00
Michał Cieślak 9a0c682ca4 chore(CommunityNewPermissionView): Simplify dirty values handling, extend Storybook page 2023-02-20 18:40:59 +01:00
Noelia 1e282cabba feat(MintTokens/storybook): Added storybook page for mint tokens welcome page
Added storybook support for mint tokens welcome page.
2023-02-20 12:06:22 +01:00
Lukáš Tinkl 277de1b544 fix: contact ID verification and community intro sizing issues
- port to StatusDialog
- fix binding loops
- fix `timestamp` to be a double rather than a `string`

Fixes #9563
2023-02-17 17:43:51 +01:00
Noelia fe5abb60da feat(TokensPermissionsPoupup): Created new popup
- Created new dialog.
- Created storybook page for that.
- Model properties renames.

Closes #9433
2023-02-17 11:13:51 +02:00
Alex Jbanca 009861c7b4 fix(SplashScreen): Add Did You Know Splash screen
Closing #9470
Adding Did You Know Splash Screen that will be shown when AppMain is completed.
The SplashScreen runs for 30 seconds and will randomly iterate through `fun messages` every 5 seconds.
2023-02-16 16:06:50 +02:00
Michał Cieślak c05334c327 chore(CommunityPermissions): Use enum for token category, keep string labels in UI only
Closes: #9556
2023-02-16 13:39:55 +01:00
Noelia 2c809a56e6 feat(JoinCommunity): Integrated join community popup into the new view `JoinCommunityView`
- Integrated join community popup into the new view `JoinCommunityView`.
- Added support in storybook related page.

Closes #9268
2023-02-10 18:03:05 +02:00
Noelia 8d5f625364 feat(storybook/CommunityIntroDialogPage): Improved storybook related page
Improved storybook for `CommunityIntroDialogPage`.
2023-02-10 18:03:05 +02:00
Noelia 243f1e5607 fix(storybook): Fix cmake file for macos
Replaced `PROJECT_NAME` to `PROJECT_LIB` for MacOS in cmake file.
2023-02-10 13:22:24 +02:00
Noelia b777e20bff feat(storybook/JoinCommunityViewPage): Created new storybook page
Created new storybook page for `JoinCommunityView` component.
2023-02-10 10:45:38 +02:00
Noelia fd67989c2d feat(storybook/StatusMessage): Added new `StatusMessagePage`
It adds new page for `StatusMessage` and just only basic validations.
2023-02-10 10:45:38 +02:00
Noelia 3d8cf574fb feat(storybook/JoinPermissionsOverlayPanel): Created new storybook page
Created storybook page for `JoinPermissionOverlayPanel`.
Created needed storybook editor.
Added new and updated storybook related models.
2023-02-10 10:45:38 +02:00
Noelia 842c90a31e feat(Community): Create `CommunityColumnHeaderPanel` component
- `CommunityColumnHeaderPanel` created.
- Added corresponding `storybook` page.
- Modified `CommunityColumnView` to use new component `CommunityColumnHeaderPanel` instead.
2023-02-10 10:45:38 +02:00
Lukáš Tinkl f5d6c538c2 chore: consolidate & refactor popup handling
- all remaining global popup components moved into a separate Popups
entity
- removed some static objects from the Global singleton (appMain,
pinnedMessagesPopup, communityProfilePopup, sounds); rationale:
singletons should not contain any state
- fixed support for popups in storybook
- fixed some warnings (most of them broke the popups in one way or the other)
2023-02-09 15:01:57 +01:00
Michał Cieślak 51afe05d3c chore(general): cmake include file defined for StatusQ sources
Closes: #9426
2023-02-09 13:41:15 +01:00
Michał Cieślak 940d8cd2c0 chore(general): Move RXValidator to StatusQ 2023-02-09 12:48:11 +01:00
Michał Cieślak f43c3e2f2b chore(general): Move StatusSyntaxHighlighter to StatusQ, remove mock from Storybook 2023-02-09 12:48:11 +01:00
Michał Cieślak 8f25b93f96 chore(general): Move QClipboardProxy to StatusQ 2023-02-09 12:48:11 +01:00
Michał Cieślak dc3bcd7da1 feat(Community Permissions): Integrate In section with permission creation/editing
Closes: #8855
2023-02-02 16:36:46 +01:00
Michał Cieślak bd6dc02162 feat(Community Permissions): Add search option in assets / collectibles dropdown
Closes: #9042
2023-02-02 13:23:22 +01:00
Alexandra Betouni 9a2ffc0fc7 Fix(desktopapp): adding scrollview to storybook
Cleaned up binding loop warnings related to
ScrollView and added StatusScrollView in
storybook

As part of #8864
2023-01-31 18:45:51 +02:00
Lukáš Tinkl b3f86c566f chore: update StatusSyntaxHighlighter mock for storybook
- add the missing color properties
2023-01-26 13:31:06 +01:00
Michał Cieślak 63a0f51305 chore(CommunityPermissions): Adjust behavior of 'Hide permission' switch depending on selected permission
Closes: #9050
2023-01-26 13:03:26 +01:00
Michał Cieślak ecf999eb37 chore(CommunityPermissions): Simplify InDropdown popup (selecting only channels, no add channel button) 2023-01-26 13:03:26 +01:00
Michał Cieślak e2dadeb15e chore(CommunityPermissions): Disable granting admin permission for non-owners 2023-01-26 13:03:26 +01:00