Commit Graph

518 Commits

Author SHA1 Message Date
Jonathan Rainville 64d38b6049 feat: implement redesign of communities on the left tab 2021-03-03 16:45:23 -05:00
Jonathan Rainville a47847b40f fix: fix community profile looks and style 2021-03-03 16:45:23 -05:00
Jonathan Rainville 6213e020a0 feat: new design for export popup 2021-03-03 16:45:23 -05:00
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
hydrogen 92c25433e1 fix: add missing popup 2020-12-07 10:48:55 -05:00
Pascal Precht 0957ec1ded chore: disable stickers popup when no stickers available
This is needed so that statusChatInput can work for the timeline without
exploding. Timeline doesn't need stickers
2020-12-07 13:52:25 +01:00
Pascal Precht e79c754405 refactor(StatusChatInput): fine-tune image area and prepare for status update input 2020-12-07 13:52:25 +01:00
hydrogen 2f0aab055a fix: use ModalPopup instead 2020-12-04 16:21:03 -05:00
hydrogen 323ba10a0e fix: qrcode popup should be its own modal
fixes #1457
2020-12-04 16:21:03 -05:00
Pascal Precht c5fd5b1e4d feat(StatusIconButton): make highlighted and hovered colors configurable 2020-12-04 15:53:48 -05:00
Pascal Precht 1971fe7ea1 feat(StatusButton): introduce flat mode 2020-12-04 15:52:59 -05:00
Pascal Precht c7b6c5dbac chore(StatusIdenticon): use identicon source when set explicitly 2020-12-04 15:52:51 -05:00
hydrogen fad0bb858e fix: password count and disable repeat until first is valid
cleanup
2020-12-04 15:52:23 -05:00
hydrogen f69da599ae fix: update chat view after user is blocked 2020-12-04 15:52:04 -05:00
hydrogen 8fd28dfad6 fix: check if user is blocked on profile popup
This PR is a response to @emizzle's suggested change in PR #1431 . It checks if a user is blocked before exposing certain functionality to the user in a Profile popup. The new unblock button also has a fail-safe unblock confirmation popup

disable the chat input if 1-on-1 chat recipient has been blocked.
2020-12-04 15:52:04 -05:00
Michael Bradley, Jr 62d44cb7a9 fix: add missing brace, clean up indentation 2020-12-01 16:13:23 -06:00
Richard Ramos 6494427de0 fix: notifications
- If notification is clicked and app minimized, restore app
- If app is minimized, show notifications for active chat
2020-12-01 16:17:19 -04:00
Jonathan Rainville f7cc0cf78d feat: add popup menu to add favorites on sites themselves 2020-12-01 14:07:31 -05:00
Jonathan Rainville 7242409bfa feat: enable showing a paste button in the Input 2020-12-01 14:07:31 -05:00
Richard Ramos ba06d46d68 fix: menu icons and width on wallet module 2020-12-01 14:02:19 -05:00
Richard Ramos b6f362ddb5 fix: add scrollbar to installed sticker packs
Fixes #1061
2020-12-01 13:31:22 -05:00
Richard Ramos 3f12320764 feat: checkbox style 2020-12-01 13:30:58 -05:00
Richard Ramos 0b8a6ae511 Various ui fixes on wallet
-  Account color is used in list hightlight, separator and tabs
- Popup fields are cleared when opened
- Account color is randomized when popup is opened
2020-12-01 13:29:23 -05:00
Jonathan Rainville b536707646 fix: fix notification banner showing the pubkey of group chats 2020-11-27 15:15:26 -05:00
Richard Ramos 159c82c329 feat: choose network 2020-11-26 11:44:49 -05:00
emizzle 417194e7b4 feat: Keyboard shortcuts
Add keyboard shortcuts according to https://notes.status.im/02cfVf1KQLeQU2SqrIi9tw

fix: update chat message bubbles
- Align emojis to middle of text
- Add line-height as per design
- Properly support RTL languages (right-aligned) and LTR languages (left-aligned)
- Remove unneeded non-breaking space at the beginning of current user messages
- Properly support markdown for bold, strikethrough, and italic
- Fix text being removed when in between strikethrough markdown (~~)

