Commit Graph

415 Commits

Author SHA1 Message Date
Jonathan Rainville f9817d4f52 feat: add community requests, permissions, ENS and more 2021-03-03 16:45:23 -05:00
Pascal Precht 6603f025c3 fix(StatusChatInput): exclude markdown indicators from formatting
Closes #1928
2021-03-03 15:42:42 -05:00
Pascal Precht ed0b9ec1d6 uiux(StatusChatInput): close text format menu on deletion
Closes #1932
2021-03-03 13:30:57 -05:00
Richard Ramos 608455f563 fix: improve qml bottlenecks 2021-03-01 14:17:26 -05:00
ace-smart 604200639b Fixed copy button of the invite link in dark mode. Fixes #1913 2021-02-25 15:43:37 -05:00
ace-smart 4c31a97db8 Fixed wrong color issue of the wallet layout. Fixes #1903 2021-02-25 15:43:14 -05:00
Pascal Precht 84806ee96c feat(MessageContextMenu): add copy link actions
This commit adds a menu item to the message context menu to
copy links that may exist inside of a message.

There are three possible scenarios:

1. There's no link in the message, which causes the menu to not
render the dedicated menu item at all
2. There's one link in the message, which renders an additional
`Action` with a copy-to-clipboard functionality
3. There are multiple links in a single message. This adds a
nested `PopupMenu` in the existing menu with menu items for each
link extracted from the message

To make this work there were some changes in the `PopupMenu` component
needed, as it wasn't take the sub menu's `enabled` state into account
properly. This makde it always render nested menus even when they
should've been invisible.

Closes: #1733
2021-02-23 08:53:54 -05:00
Richard Ramos 750371a3f8 fix: don't estimate gas before when displaying sticker packs
Fixes: #1728
2021-02-22 17:31:17 -05:00
Richard Ramos 6207c8af53 fix: appSettings were being overwritten due to defaultAppSettings periodically executing sync() 2021-02-18 16:40:21 -05:00
Pascal Precht 10636c2460 feat(StatusChatInput): render formatted text inside input
Closes #1796
2021-02-18 16:37:36 -05:00
Jonathan Rainville 46412204c5 feat: implement new colors for dark mode 2021-02-18 15:24:12 -05:00
Jonathan Rainville 0e699cac65 chore: run translation scripts 2021-02-18 15:23:58 -05:00
Pascal Precht 96c2f123b4 feat(StatusChatInput): make text input formatting work via shortcuts
Closes #1803
2021-02-15 16:22:16 -05:00
Pascal Precht 6c272dddf6 feat(StatusChatInput): introduce context menu to format message
Closes #1804
2021-02-12 14:44:47 -05:00
Richard Ramos 58e9584984 fix: make mentions with nicknames work the same as mobile 2021-02-12 14:39:34 -05:00
Richard Ramos f84c96752b fix: code review 2021-02-10 13:52:25 -05:00
Richard Ramos 9cb7573189 fix: loading indicator for sticker market
Fixes #1729
2021-02-10 13:52:25 -05:00
Pascal Precht 040b2020dd fix: ensure application uses correct system tray icon when bootstrapping
This commit checks on bootstrap what the currently configured theme
of the user is and loads the system tray icon in its corresponding
variation.

Unfortunately, MacOS doesn't seem to automatically swap out the icons
based on the system's theme, so we have to do it manually with two
different SVG files.

Another gotcha here is that, it doesn't seem to be possible to change
the system tray icon at runtime. When trying to reassign the `icon.source`
based on a newly selected theme, the icon disappears altogether.
The application also doesn't get notified when a user switches the theme
inside the operating system, requiring her to switch to the same theme
manually unless restarted.

