1. Don't allow mention invalidation by altering mention with mouse or keyboard
2. Don't allow mention duplication on the same position
3. Clean mentions after text with mentions changes
4. Fix mention selection
5. Make sure mention is separated by text with valid separators (we're using only space)
6. Cursor will consider the mention as an object and will jump over it as it would be a single character (placing cursor inside leaves room for mention invalidation)
feat(CommunitySettings): Implement UI for`edit`, `duplicate` and `remove` actions in community permissions page
- Enabled `duplicate` action (mocked).
- Enabled `delete` action (mocked) and added / updated navigations in case all permissions are removed.
- Added delete confirmation popup.
- Enabled `edit` action (mocked) where changes are detected and the `dirty changes toast` appears properly.
Closes#8581
- Created page and added editor for specific page.
- Created needed mocked models.
- Added background in permission related pages to ensure correct dark mode visualization.
- Added `CommunityPermissionsSettingsPanel`.
- Created panel item editor and basic panel editor layout for `CommunityPermissionsSettingsPanelPage`. Still not linked to a model.
- Added mocked data for collectibles and tokens.
- Created `ChannelsModel` mocked data.
- Added edit / duplicate / remove signals logs.
- rework the way social links are displayed/editted; we now only allow to
enter a so called "handle" and then substitute that in the final URL
template
- move the "icon" model role to NIM backend
This has several advantages:
- we display only the "handle" and don't have to elide some long URL
- we won't let users enter random URLs into their profile and spoof the
viewing part into clicking it
Additionally, make the social link "button" clickable -> navigate to the
target URL, and make the tooltip behave as "usual" (on mouse hover).
The profile fetching view is part of the onboarding process. This view should be displayed on existing user onboarding flow, while the profile is being fetched in the backend.
It has 3 states:
1. Fetching in progress
2. Fetching completed
3. Fetching error
chore(@storybook): add language & currency settings view to storybook
chore(@storybook): add language & currency settings view to storybook
fix storybook menu
remove qsTr
This adds the ProfileDialogView to storybook pages
For now, there's just one control to switch between own profile and
another profile; more to come in later PRs.
The mocked global objects (mainModuleInst and globalUtilsInst) are
injected via QML
Fixes: #7820
In comparison to generic page-wise hot reloading, this technique
requires using dedicated component within a storybook page but
provides greater flexibility e.g. preserving component state across
source reloads.
Closes: #7975