fix: emoji resolution update for high resolution monitors
- Emojis now use the 72x72 original set, but are down-scaled to 20x20 (in chat bubbles) or 22x22 in other places, effectively tripling their pixel density

feat: handle new lines in blockquote

Handle new lines in blockquote so that messages display correctly.

Also, add functionality when a new line is entered in to the chat input, if it's inside a blockquote, a new ">" will be added automatically. This is also handled when backspace is entered.

feat: update xss to support full qt html4 table and table-cell attributes
2020-11-26 11:33:32 -05:00
emizzle e0e1487643 refactor: replace transaction modal `reset` functionality
The transaction component's `reset` functionality was meant ot reset a form when the modal was closed. It was difficult to manage and added extra overhead for each additional transaction modal created.

Instead of using reset functions, we can use Loaders to load and destroy the modal's as they are opened and closed. We do not need to keep them in memory and then also reset their functions. It creates a smaller memory footprint to destroy the object and reload on open.

feat: load gas prediction prices asynchronously
2020-11-26 11:17:24 -05:00
Pascal Precht 7a92eaf106 feat: introduce StatusImageRadioButton 2020-11-25 14:41:29 +01:00
Pascal Precht 69fd2dc99b uiux(StatusChatInput): ensure input gets focussed when replying to messages 2020-11-24 11:20:09 +01:00
Pascal Precht f8c5002ff8 feat: enable notification message preview settings 2020-11-24 11:16:02 +01:00
Pascal Precht 60a939d29e feat: introduce StatusNotification component
This component renders a macos like notification and can be used in the
notification settings for message previews.
2020-11-24 11:16:02 +01:00
Pascal Precht 693214a940 fix: ensure letter identicon determines correct channel color
When the `StatusLetterIdenticon` received a `#channel` name that starts
with `#`, it wouldn't properly determine the channel color because of
not stripping out the `#`.
2020-11-24 11:16:02 +01:00
Pascal Precht 7005a3d7b6 fix(StatusChatInput): ensure image have rounded corners 2020-11-23 11:57:51 +01:00
Jonathan Rainville 7aef0e1710 fix: fix emoji search messing up with recents 2020-11-19 17:00:37 -05:00
Jonathan Rainville d49be78417 feat: show nickname if there is one in the mentions 2020-11-19 17:00:28 -05:00
Jonathan Rainville d4a220b051 fix: enable copying <script> but will still go away when putting emoji 2020-11-19 16:58:41 -05:00
Jonathan Rainville 1ec28bca01 feat: enable animated gifs but stop them on click and out of focus 2020-11-19 16:55:41 -05:00
Richard Ramos 9148be5718 fix: make toggle buttons great again 2020-11-19 16:54:59 -05:00
Jonathan Rainville dbf34142e1 fix: emoji category button having a white background 2020-11-19 16:54:41 -05:00
Pascal Precht 6dabd361e1 refactor: remove IconButton in favour of StatusRoundButton 2020-11-19 16:52:32 -05:00
Pascal Precht 2aac433a3d refactor: get rid off `AddButton` and make use of `StatusRoundButton` instead 2020-11-19 16:52:32 -05:00
Jonathan Rainville 537ae7991b fix: make sure the mention and emoji pickers close when pressing escape 2020-11-19 13:54:17 -05:00
Jonathan Rainville 89b45146fc fix: fix ens names that are not status having an extra `.eth` added 2020-11-19 13:54:17 -05:00
Pascal Precht 0f6d40f931 feat: introduce StatusImageModal component 2020-11-17 12:48:06 -05:00
Jonathan Rainville cecaa292ba feat: enable putting text after the shrug or tableflip 2020-11-17 09:27:57 -05:00
Pascal Precht 67face5b99 uiux: channel list fixes
Also make use of `StatusRoundButton` over `IconButton` since that's deprecated.

