Commit Graph

361 Commits

Author SHA1 Message Date
Lukáš Tinkl 158154bcca fix(RenameGroupPopup): fix name validation and scrolling
- increase the length limit to 30 and allow `&`, as per the spec
- wrap the popup in a scroll view
- pls some minor cleanups

Fixes #16523
2024-10-23 16:18:26 +02: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 8fb9440235 ContactsStore: getProfileContext simplified 2024-10-16 23:02:02 +02:00
Michał Cieślak 9f9dcefcf8 chore: using StringUtils.plainText consistently
There were two version of plainText - one exposed from the backend,
another, backend-independent in StringUtils. The latter one is now
used in all cases.
2024-10-11 12:14:53 +02:00
Lukáš Tinkl 277f408e0c fix(ProfileContextMenu): stop leaking memory
- got removed in a recent refactoring, restore it
- when a context menu component is opened via `Global.openMenu()`, it
has to be destroyed manually
2024-10-03 14:34:12 +02:00
Jonathan Rainville bb7e5be065
fix(members): fix slow chat switching by improving model (#16279)
Fixes #16132
2024-09-25 11:29:26 -04:00
Iuri Matias 86fdc668e6 feature: add remove from group option to group chats
feature: add remove from group option to group chats

refactor ProfileContextMenu to make it a functional component

refactor ProfileContextMenu to make it a functional component

This refactor ProfileContextMenu to make it a functional component by:

refactored out direct calls to backend, and passing backend data structures and moved this logic to the callers, also refactored common calls between the callers
common types of context menus have been extracted to their sub components which removes a lot of logic too and makes the behaviour very clear
user verification workflow (which was already disabled) has been removed

refactor: use signals and call singletons on the parent instead

remove unused code for now from profile context menu

refactor profile context menu into two components; add property to storybook

extract blocked profile context menu and self profile context menu

use profileType instead of individual bools

refactor to pass trustStatus as an argument

make contact type a parameter

remove unnecessary method from RegularProfileContextMenu

add ensVerified property to ProfileContextMenu components

add onlineStatus property to ProfileContextMenu components

move ProfileContextMenu storybook controls to the right sidebar

move contactDetails logic up from the view

add local nickname property to ProfileContextMenu components

fix issue with missing signal; fix logs in storybook

use constant for profileType instead of string

refactor common code into a single method

refactor getProfileContext

remove references to contactDetails which are not longer needed

remove unnecessary comments

fix bridged constant

refactor into a single ProfileContextMenu component

refactor into a single ProfileContextMenu component

refactor into a single ProfileContextMenu component

simplify imports

remove unused store field

move methods from utils to contacts store

remove onClosed signal

remove unused param

feature: add remove from group option to group chats

feature: add remove from group option to group chats

add isAdmin property

move removeMemberFromGroupChat to root store

hide remove from group option from message context menu
2024-09-25 10:29:21 -04:00
Iuri Matias 96d0760488 refactor ProfileContextMenu to make it a functional component
refactor ProfileContextMenu to make it a functional component

refactor ProfileContextMenu to make it a functional component

refactor ProfileContextMenu to make it a functional component

This refactor ProfileContextMenu to make it a functional component by:

refactored out direct calls to backend, and passing backend data structures and moved this logic to the callers, also refactored common calls between the callers
common types of context menus have been extracted to their sub components which removes a lot of logic too and makes the behaviour very clear
user verification workflow (which was already disabled) has been removed

refactor: use signals and call singletons on the parent instead

remove unused code for now from profile context menu

refactor profile context menu into two components; add property to storybook

extract blocked profile context menu and self profile context menu

use profileType instead of individual bools

refactor to pass trustStatus as an argument

make contact type a parameter

remove unnecessary method from RegularProfileContextMenu

add ensVerified property to ProfileContextMenu components

add onlineStatus property to ProfileContextMenu components

move ProfileContextMenu storybook controls to the right sidebar

move contactDetails logic up from the view

add local nickname property to ProfileContextMenu components

fix issue with missing signal; fix logs in storybook

use constant for profileType instead of string

refactor common code into a single method

refactor getProfileContext

remove references to contactDetails which are not longer needed

remove unnecessary comments

fix bridged constant

refactor into a single ProfileContextMenu component

refactor into a single ProfileContextMenu component

refactor into a single ProfileContextMenu component

simplify imports

remove unused store field

move methods from utils to contacts store

remove onClosed signal

remove unused param

rename ProfileContextMenu variables

simplify signals in ProfileContextMenu

remove ;

refactor: do early return

simplify ifs

move ProfileContextMenu to its own storybook page

fix wrong params

fix profile context menu separator

add missing signals to profile context menu on the members tab panel
2024-09-24 10:04:10 -04:00
Lukáš Tinkl c5598d9ff9 chore(StatusMemberListItem): refactor to use ItemDelegate
- simpler, standard property based API
- much lighter than deriving from the heavy StatusListItem
- should reduce RAM usage significantly, esp. with large communities

Iterates #11059
2024-09-12 15:04:22 +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 790d34d875 fix(chat): Button to go to the latest message is barely visible on dark theme
- unify bg color, use white as fg color, add drop shadow according to
Figma
- fixup the hover color intensity

Fixes #13771
2024-08-12 09:46:30 +02:00
Lukáš Tinkl 94ca1ff22a fix: ENS keycap display issues
- run the user's display name (ENS name) thru the `Emoji.parse()`
function as that will convert the potentially UTF-16 encoded name
containing emojis into an image

Fixes #12290
2024-05-13 16:20:54 +02:00
Jonathan Rainville 953fff0e68 feat(community): show a message when the member reevaluation is ongoing
Fixes #14378
2024-05-08 16:44:58 -04:00
Igor Sirotin da4105784a
fix(UserListPanel): use new `FastExpressionRole` (#13299) 2024-03-14 15:23:58 +00: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
Alexandra Betouni b5d555f00b fix(chat): enabled "everyone" in group chat mentions
Closes #11029
2023-09-08 19:33:07 +03:00
Lukáš Tinkl 5aec48da35 fix(chat): Download/invite popup small issues
- make the popup centered across the whole window
- fix (and extract) the get/download link to `Constants`
- fix some memleaks

Fixes #11926
2023-08-29 15:19:41 +02:00
Noelia 0ab8a62896 feat(Communities): Communities folder reorganization
- Renamed main `CommunitiesPortal` folder to `Communities`.
- Created new `layouts` folder.
- Moved layout files from chat to communities.
- Created new `helpers` folder.
- Moved helpers files from chat to communities.
- Moved `controls/community` files from chat to communities `controls`.
- Moved `panels/communities` files from chat to communities `panels`.
- Moved `popups/community` files from chat to communities `popups`.
- Moved `views/community` files from chat to communities `views`.
- Moved `CommunityBanner` file from shared to `Communities/controls`. Only used in communities context.
- Moved `CommunitySettingsView` and `CommunityColumnView` files from chat to communities `views`.
- Moved `PermissionsStore.qml` file to `shared/stores`.
- Updated imports.
- Updated storybook.

Part of #6204
2023-06-28 14:28:47 +02:00
Lukáš Tinkl 823054ec33 fix: Can't deploy collectible via community's mint token section
fix some refactoring error

Fixes #11287
2023-06-28 13:07:58 +02:00
Jonathan Rainville 28fa8271a6 feat(communities): update communities token list on token deploy
Fixes #11125

Updates the communities asset and collectibles lists when a new token is deployed.
Also refactors the section module to remove all that code and use the communities token list instead.
Adds community ID to the token list model so that we can show only the global tokens and the tokens from the community are shown in the community
2023-06-27 09:54:23 -04:00
Pascal Precht 7b9c78b843 fix: don't allow admins to kick or ban admins
This hides the action items to kick or ban users if they happen to be
admins. There's also a change in status-go that prevents admins to kick
or ban other admins that has to land first here:

https://github.com/status-im/status-go/pull/3666

Closes #10936
2023-06-27 12:13:29 +02:00
Michał Cieślak 9f262a648c chore(CommunityTokensMinting): TokenObject - property-by-property assignment removed, retry flow simplified
Closes: #11050
2023-06-26 10:01:14 +02:00
Michał Cieślak 3a801955e8 chore(CommunityTokensMinting): TokenObject usage refactored
AssetObject and CollectibleObject removed to avoid distinguishing
between those two types in many places.
2023-06-26 10:01:14 +02:00
Lukáš Tinkl 620c7a746d feat(Settings/Communities): implement new communities list
Closes #11145
2023-06-23 16:48:26 +02:00
Noelia 9b5efd59ef fix(MintToken): Footer options must be disabled in some cases
- Footer options must be disabled until minting process is completed.

- Airdrop footer option must be disabled if not available tokens to airdrop.

- Remotely destruct footer option must be disabled if no hodlers.

Fixes #11198
2023-06-22 12:17:34 +02:00
Noelia 6edfa002d2 fix(Airdrop): Airdrop item not inserted correctly
- After a rebase, signal properties were modified incorrectly.

- Also added protection to not push into the stack the same state more than ones and reset holdings model each time it is set.

Fixes #11147
2023-06-22 12:17:34 +02:00
Noelia 25b4f1a269 fix(MintToken): Can't get fees to remotely destruct tokens
After a rebase, signal parameter names were renamed incorrectly.

Fixes #11149
2023-06-22 12:17:34 +02:00
Alex Jbanca b128ed3ec1 fix: Mint tokens view - exclude watch accounts from accounts dropdown 2023-06-22 12:16:45 +03:00
Lukáš Tinkl ecc1b5316f fix: community context menu should not say "Leave community" if not joined
- get rid of the `amISectionAdmin` for good (was done only partially in
82a1ed2f7a)
- fix the corresponding storybook pages

Fixes #10963
2023-06-21 11:17:13 +02:00
Pascal Precht b3329d790e feat: channel permissions
Closes: #10996, #10995, #10993, #10997, #9537
2023-06-20 21:57:37 +02:00
Alexandra Betouni 3e0a01883f feat(CommunityPemissions): Added chat input post rights panel
Closes #9436
2023-06-20 20:19:55 +02:00
Alexandra Betouni 61faa2df90 fix(CommunityOverview): adjusted info icon color
Closes #10899
2023-06-20 18:08:44 +03:00
Igor Sirotin f17e49fe32
fix: Community settings member context menu (#11150) 2023-06-20 10:14:25 +03:00
Michal Iskierko d57485c6e9 feat(@desktop/communities): Add burning collectibles functionality
Burn collectibles.
Displaying burning fee.
Displaying remaining supply.

Issue #10816
2023-06-15 17:11:15 +02:00
Michał Cieślak e0dd0b82ce feat(Community Airdrops): Dynamic fee calculation in the airdrop form
Closes: #10547
2023-06-15 14:32:52 +02:00
Noelia d4ba22f7bb feat(AirdropAssets): Enable assets tab in airdrop dropdown
- Added assets model.
- Added no data text for assets tab.
- Added navigation from airdrop to mint specific tab.
- Updated `HoldingsDropdown` component to allow network information for assets.
- Removed `isCollectiblesOnly` option in `HoldingsDropdown`. No longer needed.
- Updated `storybook` to support airdrop assets testing.

Closes #11056
2023-06-15 14:04:08 +02:00
Lukáš Tinkl 7bf7f272f3 fix: community context menu should not say "Leave community" if not joined
- differentiate between "Close" and "Leave" a community where the former
applies to spectated communities
- move the "leave community" confirmation popup to a shared place
(Popups.qml), extend it with the outro message and reuse it everywhere
- don't let admins leave a community
- some minor cleanups and dead code removals

Fixes #10963
2023-06-15 12:22:04 +02:00
Mykhailo Prakhov 82a1ed2f7a
feat(@desktop/community): Community admin permissions (#10909)
* chore:
- replaced admin bool to memberRole
- activate admin permissions
- configured admin restrictions
2023-06-14 18:00:41 +02:00
Michał Cieślak 8b44e686f4 feat(CommunityAirdrops): Fees popup with multiple entries for airdrops
Closes: #10484
2023-06-14 12:59:05 +02:00
Noelia 42c8758746 fix(MintToken): Some renames / code cleanups
Some renames / code cleanups
2023-06-13 15:57:20 +02:00
Noelia 9524ced598 feat(MintToken): Disable airdrop, remote destruct and burn options if mint status is failed
Airdrop, remote destruct and burn options disabled if token status failed.
2023-06-13 15:57:20 +02:00
Noelia 5e4164e2e6 fix(MintToken): Validation rules reviewed
- Updated name and description regex rules.
- Extended name and symbol validation when retry minting to allow same text if we are in edition mode.

Fixes #10860
2023-06-13 15:57:20 +02:00
Noelia 7d551b8311 feat(MintToken): Add navigation from retry to filled token form
Enable navigation from token view to new token view (edition).

Closes #10878
2023-06-13 15:57:20 +02:00
Noelia f58f82d4c6 refactor(MintToken): Mint token views refactor
- Created `TokenObject` files and use them inside `CommunityNewTokenView` instead of plain properties.
- Updated `CommunityTokenView` to use `TokenObject` properties instead of plain properties.
- Updated store calls to use `TokenObject` properties instead of plain properties.
- Remote destruct properties renames.
- Airdrop navigation extended passing token type (asset or collectible).
- Updated `storybook` according to new changes.
2023-06-13 15:57:20 +02:00
Michał Cieślak 8102600c5b feat(CommunityMintTokens): Using sortable list of tokens holders
New list contains also dropdown menu with some actions, basic
integration is done for holder types and actions supported currently
by the backend.

Closes: #10621
2023-06-13 12:37:10 +02:00
Michał Cieślak 99ad85047d feat(SortableTokenHoldersPanel): Info panel added when no holders
Closes: #10602
2023-06-13 12:37:10 +02:00
Michał Cieślak 9f73d874c2 feat(CommunityMintTokens): added sortable token holders list component 2023-06-13 12:37:10 +02:00
Lukáš Tinkl 0b94c2b541 fix: revert to not destroy popups on close by default
- causing too many regressions along the way
- most of our popups are already destroyed properly inside Popups.qml
- in general, a Popup (Dialog, Menu, etc.) can be manually destroyed iff
it had been created using `Component.createObject()`, otherwise it's gone
for good until restart
- manually enabled the destroy-on-close in verified cases

Fixes #10948 (maybe some other dupes)
2023-06-09 00:44:27 +02:00
Anastasiya Semiankevich e88369a83e tst_communityManageOverview): add scenario that copies community private key 2023-06-02 23:19:35 +03: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