Last but not least, using SVG files instead of PNG doesn't seem to solve
the problem that the icon is rendered blurry. I've looked in the docs
but there doesn't seem to be an option to have any influence on that...
2021-02-10 13:40:41 -05:00
ace-smart 0c65551b45 Limited StatusToolTip width for maxWidth. Fixes #1817 2021-02-10 13:37:02 -05:00
ace-smart f4ebb5feae Limited StatusToolTip width for maxWidth. Fixes #1817 2021-02-10 13:37:02 -05:00
ace-smart 9950221159 Adjusted padding and margin of the StatusTooltip component as design. Fixes #1817 2021-02-10 13:37:02 -05:00
ace-smart b1434345f7 Adjusted padding and margin of the StatusTooltip component as design. Fixes #1817 2021-02-10 13:37:02 -05:00
ace-smart 849be39ee2 Adjusted confirm button wrong style. Fixes #1811 2021-02-10 13:36:20 -05:00
Richard Ramos 554128da50 fix: cursor position 2021-02-08 17:38:42 -05:00
Richard Ramos 9d9f51c080 fix: code review - 2 2021-02-08 17:38:42 -05:00
Richard Ramos 7178ae5910 fix: code review 2021-02-08 17:38:42 -05:00
Richard Ramos 21176f702f fix: remove format on text
Fixes #1771
2021-02-08 17:38:42 -05:00
Richard Ramos d0de5c074f fix: populate suggestion box with all users from the message list
Fixes: #1328
2021-02-08 17:37:44 -05:00
Jonathan Rainville bffe888b0d feat: improve compact mode to fix all alignements 2021-02-08 16:48:14 -05:00
Pascal Precht ea2238f998
uiux(StatusTimeline): fix send button look & feel
Due to how `StatusButton` has evolved, the send button in the Status
timeline no longer looked and behaved the way it was supposed to.

This commit patches that by introducing new properties to `StatusButton`
and making use of them in the Status timline, so that existing buttons
don't break.

It also fixes a bug in the StatusButton where the hovered background
color was wrongly calculated.
2021-02-02 11:51:02 +01:00
Pascal Precht 59b1a70f7e
fix(StatusWalletColorSelect): fix reference error 2021-02-02 11:51:02 +01:00
Pascal Precht 62183fb414 refactor: replace StyledButton with StatusButton
There are some inconcistencies in the application when it comes to
button UI elements because we're using `StatusButton` in some places,
in other we use `StyledButton`. The latter is the original
component we've created when we started out building Status
Desktop, but is planned to be removed entirely in favour of
`StatusButton`.

This commit replaces the usages of `StyledButton` with `StatusButton`
2021-02-02 10:57:42 +01:00
Pascal Precht 52eb8dd852 fix(StatusButton): fix UI issues with component
StatusButton has a lot of issues when it comes to consistent behaviour
and look & feel. This includes things like calculating incorrect
hover colors as well as not being flexible enough to be used in various
scenarios

This commit changes StatusButton so that it's able to handle outlined
versions of warn buttons, calculates proper colors and more.

Many of these changes introduce heuristics to make things work.
In the long run, we should revisit the different variants that exists
(primary, secondary, outlined, warn etc) to encode them properly
in the API.
2021-02-02 10:57:42 +01:00
Richard Ramos f0479a50b1 fix: do not use a loading indicator for identicons 2021-02-01 12:00:03 -05:00
Pascal Precht 543340fd88 fix(StatusRoundButton): enable and correct hover on component
The `StatusRoundButton` was missing the `hoverEnabled` flag, causing it
to not turn the cursor into a pointer when the component is hovered.
It's also not rendering the proper hover color.

This commit fixes that to improve usability and look & feel.
2021-02-01 11:57:33 -05:00
Jonathan Rainville b245d858aa feat: redisgn compact mode part 1
redesigns the compact mode to have a nice hover, easier replying and adding reactions and more

Missing parts are aligning chat command, images and unfurlings, redesigning mentions and the channel list and also trying to find a way to re-enable link hovers in the text
2021-02-01 11:54:26 -05:00
staked-smart-ace 2b3bbb0b1e Updated selection color of the chat input box as the design. Fixes #1750 2021-02-01 11:49:04 -05:00
staked-smart-ace 262856d69e
Updated gen key button style. Fixes #1749 2021-01-28 13:19:29 +01:00
Jonathan Rainville 92332e9c2d fix: fix slider sliding when using the mouse scroll
Fixes #1726
2021-01-22 13:47:40 -05:00
Pascal Precht f9699b7ca0 uiux(StatusIconTabButton): change cursor on component hover 2021-01-22 13:40:29 -05:00
Jonathan Rainville 94f1267ea9 feat: enables inserting emojis and mentions using Tab as well 2021-01-21 12:04:50 -05:00
Pascal Precht 64f895e17a fix(StatusChatInfo): ensure component width is calculated properly
With the recent addition of the `muted` property in this component,
the `width` is no longer reliably calculated. Sometimes it can happen
that the muted bell icon jumps out of the component. This is very apparent
inside of a `StatusChatInfoButton`.