Closes #1115
2020-11-11 12:14:35 -05:00
Pascal Precht 6efd3daffb refactor(StatusRoundButtno): move to QML states and transitions
Also introduces a new `pressed` state which allows for icon rotation if needed.
2020-11-11 12:14:08 -05:00
Pascal Precht a66aca0900 uiux: fix channel context menu dropshadow and radius
Fixes #1113
2020-11-11 12:13:56 -05:00
Pascal Precht fc6c68232b validation and ens resolution fixes 2020-11-11 12:01:38 -05:00
emizzle 76e7897e8d fix: 1-on-1 send tx recipient show in tx preview
We were previously displaying an address in the "to" field for TransactionPreview. Instead, this is meant to be a contact view.
- Fix ContactSelector to trigger selectedContactChanged
- Fix RecipientSelector > ContactSelector to trigger resolveEns from outside call to prevent infinite loop from the above fix
- Add alias to pre-selected contact for the Contact view of TransactionPreview
- Add option to change debounce delay so that when values are pre-selected (readonly), there is no delay before resolution.
- Fix missing tx data param in walletModel.estimateGas
2020-11-11 12:01:38 -05:00
Pascal Precht 968477b43f fix: ensure `onSelectedRecipientChanged` signal is emitted 2020-11-11 12:01:38 -05:00
emizzle 5ac4162f82 feat: Re-enable contact selection in the wallet send dialog
feat: Re-enable contact selection in the wallet send dialog

Selecting a ENS-verified contact will resolve it's ENS address so transactions can be sent directly to contacts from the wallet (if and only if they have ENS enabled for their account).

feat: add EnsResolver component that shows a loader and allows automated ENS resolution from within QML
2020-11-11 12:01:38 -05:00
emizzle bc1525f513 feat: 1-on-1 chat command ENS flow
1-on-1 chat command to send and request a transaction to/from a contact with ENS enabled.
2020-11-05 11:25:45 -05:00
Richard Ramos 9d771b53dc feat: show tokens details
Fixes #910
2020-11-05 10:55:39 -05:00
Jonathan Rainville 53b0c74fd2 fix: fix tab bar buttons still having a margin when invisible 2020-11-05 10:55:27 -05:00
Pascal Precht 7a4cc9227e
fix: introduce validation for required address requests in tx previews
Closes: #1203 #1204
2020-10-28 11:07:23 +01:00
Pascal Precht a7058681fe
fix: some toast messages fixes 2020-10-28 11:07:23 +01:00
emizzle bc0855bcdc
feat: move validators outside of TransactionPreview
BalanceValidator and GasValidator have been moved outside of the TransactionPreview component, because there are some transaction modals that may not need them to be baked in to TransactionPreview. It is useful to have these components on the tx preview step only when we start the process on the preview step.
2020-10-28 11:07:23 +01:00
Pascal Precht fc5f7e8270
fix: transaction preview should not show zero address
Fixes #1199
2020-10-28 11:07:22 +01:00
Pascal Precht 0a9852758d
fix: from/to account not showing correctly
Fixes #1202

I had to revert the loader changes that switched from/to as it was causes quite a lot of logistical complexity. Instead of using Loaders, we are setting the type of account (account or contact), and it is being displayed appropriately. There is a very slight deviation from the design, however it is consistent with the design for other transaction previews.

feat: add BalanceValidator

Shows an exclamation icon next to the "from" account when the balance for the requested asset is too low.

This is useful when the user starts the transaction wizard on the TransactionPreview step.
2020-10-28 11:07:22 +01:00
emizzle e455586990
refactor: remove wei2Token in favour of wei2Eth. Essentially de-duplicated very similar procs and lessened errors
fix: SignTransactionModal - set default focused account when none is found

refactor: move token lookup from QML to nim in the toMessage procedure.

fix: 1:1 tx requests - handle case where token contract is not found (ie sending SNT from mainnet and receiving message on testnet)

feat: error checking for building a token transaction