This commit ensure that the width of this component always includes all
of its children, fixing the ui bug mentioned above.
2021-01-21 12:02:28 -05:00
Pascal Precht 3a538acb1e feat: introduce StatusWalletColorSelect component
This is a new form control component to select colors for wallet
accounts. It will replace the currently used `ColorSelect` in the
Status Desktop application so it aligns with the new designs.

Closes #1497
2021-01-21 11:59:34 -05:00
Pascal Precht 7d8d69f746 feat: introduce StatusWalletColorButton
This is a new button component that can be used to implement account
wallet color pickers.
2021-01-21 11:58:48 -05:00
Pascal Precht d9b2991a33 uiux(ModalPopup): adjust content width to match designs 2021-01-21 11:58:14 -05:00
Pascal Precht f055286124 feat(StatusIconButton): introduce property to configure background opacity 2021-01-21 11:44:45 -05:00
staked-smart-ace 5b3d202797 Updated group naming functionality. Fixes #1693 2021-01-21 11:40:11 -05:00
Richard Ramos ea89ebd960 fix: use destroy instead of close 2021-01-20 15:47:01 -05:00
Richard Ramos ed7ba12d4d fix: use a component instead of a loader to show sticker modal 2021-01-20 15:47:01 -05:00
Pascal Precht 0daf355f54 uiux(StatusTooltip): change color according to theme
It was requested to change the tooltip to black an white and white on
black in dark and light themes respectively.
This commit changes the colors accordingly.
2021-01-19 16:50:47 -05:00
Pascal Precht 84b6b04145 uiux(CoptyToClipBoardButton): make hover state work in all themes
The background color of the component was hard coded to grey.
This commit changes it to `backgroundHover` so it looks consistent
in dark and light themes.
2021-01-19 16:50:31 -05:00
Pascal Precht 787354b0dc feat: introduce StatusExpandableAddress component
This introduces a new component to render Addresses that can be
expanded as well as copied using `CopyToClipBoardButton`.
While there's already an `Address` component that allows for expansion,
it doesn't give us control over it's look and feel and, should rather
be a `Button` anyways.

There's also cases in the application where we render a collapsed address
and don't allow for expanding it. In such cases, we might not want/need
a button at all.

Might make sense to introduce a separate address component that just shows
a collapsed address without any behaviour, which can then be used inside
`StatusExapandableAddress`.

Closes #1633
2021-01-19 16:48:26 -05:00
Jonathan Rainville 7fef440a97 fix: fix design of appearance in settings 2021-01-19 16:45:57 -05:00
Jonathan Rainville acac683dc2 feat: fix Notification page and lists of contacts 2021-01-19 16:45:57 -05:00
staked-smart-ace 086c868bdc
uiux(StatusButton): introduce warn type
Fixes #1603
2021-01-19 12:45:03 +01:00
staked-smart-ace c84806aa4e Adjusted badge positions as designs. Fixes #1619 2021-01-18 15:27:56 -05:00
Jonathan Rainville 76688733f5 feat: add muted states for channel
Fixes #1615
2021-01-15 13:52:50 -05:00
Pascal Precht 974803131a uiux: update application and menu icons for macOS
Closes #1278
2021-01-15 10:59:05 -05:00
staked-smart-ace c6c8ed0858 Fixed radius issue of the chat input box. Fixes #1612 2021-01-15 10:54:40 -05:00
Pascal Precht 51083e2005 feat: introduce StatusSectionDescItem
This is a component that is similar to the `StatusSectionMenuItem` component, just
with the difference that it's not a clickable element, rather "description" element,
inspired by HTML `<dl>`, `<dt>` and `<dd>` elements ("description list", "description term",
"description" respectively).

The component comes with a `CopyToClipBoardButton` by default. We might want to decide
to make it configurable later on, as there could be places where we just want to
render the description item, without a copyble description.
2021-01-14 16:03:43 -05:00
Pascal Precht e82b0b194d uiux: remove active checked state from StatusIconTabButton
Closes #1618
2021-01-14 16:00:48 -05:00
staked-smart-ace bc63c30ec2 Applied selection color to the StyledTextArea and StyledTArea. Fixes #1611 2021-01-14 15:59:45 -05:00
staked-smart-ace 1840165caa Applied selection color to the StyledTextEdit. Fixes #1611 2021-01-14 15:59:45 -05:00
staked-smart-ace 96b09fd025 Fixes #1611 2021-01-14 15:59:45 -05:00
Jonathan Rainville e459d4dbd4 fix: fix PopupModal to not show a footer at all if there is no children 2021-01-13 14:32:35 -05:00
staked-smart-ace 858c041671 Fixes #1455 2021-01-13 14:31:00 -05:00
Jonathan Rainville 3f63ded1b2 fix: make profile popup look like the design 2021-01-13 13:14:06 -05:00
Jonathan Rainville 5a108f9f41 feat: change icon to show indicator when new messages appear 2021-01-12 16:35:59 -05:00
staked-smart-ace a4ffc56d56 Updated timer delay amount 2021-01-12 16:34:07 -05:00
staked-smart-ace 2f2b06fb5e Added tooltip when copy invite URL to clipboard 2021-01-12 16:34:07 -05:00
Pascal Precht 8afcacfa6a uiux(Wallet): introduce hover state for tab buttons
Closes #1630
2021-01-12 16:33:56 -05:00
Jonathan Rainville 6705e3f8c7 fix: fix profile popup buttons to fit the design 2021-01-12 16:33:32 -05:00
Jonathan Rainville 6b76996bf0 fix: clear channel picker search input on open 2021-01-11 13:57:54 -05:00
Jonathan Rainville ce3252fb8f wip community 2021-01-11 13:57:35 -05:00
Jonathan Rainville 36b6e76a2e feat: add browserHomepage setting that can be changed 2021-01-05 11:24:31 -05:00
Jonathan Rainville 89da5dd923 feat: open links in user request browser with modal 2021-01-04 15:29:23 -05:00
Jonathan Rainville 37edfed446 fix: fix QML warnings 2021-01-04 15:23:23 -05:00
Jonathan Rainville 1ead1c3db5 feat: show favorites bar when setting is enabled 2020-12-30 16:52:44 -05:00
Jonathan Rainville 16f5c2fb1a feat: add showFavoritesBar setting (placeholder for now) 2020-12-30 16:52:44 -05:00
Jonathan Rainville 825097f007 feat: add channel switcher when hitting CTRL+K 2020-12-30 15:01:51 -05:00
emizzle 7e1d7be314 feat: load installed stickers while offline
When the network connection is changed, the sticker packs are cleared and then re-loaded (either loading the offline (installed) sticker packs, or all the sticker packs from the network).

Stickers can be sent while offline, though the sticker images do not load once offline (this is likely a side effect of the bug described below).