feat: TransactionPreview - add a validation check that disallows continuation if the selected "from" account has insufficient funds
2020-10-28 11:07:22 +01:00
emizzle 8b465c20f7
start of rebase fixes
Sign and send modal is showing the incorrect "from" account in the TransactionPreview...
2020-10-28 11:07:21 +01:00
emizzle 423882df89
fix: 1:1 chat command transactions "intrinsic gas too low"
I noticed that the 1:1 chat commands were not able to send token transactions due to "intrinsic gas too low" error. I quickly realised there there were a few components missing, which have been fixed.

*feat: update the 1:1 chat commands transaction modal to allow editing of the from account and network fee*

The TransactionStackGroup was updated slightly to allow manual control of back/next actions.

Fixes #870.

*fix: Create distinct modal transaction actions*

Previously, adding `Connection`s for the  `walletModel.transactionWasSent` signal in different dialogs would cause the signal to be handled in the wrong dialog. The solution was to pass a `uuid` from the requesting dialog, and include the `uuid` in the response, so that only requests that were requested from the dialog would be handled.

*fix: update 1:1 translations*
All the translations were not being translated for me. I noticed that they did not exist in the `.ts` translation files either.
2020-10-28 11:07:21 +01:00
Jonathan Rainville ce0d717717 feat: add interactions for the downloaded elements 2020-10-27 15:27:58 -04:00
Pascal Precht 885d93ddb1 feat: introduce StatusIconTabButton component 2020-10-27 15:26:00 -04:00
Jonathan Rainville 84ff2b21a9 fix: fix a couple of QML warnings 2020-10-27 10:23:40 -04:00
Jonathan Rainville c05cc09d20 fix: fix Status button with weird margin 2020-10-27 10:23:26 -04:00
Jonathan Rainville 6f929c3665 fix: fixxstatus button margin when there is an icon 2020-10-22 12:19:18 -04:00
Jonathan Rainville 23b8c6ab57 feat: add styled browser settings menu 2020-10-21 12:06:50 -04:00
Jonathan Rainville 4371501efc feat: style mention suggestions and make it work with keyboard 2020-10-20 17:21:02 -04:00
Jonathan Rainville 676549cccd refactor: move emoji suggestion to own component and make it reusable 2020-10-20 17:21:02 -04:00
Jonathan Rainville d2a4a9cfd5 feat: implement design for the emoji suggestion picker 2020-10-20 17:21:02 -04:00
Jonathan Rainville b4425322ac feat: style account button if connected 2020-10-20 14:42:36 -04:00
Jonathan Rainville 4d2a845eda feat: add browser permission modal 2020-10-20 14:42:36 -04:00
Richard Ramos 10f8eb854b fix: address bar will react to changing tabs and enable mouse selection on text field 2020-10-20 14:42:36 -04:00
Jonathan Rainville 4844e47771 feat: add assets and history in wallet popup 2020-10-20 14:42:36 -04:00
Jonathan Rainville 3431856a13 feat: add new tab button 2020-10-20 14:42:36 -04:00
Jonathan Rainville aa2e2dea64 feat: style address bar and surrounding buttons 2020-10-20 14:42:36 -04:00
Jonathan Rainville 08f8035b31 fix: add timeout to scroll bottom at all times to make sure we do scroll 2020-10-20 13:52:13 -04:00
Pascal Precht 7577b3a2e6 feat: allow users to turn of notification sounds 2020-10-20 13:50:49 -04:00
emizzle d76667f345 feat: Add warning if sending tokens directly to contract
Fixes #936.