There is a known bug in QNetworkAccessManager (https://bugreports.qt.io/browse/QTBUG-55180) that was re-introduced in 5.14.1 that does not allow us to download resources if we go offline then come back online. The workaround employed in this PR manually sets the NetworkAccessible property of QNetworkAccessManager once we have been connected back online. The NetworkAccessible property is marked as obsolete and will be removed in Qt6, so it is something that we need to be aware of when we upgrade. However the hope is that the bug has been fixed.

Close StickersPopup when disconnected from network (so that re-loading of sticker packs doesn't look out of place).

fix: set network status correctly at load

feat: stickers gas estimate async

feat: When network re-connected, any http images that were not properly loaded in an ImageLoader component will automatically be reloaded.

fix: Sticker button loading icon

chore: Bump nimqml and dotherside

NOTE: This PR uses an updated nimqml and dotherside. The respective changes should be merged first, and the commit hash should be bumped in this PR prior to merging. Relevant PRs:

[https://github.com/status-im/dotherside/pull/20](https://github.com/status-im/dotherside/pull/20)

[https://github.com/status-im/nimqml/pull/17](https://github.com/status-im/nimqml/pull/17)
2020-12-28 14:29:38 -05:00
Pascal Precht 90dfa94805 refactor: move getProfileImage API to appMain
Prior to this commit, the function was expected on a `chatView` QML object.
This has worked out so far because the places where the API is used were always
living inside `ChatLayout`.

With the new timeline however, this is no longer the case so we have to make sure
that the API is available to other views as well.
2020-12-21 14:15:08 -05:00
Pascal Precht 400b020118 fix(StatusChatInput): ensure send button is disabled when message limit is exceeded
This was missing in the previous work we've done to make the `StatusChatInput` work
as a status timeline update component.

This commit also adds an event handler which was missing to trigger the `onMessage`
event when the send button is clicked.
2020-12-21 14:14:48 -05:00
emizzle ba48b266a9 chore: re-add sticker loading UI
The sticker loading UI was removed when the StatusChatInput and friends were added in. This PR re-adds the sticker loading UI introduced in PR# 955 (https://github.com/status-im/nim-status-client/pull/955).
2020-12-18 15:34:31 -05:00
Jonathan Rainville d01c9fef79 feat: add profile pic support 2020-12-17 16:44:25 -05:00
Richard Ramos 43d9d5184d feat: close image popup on click 2020-12-16 09:17:04 -05:00
Pascal Precht f512d5063c feat: introduce StatusUpdateChatInput variation
This commit changes the `StatusChatInput` component to also be a `StatusUpdateInput`.
The latter isn't an actual new type or component, it's just a visual variation of the already
existing status chat input. That's my most of the changes are `isStatusUpdateInput` conditions
sprinkled here and there.

In addition, this commit introduces a new `chatType` which is passed to `StatusChatInput` later
in the timeline view, so it knows it has to render like a status update input.
2020-12-14 12:36:49 +01:00
Richard Ramos c2f2b7e6cd fix: default value for trx data 2020-12-11 14:04:25 -05:00
Richard Ramos 4d2e396b7f fix: display transaction data 2020-12-11 14:04:25 -05:00
Richard Ramos 02867d8627 fix: newlines on chat input 2020-12-11 14:04:06 -05:00
Pascal Precht 04bf8e7a03 fix(StatusButton): make icon color same as button label color 2020-12-10 14:40:35 -05:00
Pascal Precht 2baf56f505 refactor(Chat): move suggestions ListModel into StatusChatInput
StatusChatInput was relying on the suggestions ListModel, even though there was
no guarantee that it would exist. This is more apparent when using the component
in different context (e.g. Timeline/Status Updates). QML will throw a reference
error in this case.
2020-12-10 12:30:31 +01:00
Pascal Precht 9745205302 refactor(Chat): move send message logic out of status chat input
`StatusChatInput` ideally shouldn't rely on chatsModel and other global
objects at all. Also, when using the component in different places, it can cause
accidental sending of message when testing the component (because all the logic is already
wired up)
2020-12-10 12:30:31 +01:00
Richard Ramos cc9830268a fix: deploy contracts in browser 2020-12-09 14:19:35 -05:00
Richard Ramos b0829a4615 fix: account selector in browser 2020-12-09 14:19:26 -05:00
Jonathan Rainville 08a7baed8f feat: add OS notification and setting to switch back 2020-12-09 14:19:16 -05:00
Pascal Precht c01300a3bb fix(Chat): ensure image area is reset properly when removing images
We were only resetting the `Image` source but not the consumer facing `imageSource`
property when removing a selected image from the image area.

This cause the `imageSource` to practically never change after an image has
been selected the first time. Selecting an image another time would open the
image area, but if the image happens to be the same as the first time, the `imageSource`
practically didn't change, causing the app to render an "empty" image.
2020-12-08 17:01:32 -05:00
Richard Ramos ae30d04010 refactor: ProfileView 2020-12-08 17:01:22 -05:00
Richard Ramos ae83818eed refactor: chats view
Extract private groups, reactions, stickers and transactions procs to individual view files
2020-12-08 17:01:14 -05:00
hydrogen dacbadbed1 fix: markdown leading space 2020-12-08 16:59:51 -05:00