![imgur](https://imgur.com/XuzmdRs.png)
2020-10-19 11:45:59 -04:00
emizzle 8a7d6d3f7e fix: add image loader to collectibles images 2020-10-09 12:05:10 -04:00
hydr063n 3c9de2c432 fix: minor fixes to give better context and use custom components 2020-10-09 11:00:39 -04:00
hydr063n 80cd040bcd fix: update delete modal
this fixes the text color in dark mode and the StyledButton is replaced with a StatusButton
For the StatusButton to support the color red, I added the color property that can be overridden
2020-10-09 11:00:39 -04:00
Richard Ramos 0774ad8ccf fix: ImageLoader animation 2020-10-07 15:24:50 -04:00
Pascal Precht 12a7d7c067 feat: introduce new chat input component
Closes #757
2020-10-07 14:03:12 +02:00
Richard Ramos 2da4abf8eb fix: "Contact / Not a contact" indicator was not being updated when an user was added/removed as contact 2020-10-05 10:56:38 -04:00
hydr063n 3c299d054c feat: implement seed word phrase counter
- If the count matches the required amount a tick will be included next the count
- The format is "✓ 12 words"
- This commit also fixes the text color when in dark in the wallet add new account modal
2020-10-05 10:52:30 -04:00
Richard Ramos cdcb928a0c refactor: simplify ProfilePopup usage 2020-10-02 12:48:58 -04:00
Richard Ramos 2fb9d569f7 refactor: open profile popup 2020-10-02 12:48:58 -04:00
emizzle 6d5bd52d0a fix: Estimating gas prevents transaction modal continue
Fixes: #926.

Gas estimations were not being decoded correctly (indicated with "error getting gas price predictions" in the console) and were preventing transaction dialogs from continuing past the step containing the GasSelector component. This affected mainnet only, because in testnet we have hardcoded gas prices (for when the gas prices on mainnet are insane) which is why it was not apparent in testnet.

fix: Contract address not showing correctly
This was caused by `getStickerMarketContractAddress` being moved to `utilsView` but not updated in QML
2020-10-02 12:33:28 -04:00
emizzle 1d2774283f fix: Update StatusRoundButton colours
Update StatusRoundButton colours to support a "tertiary" style (background and icon color overlay), as well as tertiary hover colour.

Fix the modal header close button so that it more closely matches the design.

Replace the buttons in the onboarding modals with StatusRoundButtons were possible.
2020-10-02 12:31:55 -04:00
Jonathan Rainville 8bac59e98c feat: show the error when sendImage fails
Plus improve toastMessage to better handle wide messages
2020-10-02 12:28:41 -04:00
Jonathan Rainville 1dfd16f83d fix: missing type and missing id 2020-09-29 14:34:26 -04:00
Pascal Precht e3c195dc22 uiux: introduce stickermarket components to status library 2020-09-29 13:58:57 -04:00
Pascal Precht 961a370002 uiux: introduce Emoji popup components for new chat input 2020-09-29 13:57:52 -04:00
Pascal Precht dcc0a1d321 uiux: introduce StatusChatCommandsPopup component 2020-09-29 13:57:52 -04:00
Pascal Precht bd63ae6bab feat: introduce StatusChatCommandButton
This is a new version of our `ChatCommandButton` so it is an actual
`Button` element.
2020-09-29 13:48:36 -04:00
Pascal Precht 8142d30289 refactor(StatusRoundButton): use SVGImage for better rendering 2020-09-29 13:48:27 -04:00
Pascal Precht 0e4a6196fc feat: introduce StatusIconButton component
This component is similar to a StatusRoundButton that holds an icon.
However, the StatusRoundButton has a fixed number of variations based on the
designs. Sometimes we need clickable icons that have a different look and feel
E.g. in the chat input component.

This component aims to cover that use case.
2020-09-29 13:48:21 -04:00
emizzle 2c9d042152 fix: Support dark mode for onboarding screens
Related to #599.

![Imgur](https://imgur.com/vKTadPM.png)
![Imgur](https://imgur.com/PHMzGxC.png)

This PR is based off of #1036, which supports system colors at app startup, meaning the onboarding screens may be in dark mode, if the user has their system set to dark mode. This PR fixes the onboarding screens so they support dark mode.

It also:
1. Adds radio buttons to the `AccountList` component, as per the design
2. Adds `qsTr` where missing on the onboarding screens
3. Fixes some minor design issues
4. Updates the modals titles to match the design
5.  Uses reusable Status components where possible. `EnterSeedPhraseModal` and `GenKeyModal` could have used the `StatusRoundButton` component, but there were some limitations that preventing this from being possible.
2020-09-29 13:30:33 -04:00