Commit Graph

1136 Commits

Author SHA1 Message Date
Richard Ramos ff6ceb840a fix: remove reset 2020-11-26 13:25:07 -05:00
Richard Ramos 2f25ce5e80 fix: code review 2020-11-26 13:25:07 -05:00
Richard Ramos b996d860d1 fix: update design for signing messages in browser 2020-11-26 13:25:07 -05:00
Richard Ramos 37aabf57b3 fix: code review 2020-11-26 13:24:53 -05:00
Richard Ramos 0c71ddc888 fix: use opacity gradient and icon for read more/less 2020-11-26 13:24:53 -05:00
Richard Ramos a5b9511a55 fix: show ens usernames when creating a 1:1 chat 2020-11-26 13:23:42 -05:00
Richard Ramos 9aedc5cd1c fix: code review 2020-11-26 13:23:31 -05:00
Richard Ramos 3d72e18fb9 fix: design 2020-11-26 13:23:31 -05:00
Richard Ramos 913a7e5b5d feat: message dialogs 2020-11-26 13:23:31 -05:00
RichΛrd 71665ed53c Apply suggestions from code review
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2020-11-26 11:45:17 -05:00
Richard Ramos c4f2ea0f14 fix: hide channel suggestions permanently 2020-11-26 11:45:17 -05:00
Richard Ramos 22f4815957 fix: 18n and category headers 2020-11-26 11:44:49 -05:00
Richard Ramos 159c82c329 feat: choose network 2020-11-26 11:44:49 -05:00
Jonathan Rainville 9e8ecd69e9 fix: change chat rectangle width to match designs 2020-11-26 11:43:53 -05:00
Richard Ramos 8890805a14 fix: scroll to bottom when switching back from any module to chat 2020-11-26 11:43:45 -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
hydrogen e2ec5fa84e fix: i18n 2020-11-26 11:20:43 -05:00
hydrogen a7936e984d fix: support eliding after 5 authors
fix rightNode subscript
2020-11-26 11:20:43 -05:00
hydrogen 9f6e582111 feat: support seeing who liked a message 2020-11-26 11:20:43 -05:00
hydrogen 2baa55b5c4 feat: add fetch more menu item in the chat drop down menu
fix import

fix extra spaces
2020-11-26 11:20:25 -05:00
hydrogen 388b57cb76 fix: remove already fixed TODO comment 2020-11-26 11:18:50 -05:00
hydrogen 8ca3a9b899 feat: make download view a browser tab instead
fixes https://github.com/status-im/nim-status-client/issues/1232
This PR repurposes the DownloadView into a Loader component of a browser tab and is displayed when:

1. a new downloads tab is opened or
2. a new tab with the link status://downloads or finally when
3. the ShowAll button has been clicked.

You can open any number of Downloads tabs

When you open a new tab and type in status://downloads the title will remain as 'New Tab'

fix: add localization
2020-11-26 11:18:50 -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
Richard Ramos d2ec9854ad fix: transaction dialog not showing up due to missing slot 2020-11-26 10:50:47 -04:00
Pascal Precht 8b74141b99 feat: allow users to change font size for chat messages
Closes #737
2020-11-25 14:41:29 +01:00
Pascal Precht 1277395431 chore: expose linkUrls property on Message QML type 2020-11-25 14:41:29 +01:00
Pascal Precht 8263a9bec8 refactor: revamp profile appearance settings view to align with designs 2020-11-25 14:41:29 +01:00
Pascal Precht ede6afff26
feat: allow users to restore notification settings
Fixes #1280
2020-11-24 11:19:04 +01:00
Pascal Precht af1f03dc7c
feat: allow users to list muted chats and contacts
Partially fixes #1280
2020-11-24 11:17:18 +01:00
Pascal Precht db0b765d74 feat(Notifications): allow users to turn of notifications for non-contacts
Partially fixes #1280
2020-11-24 11:16:02 +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
RichΛrd d601df179d
Add right anchor to chatText on ENS section 2020-11-19 21:15:36 -04:00
Jonathan Rainville d49be78417 feat: show nickname if there is one in the mentions 2020-11-19 17:00:28 -05:00
Richard Ramos 6f3749d787 fix: compass should not display over devtools and webpages can request focus 2020-11-19 17:00:07 -05:00
Richard Ramos 1737fc2506 fix: mangled ens name 2020-11-19 16:59:57 -05:00
Richard Ramos 1d6b7b5759 fix: clear input field when opening "Add contact" popup 2020-11-19 16:59:09 -05:00
Jonathan Rainville 447591e9b4 feat: make the message box scale according to the parent's width 2020-11-19 16:57:58 -05:00
Richard Ramos 983fbfd3d4 fix: scroll speed 2020-11-19 16:57:20 -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 c4bfba5cbf fix: hide chat input if you havent joined a group 2020-11-19 16:54:17 -05:00
Jonathan Rainville c10e0a8503 fix: ensure html is escaped in the notification window 2020-11-19 16:53:33 -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
hydrogen ae5ad63410 fix: component layout 2020-11-18 12:06:13 +01:00
hydrogen df9ac80eb9 feat: loading spinner while resolving ens name 2020-11-18 12:06:13 +01:00
Pascal Precht 0f6d40f931 feat: introduce StatusImageModal component 2020-11-17 12:48:06 -05:00
Pascal Precht 47a561daf4 uiux: apply rounded corners to images from image URLs 2020-11-17 12:48:06 -05:00
Pascal Precht be2aadb4e2 uiux: Refactor chat images so they look like they've been designed
Fixes: #1114
2020-11-17 12:48:06 -05:00
Pascal Precht 4ac8400038 fix: ensure `sending` message state isn't shown when message is expired 2020-11-17 10:01:13 -05:00
Jonathan Rainville 6869a3ddfb feat: whitelist the characters possible for the channel names 2020-11-16 13:03:08 -05:00
Iuri Matias 0174bb4e21 update to beta.4 2020-11-11 16:16:18 -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
Jonathan Rainville b2030f7cd6 chore: update unfuling image to be transparent 2020-11-11 12:02:12 -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
Jonathan Rainville 44b1d55ebb fix: XSS filter channel names in case a bad one had been submitted 2020-11-06 16:23:09 -05:00
Jonathan Rainville dbc1d26966 fix: protect against XSS in chat names 2020-11-06 16:23:09 -05:00
Richard Ramos 97c6abbb05 fix: code review 2020-11-06 16:22:07 -05:00
RichΛrd 61ad781065 Update ui/app/AppLayouts/Profile/Sections/FleetsModal.qml
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2020-11-06 16:22:07 -05:00
Richard Ramos ea02c7f0b5 feat: choose fleet 2020-11-06 16:22:07 -05:00
Richard Ramos 514f6fa31e fix: token verification condition 2020-11-06 16:21:57 -05:00
Richard Ramos bba08d87b8 feat: populate token details from contract address 2020-11-06 16:21:57 -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
Iuri Matias abd8b2a421 add UNI, COMP, AAVE, BAL, AKRO images 2020-11-05 11:25:33 -05:00
Jonathan Rainville b23e6bc686 feat: implement design for the URL unfurling 2020-11-05 11:25:22 -05:00
Jonathan Rainville 4e98bc5258 feat: add component to enable unfurling and fix comppnent reload 2020-11-05 11:25:22 -05:00
Jonathan Rainville b583a4d4bf feat: show unfurled youtube links 2020-11-05 11:25:22 -05:00
Jonathan Rainville a679758230 feat: show whitelistable sites in the settings and set in qt settings 2020-11-05 11:25:22 -05:00
Richard Ramos c43f6baaa8 fix: code review 2020-11-05 10:55:39 -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
Richard Ramos 1122b33ff8 feat: support Swarm and IPNS ENS contenthashes 2020-11-05 10:55:13 -05:00
Pascal Precht c273ee9bed
fix: fix anchors for badge icon in profile button 2020-10-28 11:15:39 +01: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 c6d3d47982
fix: correct path for loading svg in toastmessage
Fixes #1209
2020-10-28 11:07:23 +01:00
Pascal Precht 43e978d205
feat: allow users to select account when sharing address for tx
Closes #1207
2020-10-28 11:07:23 +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 32a4afe037
add sign transaction modal for incoming tx request
also remove `outgoing` property that was previously added
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
Pascal Precht 41e5626bfa
fix tx bubbles 2020-10-28 11:07:21 +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
Richard Ramos 0a13940742 fix: signatures 2020-10-27 19:55:50 -04:00
Richard Ramos 5461d6f93c feat: remove seed phrase 2020-10-27 19:32:54 -04:00
Richard Ramos 6c641eff42 feat: identify if a token is being approved and estimate gas for contract trxs 2020-10-27 17:13:11 -04:00
Jonathan Rainville cc6fb42d14 feat: style download full view 2020-10-27 15:27:58 -04:00
Jonathan Rainville 98730fa177 touchup 2020-10-27 15:27:58 -04:00
Jonathan Rainville ce0d717717 feat: add interactions for the downloaded elements 2020-10-27 15:27:58 -04:00
Jonathan Rainville 4639517786 feat: add download bar with no features but it lists 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 8ce51cfa7a fix: fix emptyChat text not being translated or translatable 2020-10-27 10:23:26 -04:00
Jonathan Rainville e6ae202510 fix: fix profile popup header 2020-10-27 10:23:26 -04:00
Jonathan Rainville ccb226d3bd feat: implement start page tab behaviour 2020-10-22 12:19:18 -04:00
Jonathan Rainville ac8f476f44 refactor: move browser Tab to its own component 2020-10-22 12:19:18 -04:00
Iuri Matias 6ce8d5ef74 update to beta.3 2020-10-21 15:58:27 -04:00
Richard Ramos 94274ff495 fix: stop any loading webpage before changing the user agent 2020-10-21 13:04:36 -04:00
Richard Ramos 6b064f3d17 feat: add compatibility mode menu item 2020-10-21 13:04:36 -04:00
Richard Ramos 4adce2e801 fix?: sqlite crash - Cookie sqlite error 5, errno 0: database is locked 2020-10-21 13:04:36 -04:00
Jonathan Rainville 82ab3a4a97 chore: add context to help container letter i18n 2020-10-21 12:11:15 -04:00
Jonathan Rainville c04f89d8fa feat: show browser settings in the profile section 2020-10-21 12:06:50 -04:00
Jonathan Rainville af2af0700c feat: add basic browser settings and go to them on browser button click 2020-10-21 12:06:50 -04:00
Jonathan Rainville 23b8c6ab57 feat: add styled browser settings menu 2020-10-21 12:06:50 -04:00
Jonathan Rainville 6c96ee4356 fix: don't close group info popup when closing profile popup 2020-10-21 10:37:33 -04:00
Jonathan Rainville 6906ddcb61 fix: make sure admin status is up to date when opening the popup 2020-10-21 10:37:33 -04:00
Jonathan Rainville fc4a179dc7 fix: fix group info popup layout and clean it up 2020-10-21 10:37:33 -04:00
Jonathan Rainville d83ca70bef fix: don't close group info popup when closing profile popup 2020-10-21 09:40:12 -04:00
Jonathan Rainville 4371501efc feat: style mention suggestions and make it work with keyboard 2020-10-20 17:21:02 -04:00
Richard Ramos c68498fcfe fix: support downloads in browser 2020-10-20 14:42:36 -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
Richard Ramos b18a1d6b4d feat: support message signing 2020-10-20 14:42:36 -04:00
Richard Ramos 37e213e89b feat: dapps permissions 2020-10-20 14:42:36 -04:00
Richard Ramos 1ec6dee429 feat: address bar, tabs support and nav buttons 2020-10-20 14:42:36 -04:00
Jonathan Rainville 7ddb7c6c30 feat: change network name and color based on network 2020-10-20 14:42:36 -04:00
Jonathan Rainville b5859fffa8 feat: open sendModal when click the send button in wallet popup 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 e45409b400 feat: add account selectort 2020-10-20 14:42:36 -04:00
Jonathan Rainville 70e01db117 feat: add basic popup for the wallet 2020-10-20 14:42:36 -04:00
Richard Ramos cf3121f688 fix: load browser only when the browser tab is clicked 2020-10-20 14:42:36 -04:00
Jonathan Rainville 803b287766 fix: change user agent to Firefox on google to enable loging in 2020-10-20 14:42:36 -04:00
Jonathan Rainville 03769fbb6e fix: fix browser view going over the dev console 2020-10-20 14:42:36 -04:00
Jonathan Rainville 07774d8ff8 feat: add empty view for the browser 2020-10-20 14:42:36 -04:00
Jonathan Rainville af33a50a03 fix: fix tab bottom radius, text elide and secondary background 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 f711d0a899 feat: add tabs at the top of the url bar 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 1316f35909 refactor: move browser header to a separate file 2020-10-20 14:42:36 -04:00
Jonathan Rainville 70177b803a feat: enable sending contract calls from the browser 2020-10-20 14:42:36 -04:00
Jonathan Rainville 0c1156b33c feat: reuse signtxModal and show success and failure 2020-10-20 14:42:36 -04:00
Jonathan Rainville 56d6ece3e9 feat: enable sending an ETH transaction from the browser 2020-10-20 14:42:36 -04:00
Richard Ramos 3bc2c07042 fix: url replacement 2020-10-20 14:42:36 -04:00
Richard Ramos bf5e988cb9 fix: adding a default color to account selector, and changing attribute to result from payload 2020-10-20 14:42:36 -04:00
Richard Ramos 117f4bb6c8 feat: browser account selector 2020-10-20 14:42:36 -04:00
Richard Ramos e512768dc0 fix: replace URL in address bar by ens 2020-10-20 14:42:36 -04:00
Richard Ramos a9d9aeb0d3 fix: networkId should be a string 2020-10-20 14:42:36 -04:00
Richard Ramos ca2fef7c28 feat: resolve ens addresses pointing to IPFS 2020-10-20 14:42:36 -04:00
Richard Ramos f85216e7f7 feat: dapp browser privileges
- Create privilege dialogs dynamically for each privilege requested
- Check if a privilege has been granted before to determine if dialog must be shown or not
- If dapp is allowed to use privilege, save it in the settings
2020-10-20 14:42:36 -04:00
Richard Ramos b6066ef1dd feat: address bar, tabs support and nav buttons 2020-10-20 14:42:36 -04:00
Richard Ramos 3326c8b5f5 feat: ask for user approval for API requests 2020-10-20 14:42:36 -04:00
Richard Ramos 02a7abf864 fix: QWebChannel not available 2020-10-20 14:42:36 -04:00
Richard Ramos b650fa75d5 feat: ethereum.enable(), api: contact-code and readOnly RPC method support on browser 2020-10-20 14:42:36 -04:00
Richard Ramos c2567232b1 feat: injecting scripts needed for communicating from browser to nim
- Changed WebView to WebEngineView
- Created a new controller/view for the web3 provider
- Created a private profile
- Created a channel for comms browser - qml
2020-10-20 14:42:36 -04:00
Michael Bradley, Jr e985e99f36 feat: reintroduce the dapp browser 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 78a3ec646c chore: remove sound options for now 2020-10-20 13:50:49 -04:00
Pascal Precht 7577b3a2e6 feat: allow users to turn of notification sounds 2020-10-20 13:50:49 -04:00
Pascal Precht 3d0f50a5b3 feat: allow users to configure notification settings
Can choose between all, just mentions, or nothing
2020-10-20 13:50:49 -04:00
Pascal Precht ebda8b19a9 fix(Chat): ensure transaction bubbles are render on the correct side
Fixes #1198
2020-10-20 13:48:20 -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
Pascal Precht 85f18057ae fix: don't allow users to start chats with themselves 2020-10-16 10:44:42 -04:00
Pascal Precht 6f138f2d44 uiux(Chat): change channel background when hovering over them 2020-10-16 10:43:48 -04:00
Pascal Precht 8bf82e1dd6 feat: allow for fetching messages older than 24 hours 2020-10-16 10:43:38 -04:00
emizzle 8a7d6d3f7e fix: add image loader to collectibles images 2020-10-09 12:05:10 -04:00
Jonathan Rainville b05a9a8ff6 fix: fix text in bubbles being too low 2020-10-07 11:22:29 -04:00
Pascal Precht ec22de8c24 uiux(Chat): add margin between group header messages and fetch-more button
Closes #1087
2020-10-07 11:22:04 -04:00
Pascal Precht c64424990d uiux(Chat): remove sent badge
Closes #919
2020-10-07 11:21:54 -04:00
Pascal Precht e2bb81885f feat(Chat): show 'no search results' message
Closes #1081
2020-10-07 11:20:29 -04:00
Pascal Precht 12a7d7c067 feat: introduce new chat input component
Closes #757
2020-10-07 14:03:12 +02:00
Iuri Matias b03e5c72e8 update to beta.2 2020-10-06 10:19:07 -04: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
hydr063n 0ed41902a8 fix: change arrow button to 'start chat' for join public chat modal 2020-10-05 10:52:11 -04:00
hydr063n 7a5060da32 feat: load more transactions with a button
use qstrid; trx width and heights; add positionViewEnd; fix some qt rules;

missing semi colons
2020-10-05 10:50:35 -04:00
hydr063n 5da0d47c5a feat: introduce character limit of 2000 when sending messages
fix: refactor sticker query
2020-10-05 10:50:12 -04:00
hydr063n 3229fc06e6 feat: beautify the hex values in transaction history
beautify nonce too

ammend the code to call conversion functions from qt instead

move to utils

var to let
2020-10-05 10:46:00 -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
Jonathan Rainville 261460f8fb fix: fix chat height being too high in compact mode 2020-10-02 12:48:02 -04:00
Jonathan Rainville fe3995bb3d refactor: clean compact mode message 2020-10-02 12:48:02 -04:00
Jonathan Rainville 7478415c64 fix: fix image padding 2020-10-02 12:48:02 -04:00
Jonathan Rainville c37ba24f7b fix: fix padding around stickers in compact mode 2020-10-02 12:48:02 -04:00
Jonathan Rainville df76fb815b refactor: make Sticker a Loader so that we only load it if needed 2020-10-02 12:48:02 -04:00
Pascal Precht edfd952166 feat(Chat): allow viewing unfurled images via popup
Fixes #668
2020-10-02 12:37:57 -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
emizzle 64b0a11757 feat: add sticker loading UI
Closes: #586

Previously, loading sticker packs and stickers would show a lot of blank and non-interactive content.

Now, stickers and sticker packs have grey circles to indicate loading. Additionally, the sticker market button (+) shows a loading indicator until the sticker packs are loaded.
2020-09-29 15:19:42 -04:00
Jonathan Rainville 42102bdae4 feat: limit number of collectibles to 200 to avoid explosions 2020-09-29 14:44:10 -04:00
Jonathan Rainville 9acb6609ab feat: only show the scrollDown when scrolled up 400 pixels 2020-09-29 14:43:58 -04:00
Jonathan Rainville 3881d1e012 fix: make chatMessages new message box clearer 2020-09-29 14:43:58 -04:00
Jonathan Rainville 39f06d0741 feat: implement design for the new messages box in chat 2020-09-29 14:43:58 -04:00
Jonathan Rainville 1dfd16f83d fix: missing type and missing id 2020-09-29 14:34:26 -04:00
Jonathan Rainville ba0af727dc refactor: add funciton to change the username instead of using a global 2020-09-29 14:04:32 -04:00
Jonathan Rainville 6a57eeccb2 feat: implement new design for the nickname popup 2020-09-29 14:04:32 -04:00
Jonathan Rainville 577dbba831 fix: fix code review and fix deleting colon closes emoji popup 2020-09-29 14:04:13 -04:00
Jonathan Rainville cf734796d1 feat: enable adding emojis from the suggestion list 2020-09-29 14:04:13 -04:00
Jonathan Rainville 15bebaa0f5 feat: add basic emoji list when entering an emoji 2020-09-29 14:04:13 -04:00
Jonathan Rainville 9f9bad2fa3 feat: add a read more button and crop text when message is too long 2020-09-29 14:02:33 -04:00
Jonathan Rainville dad1dcf2c5 fix: fix eth2Wei returning a bad string 2020-09-29 14:01:44 -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 bc7b825f55 uiux(Chat): ensure chat input gets focus when changing views and channels
Fixes #804
2020-09-29 13:48:13 -04:00
emizzle c236e01fc8 feat: Support system dark mode theme
Supports system dark mode. Changes the user appearance setting to a 3-way setting of System, Light, Dark.

New accounts will have their appearance setting set to "System", which uses the system setting to determine if dark mode should be applied.

Breaking change: Users who had their settings on Light Theme, will now get the system theme (light or dark). Users who had their theme set to Dark, will now get the Light theme.

At startup, the onboarding screens will have the system-level setting of dark mode applied or not. Once, logged in, the user settings will be applied.

## Note
An appearance setting of "System" is not dynamic to the system-level setting. This means that if a user has "System" set for their appearance (and ie, the user has light mode set), and then user then changes their system setting from light to dark, the app will not respond until it is restarted. This is due to a limitation of Qt not having a reliable way to propagate these changes to QML.
2020-09-29 13:30:13 -04:00
emizzle 5eabcd2725 feat: Add loading and reload states to stickers/packs
Related to: #586.

Adds a loading state to stickers, so that a loading indicator appears while the sticker is being downloaded from IPFS.

In the case of a network failure or timetout, a reload button is shown instead. Once network is restored and the reload button is clicked, the image is reloaded from the network, going through the same lifecycle of showing the loading state first.
2020-09-29 13:27:50 -04:00
emizzle 1fc0e26a0f fix: update tx modal validity 2020-09-29 13:27:29 -04:00
hydr063n d41bae62f7 fix: convert styledbuttons to statusbuttons 2020-09-29 13:25:25 -04:00
hydr063n a1dbf306e4 fix: apply correct theme and use correct model to access functions 2020-09-29 13:25:25 -04:00
hydr063n 6ffa4ef4fa fix: update Text to StyledText 2020-09-29 11:41:44 -04:00
hydr063n aa43d54acc fix: ens modal wordwrap and text color 2020-09-29 11:41:44 -04:00
hydr063n 968923e8be chore: refactor ensRegisterAddress too and update the ui to use utilsModel 2020-09-28 10:38:23 -04:00
hydr063n 25748ce682 chore: update ui screens to use utilsModel instead 2020-09-28 10:38:23 -04:00
hydr063n 20f51a3647 fix: typo when user has 0 contacts (firends -> friends) 2020-09-28 10:35:11 -04:00
Jonathan Rainville 81f5e4e7d8 chore: update translations 2020-09-23 17:19:57 -04:00
Jonathan Rainville 88de02b1dc fix: fix color and warning 2020-09-23 17:19:43 -04:00
Iuri Matias 9d356fc4f7 change status-spanish to status-espanol, it's more guay 2020-09-23 17:19:17 -04:00
Jonathan Rainville 024e7a18ae fix: fix suggested channels border and height 2020-09-23 16:40:52 -04:00
Jonathan Rainville 99d5a46073 fix: fix binding loop in message count 2020-09-23 16:40:52 -04:00
Iuri Matias 0882ba18af update to beta.1 2020-09-23 15:52:34 -04:00
Iuri Matias 1bbd720743 cleanup qml 2020-09-23 15:52:27 -04:00
Iuri Matias bcb8970817 cleanup qml 2020-09-23 15:52:27 -04:00
Iuri Matias 0da4633318 cleanup qml 2020-09-23 15:52:27 -04:00
Iuri Matias 1d8d11a06e display channel suggestions in main channel list 2020-09-23 15:52:27 -04:00
Iuri Matias a3441fb45f refactor channel suggestion list into one component 2020-09-23 15:52:27 -04:00
Iuri Matias 6ac3f86951 fixes for empty view 2020-09-23 15:52:27 -04:00
Iuri Matias 2204a7b785 update empty view with list of channels 2020-09-23 15:52:27 -04:00
Iuri Matias fbf8302474 fixes for qml layout 2020-09-23 15:52:27 -04:00
Iuri Matias 52d394ded4 update join chat suggested channels to include the full list of categories and channels 2020-09-23 15:52:27 -04:00
Jonathan Rainville eb7b9c2383 chore: fix qml warnings in a couple of components 2020-09-23 15:16:34 -04:00
Jonathan Rainville c36f1f82cd feat: add a button to scroll back to the end of the chat list 2020-09-23 15:16:22 -04:00
Jonathan Rainville 4060b40ccf fix: fix mentions box being too big because plainText was the pubKey 2020-09-23 15:15:44 -04:00
Jonathan Rainville 26dd599e06 chore: fix comment typo
Co-authored-by: Eric Mastro <eric.mastro@gmail.com>
2020-09-23 15:15:22 -04:00
Jonathan Rainville 6fc56b5035 fix: fix spaces and line breaks disappearing when pasting 2020-09-23 15:15:22 -04:00
Michael Bradley, Jr d9fe903c74 docs: indicate MPL 2.0 as the license 2020-09-23 15:14:59 -04:00
Pascal Precht 599f788e67
feat: introduce `StatusChatInfo` and `StatusChatInfoButton` components
These components are used to render the chat info in the top bar of the chat view.
`StatusChatInfoButton` is an clickable button that will open chat info dialogs.

Closes #923
2020-09-23 08:53:23 +02:00
Pascal Precht fac0e50e37 feat: introduce StatusIdenticon components
This component introduces `StatusLetterIdenticon`, `StatusImageIdenticon`
and `StatusIdenticon`.

- `StatusLetterIdenticon` renders an identicon with a single letter based on a
name.
- `StatusImageIdenticon` renders an actual image based on an identicon URL
- `StatusIdenticon` is a composition of the former both, but with a loading mechanism
  to decide which should be rendered

The commit also ensures all of these components are used respectively throughout
the application.
2020-09-23 08:52:30 +02:00
Iuri Matias c347430864 update to alpha.6 2020-09-22 12:39:54 -04:00
Jonathan Rainville a8d42e5e1e fix: fix reaction direction in compact mode for current user 2020-09-22 11:31:19 -04:00
Jonathan Rainville 49849edbac fix: channel description and reaction colors in dark mode 2020-09-22 11:30:30 -04:00
Jonathan Rainville a35130ff68 fix: fix reply colors in dark mode 2020-09-22 11:30:30 -04:00
Richard Ramos 16468960f7 fix: code review 2020-09-22 09:37:41 -04:00
Richard Ramos efac44057a fix: rebase gone wrong 2020-09-22 09:37:41 -04:00
Richard Ramos 346e98c81a feat: Add transaction modal when changing the pubkey 2020-09-22 09:37:41 -04:00
Pascal Precht c992cce9f5 chore: update translations
Fixes #900
2020-09-22 09:36:05 -04:00
Richard Ramos ca0416dd30 fix: code review and style changes 2020-09-21 15:03:17 -04:00
Richard Ramos 2fb8f2ea55 fix: join/decline group 2020-09-21 15:03:17 -04:00
Pascal Precht d5f53765b3 feat: implement notification center screen 2020-09-21 12:53:34 -04:00
Jonathan Rainville f6199ac179 fix: fix undefined string warning in group info popup 2020-09-21 12:52:05 -04:00
Jonathan Rainville f359f7c45d fix: fix nickname not refreshing in contact lists for groups 2020-09-21 12:52:05 -04:00
Jonathan Rainville fd93650b23 refactor: remove duplicated methods in chatModel and use profileModel 2020-09-21 12:52:05 -04:00
Jonathan Rainville 0c0baf29e8 fix: small fixes to the profile popup 2020-09-21 12:52:05 -04:00
Jonathan Rainville 6e357cb5e2 feat: show nickname in the modal from the contact list 2020-09-21 12:52:05 -04:00
Jonathan Rainville bc3b7a5533 feat: enable setting a nickname to a contact 2020-09-21 12:52:05 -04:00
Jonathan Rainville 697ae321d2 feat: add nickname modal 2020-09-21 12:52:05 -04:00
Jonathan Rainville c59ba5f24d feat: add Nickname entry in the profilePopup 2020-09-21 12:52:05 -04:00
Pascal Precht b74209f6fe feat: introduce StatusSectionHeadline component 2020-09-21 12:55:21 +02:00
Pascal Precht f0939a01fe chore: update i18n 2020-09-18 17:23:35 -04:00
Jonathan Rainville 7dce940e68 fix: fix message order being messed up because of the messageId 2020-09-18 17:23:09 -04:00
Iuri Matias 7d1bae9b96 fix use text instead of label 2020-09-17 15:32:59 -04:00
Pascal Precht 70d50110cd feat: introduce StatusSwitch component 2020-09-17 15:17:08 -04:00
Pascal Precht 44e3e6d581 feat: introduce StatusRadioButton component 2020-09-17 15:17:01 -04:00
Pascal Precht 1aba28b1cf uiux(Settings): add slider to control audio volume
Closes #843
2020-09-17 15:16:32 -04:00
Pascal Precht 02dcc106e4 uiux(Contacts): add loading indicator when searching for contacts to add 2020-09-17 15:16:24 -04:00
Pascal Precht 9c1613acf8 uiux(Wallet): improve readability of high value balances
Uses `toLocaleString()` polyfill to insert `.` and/or `,` as
needed based on currently selected locale.

Closes #845
2020-09-17 15:16:16 -04:00
Pascal Precht e0adc3056e chore: update translations
Closes #801 #841
2020-09-17 15:16:09 -04:00
emizzle 7c520a8032 fix: close tx modals after sending 2020-09-17 12:22:15 -04:00
emizzle c9c1dce6ea fix: Sticker market dark mode support 2020-09-17 12:22:00 -04:00
emizzle 7b0d3c496c fix: exception handling in mutli-threaded transactions
Currently, exceptions thrown during transactions or gas estimation that were spawned in another thread are not being propagated, due to a limitation in nim (see https://nim-lang.org/docs/manual_experimental.html#parallel-amp-spawn).

This means any exceptions from status-go were not propagated correctly and would cause the app to crash. This includes entering the wrong password when trying to send a transaction.

The issue was addressed by passing a `success` variable by reference, which is set to false if an exception was thrown by status-go.
2020-09-17 12:21:29 -04:00
Pascal Precht c3d946b165 chore: remove unused JS library 2020-09-16 17:01:32 -04:00
Jonathan Rainville bcbcd13611 refactor: use profileSettingsFile QtProperty instead of profile directly 2020-09-16 16:58:55 -04:00
Jonathan Rainville db9472bc0b refactor: change settings to use a filename instead 2020-09-16 16:58:55 -04:00
Jonathan Rainville 23ca5f9930 feat: make settings user dependant and clean settings uses 2020-09-16 16:58:55 -04:00
Pascal Precht 4f94588199 uiux: ensure components have proper theme text color
Closes #899
2020-09-16 16:57:31 -04:00
Pascal Precht 8b941c179f feat: add need help section
Closes #844
2020-09-16 16:57:18 -04:00
Richard Ramos e4ffc897d7 fix: code review + reset sticker pack pending state 2020-09-16 14:22:29 -04:00
Richard Ramos d0bca7afa6 fix: show stickers as pending while trx is being mined
Fixes #885
2020-09-16 14:22:29 -04:00
Richard Ramos 24e01ffa7c fix: code review 2020-09-16 14:22:29 -04:00
RichΛrd 6a42124489 Apply suggestions from code review
Co-authored-by: Eric Mastro <eric.mastro@gmail.com>
2020-09-16 14:22:29 -04:00
Richard Ramos e46ab433f4 feat: transaction dialog for registering ENS name 2020-09-16 14:22:29 -04:00
Richard Ramos e75958d78d fix: code review 2020-09-16 14:22:29 -04:00
Richard Ramos 83b0c8057e fix: code review 2020-09-16 14:22:29 -04:00
Richard Ramos 0091fded3a feat: toast messages for sticker and ens trxs 2020-09-16 14:22:29 -04:00
Jonathan Rainville 17aa8d274e fix: fix defaultTokenList use in QML 2020-09-14 14:54:17 -04:00
Jonathan Rainville 103f02b289 feat: show toast message for transaction status changes 2020-09-14 14:48:26 -04:00
Jonathan Rainville 797da0a962 feat: add ToastMessage when transaction becomes pending 2020-09-14 14:48:26 -04:00
Richard Ramos 6c7a3d6340 fix: use messageid in comparator
Fixes #324
2020-09-14 14:39:06 -04:00
hydr063n b479dba001 feat: open modal when user left clicks on message containing image 2020-09-14 14:38:41 -04:00
Jonathan Rainville e8a202cfae refactor: change pending state to be handled by a StatusButon instead 2020-09-11 16:55:36 -04:00
Jonathan Rainville ad00709104 feat: show loading image on the button when sending 2020-09-11 16:55:36 -04:00
Jonathan Rainville 64c2ff099e feat: remember wallet enabled in QT setting 2020-09-11 16:55:36 -04:00
Pascal Precht b22f0d8a58 fix(Wallet): reset add account modal
Fixes #890
2020-09-11 14:41:35 -04:00
Richard Ramos f2a56c70e1 fix: rebase gone wrong 2020-09-11 13:25:55 -04:00
emizzle 2c7dd929ad feat: enable token transactions
Fixes #788.
Fixes #853.
Fixes #856.

refactor: gas estimation and transaction sends have been abstracted to  allow calling `estimateGas`, `send`, and `call` on the contract method (similar to the web3 API).

Moved sticker pack gas estimation and purchase tx over to the new API

*Sticker purchase:*
 - gas estimate is done using new API and debounced using a timer

*Wallet send transaction:*
 - tokens can now be sent
 - gas is estimated correctly for a token tx, and debounced using a timer

***NOTE***
1. If attempting to send tokens on testnet, you must use a custom token as the token addresses in the pre-built list are for mainnet and will not work on testnet.
2. The new API should support all existing gas estimates, send txs, and calls. The loading of sticker pack data, balance, count, purchased sticker packs, etc, can be moved over to the new API. Almost all of the `eth_sendTransaction`, `eth_gasEstimate`, and `eth_call` could be move over as well (that's the idea at least).
2020-09-11 12:01:08 -04:00
Pascal Precht 729a2781f0 feat(TransactionModal): introduce async validation for ENS names
This commit extends the AddressInput to perform ENS lookups when valid
ENS values are entered. The lookup happens asynchronously, so we show a loading
indicator as the request is happening.

Closes #790
2020-09-10 13:40:42 -04:00
hydr063n d64446f868 implement text-id based translations for currencies 2020-09-10 13:39:53 -04:00
Richard Ramos 24212a63e9 feat: testnet tokens 2020-09-09 16:35:51 -04:00
Pascal Precht 811024b0ee fix(Wallet): restore add account button default state
Fixes #803
2020-09-09 16:17:43 -04:00
Richard Ramos 27abf30fc8 feat: list, toggle and remove custom tokens 2020-09-09 16:10:51 -04:00
Jonathan Rainville f3f27a5e59 fix: address more comments about the chat commands 2020-09-09 15:03:45 -04:00
Jonathan Rainville 91c8089716 fix: fix decimals problem with Chat commands
The problem was that the BigInt lib did not handle decimals at all. `divMod` only let the remainder be what is after the dot. So I created my own divde and multiply methods to move the dot depending on the number of decimals
2020-09-09 15:03:45 -04:00
Jonathan Rainville 348e0a9bdc fix: address review comments for the send forms 2020-09-09 15:03:45 -04:00
Jonathan Rainville 6b3cac31bc feat: enable sending chat requests 2020-09-09 15:03:45 -04:00
Jonathan Rainville 60492b4db1 feat: add chat command bubbles for received txs 2020-09-09 15:03:45 -04:00
Iuri Matias 4e801c5336 add missing source comments 2020-09-09 14:08:19 -04:00
Iuri Matias aeb8d2958d display first menu option; include channel id 2020-09-09 14:08:19 -04:00
Iuri Matias 5e2c3c9ca7 add leave/quit for context menu 2020-09-09 14:08:19 -04:00
Iuri Matias dff022bac0 update to alpha.5 2020-09-08 14:57:28 -04:00
Pascal Precht 2cd6260515 uiux(Chat): make entire contact item clickable when starting new chat
Closes #847
2020-09-08 14:24:12 -04:00
Pascal Precht a9fe6eb3b2 fix(Chat): use qsTr() over qsTrId() due to non-existent i18n id
Fixes #848
2020-09-08 14:23:40 -04:00
Pascal Precht 5f227e6515 fix(Contacts): use qsTr() over qsTrId() for concrete text
Fixes #838
2020-09-08 14:23:30 -04:00
Pascal Precht 5b4830fe17 fix(Contacts): "Unblock User" i18n ID doesn't have a translation
Fixes #840
2020-09-08 14:23:18 -04:00
Pascal Precht 4bea011417 uiux(Chat): show loading indicator when fetching more messages 2020-09-08 14:09:09 -04:00
Richard Ramos 98aaa69e9d fix: transaction history handling
- Determine if the recent transaction history is being fetched or available before obtaining the first 20 transactions
- On account change, reset the selected tab to show the asset list
- Collectibles were kinda pixelated/blurry (not anymore)

Fixes #806
2020-09-07 12:54:59 -04:00
Richard Ramos 17f1f72113 fix: using loaders for status button animations 2020-09-07 10:21:41 -04:00
Pascal Precht 1481f2648f feat: introduce "fetch more messages" button to request old messages
Closes #149
2020-09-07 10:20:17 -04:00
emizzle d8b0145eb3 feat: Add Sticker purchase transaction modal
Add gas estimate for sticker pack purchase.

Update transaction for sticker pack purchase.

Add GasValidator component which validates gas is selected correctly and displays an error message if not. This component is not visible until it is not valid (at which point the valdiation error message is displayed).

In a future PR, need to:
1. estimate gas for token txfer (sendTransaction) via a normalised method for estimating gas for EthSend
2. move sticker pack purchase to use an EthSend object so gas can be estimated and tx sent
2020-09-04 16:13:33 -04:00
hydr063n 4f409f76c8 replace console.log with comment on popup section 2020-09-04 15:31:46 -04:00
hydr063n e77b6d193e refactor and add support for converting to emoji after pasting text 2020-09-04 15:31:46 -04:00
hydr063n 542020d6a6 extrapolate cursorPosition to account for the fact the emojis are not length 1 2020-09-04 15:31:46 -04:00
hydr063n deacefb03f poll for emoji event when user moves cursor with kbd or mouse and replace emoji token with code point 2020-09-04 15:31:46 -04:00
hydr063n 1cc43c15e7 implement emoji handler that replaces text 😂 with text 2020-09-04 15:31:46 -04:00
Richard Ramos 0b6643ac2d feat: show SNT by default in the token list, and STT in ropsten
fixes #805
2020-09-03 16:06:20 -04:00
emizzle 1e020a203c feat(tx-comps): Send transaction modal
Fixes #669.

Composes all tx components to create a send transaction modal for the wallet.

1. Add a reusable TransactionStackView component that wraps a StackView component to show the screens of the Send Tx modal and handles back/forward/reset functionality.
2. Add a reusable TransactionStackGroup which holds tx components and allows modal header and button text to be defined and handles validation for all child components.
3. Add an isValid property to all tx comps for pristine validation state.
4. Reset all components in modal once modal is closed. This consists of a `resetInternal` function that each component should implement to reinstate its original starting state, and a `reset` function that parent components can use to reinstate the overridden properties.
5. Tx error handling to display either a StatusGo error message in the dialog, or wrong password in the TransactionSigner.
6. Fix ReceiveModal to allow for pre-selected account based on current wallet account.
7. Add focused border colour to Input component.
8. Fix issue with last TransactionStackGroup input not being able to obtain focus.
9. Fix fiatBalance not appearing on initial load on AccountSelector.
10. Fix selected asset updated properly when assets changed in the AssetSelector component.
11. AccountSelector is pre-populated with selected wallet account. Supporting work on the components has been done to suppor this.
12. Changing accounts in the "from account" updates the asset balances in the AssetAndAmountInput component.
13. Move validation from ContactSelector to the Select component.

1. Test sending of tokens. This requires that tokens contracts are setup on testnet. Right now, they are set up for contract addresses on mainnet.
2. Loading state once transaction is sent. Button in modal needs to move to a loading state and the "toast" messages in the wallet need to appear informaing user of tx progress.
3. Need to clarify (and implement?) support of ENS names in the AddressInput. It appears that ENS names could be resolved. This would be a long operation and require some kind of UI loading indication.
4. Wallet balances need to be updated on every block, so for example, sending funds between accounts I should be able to see the balance updated in real time.

1. Sending to a contact currently doesn't work because the ContactSelector component selects the Contact's whipser key, instead of his/her wallet address. May need to figure out how this is done in status-react. As it stands, attempting to send to a contact will crash the app.
2. Sending *from* an imported account does not work, with an error from StatusGo `cannot locate account for address: 0x123...`
2020-09-03 15:32:55 -04:00
Richard Ramos e95e052575 fix: profile icons 2020-08-31 11:34:01 -04:00
Iuri Matias b3594e7f2f disable UI and wallet tab by default 2020-08-28 13:49:18 -04:00
Iuri Matias 0b292224a2 update to alpha.4 2020-08-28 13:39:12 -04:00
Pascal Precht 27a140e844 fix(StatusRoundButton): fixes binding loop and removes type property
As per discussion, there's no "primary" and "secondary" type in round buttons.
They just appear in different sizes (44x44, 40x40, 32x32). The size determines
their look & feel
2020-08-28 11:32:10 -04:00
Richard Ramos d134ef8e45 fix: disable on testnet 2020-08-28 11:31:35 -04:00
Richard Ramos 7d4c4ac4c7 feat: change pubkeys for already owned ens usernames 2020-08-28 11:31:35 -04:00
Richard Ramos fad0a91933 feat: register status ens usernames 2020-08-28 11:31:35 -04:00
Richard Ramos 7df357dcf7 feat: show terms and conditions, add ens registry contract, and determine if you have enough SNT balance. 2020-08-28 11:31:35 -04:00
Richard Ramos 8f1f01b6a0 feat: register status ens usernames 2020-08-28 11:31:35 -04:00
Richard Ramos 1d0e4fe2cf feat: disable reply on stickers and make sticker images smooth 2020-08-28 11:11:08 -04:00
Richard Ramos ce8cd4183f feat: show terms and conditions, add ens registry contract, and determine if you have enough SNT balance. 2020-08-28 11:06:12 -04:00
Jonathan Rainville fef2e6651d feat: add stickers to collectibles 2020-08-28 11:05:19 -04:00
Jonathan Rainville 1592115dde feat: change other components to use Address where needed 2020-08-27 17:48:03 -04:00
Jonathan Rainville 3a5285730e feat: add Address component that expands on click 2020-08-27 17:48:03 -04:00
Pascal Precht 6fd4c363e7 uiux(Chat): replace status ens address with user names in suggestion box
UX request mentioned in #769

Fixes part of #769
2020-08-27 17:38:32 -04:00
Pascal Precht de5b62030b fix(Chat): ensure cursor is set correctly in when selecting suggestion
This commit fixes a regression that was introduced in: https://github.com/status-im/nim-status-client/commit/459de8cd1
where the cursor position in the chat input was calculated incorrectly.
It also introduced a bug in the text processing which is described in #769

Partly fixes #769
2020-08-27 17:38:32 -04:00
Jonathan Rainville 0c686c3fcf chore: run qstrConverter script 2020-08-27 17:09:37 -04:00
Jonathan Rainville d19f15bb84 fix: fix chat links in a couple of ways
- link color in compact mode
- channel links did not have a #
- clicking on a mention should show that profile
- The AddChat button image didn't reposition when closing
2020-08-27 17:09:04 -04:00
Jonathan Rainville bd9e1619fa refactor: never save mnemonic in memory unless totally necessary
Necessary cases are:
- Onboarding to show the list of 5 accounts
- In QML when we show it to the user for the backup
  - Change it to a Loader, so the component and its memory is cleaned when closed
2020-08-27 16:42:25 -04:00
Jonathan Rainville 3ca1c470a5 feat: enable toggling emoji reactions using the reactions themselves 2020-08-27 16:34:35 -04:00
Jonathan Rainville 5f119e1ead feat: enable removing emoji reactions from the context menu 2020-08-27 16:34:35 -04:00
Jonathan Rainville 99ca0e9e55 feat: enable adding reactions to chat messages from the menu 2020-08-27 16:34:35 -04:00
Jonathan Rainville 72af6adb69 feat: get and display emoji reactions in chat 2020-08-27 16:34:35 -04:00
Jonathan Rainville 60f7a3cbe2 feat: format timestamp in TransactionBubble like the Chat 2020-08-27 16:15:27 -04:00
Jonathan Rainville 9e2bf87d84 feat: add TransactionBubble for use with the chat commands
Add only the UI component for the TransactionBubble
Was not thoroughly tested since it was only developed in QT Designer
2020-08-27 16:15:27 -04:00
Jonathan Rainville 68a903e3f0 feat: add error management to the collectibles
plus reload button

(cherry picked from commit 718f806557ffb041263e035845a21c2f7126807c)
2020-08-25 11:49:11 -04:00
Pascal Precht c142d7a99f WIP SAVEPOINT 2020-08-25 11:36:46 -04:00
Pascal Precht 23e1307659 WIP SAVEPOINT 2020-08-25 11:36:46 -04:00
Jonathan Rainville 9d8fe87fd8 Revert "feat: add error management to the collectibles"
This reverts commit 9eaf0a2d90.
2020-08-25 09:19:28 -04:00
Jonathan Rainville 9eaf0a2d90 feat: add error management to the collectibles
plus reload button

(cherry picked from commit 718f806557ffb041263e035845a21c2f7126807c)
2020-08-25 09:18:50 -04:00
Jonathan Rainville 3219b0f5f4 refactor: refactor collectibles to be loaded individually 2020-08-25 09:15:01 -04:00
Jonathan Rainville 95f4bd8d09 fix: fix pixelated icon and add description and URL for kudos 2020-08-25 09:15:01 -04:00
Pascal Precht f4d16d7661 refactor(IconButton): turn IconButton into proper button control
So far our `IconButton` hasn't been a proper button control which comes
with many downsides, such as:

- Some default button behaviours need to be simulated (e.g. `onClicked`)
- Any support built-in features for all controls in QML like `ToolTip` aren't can't be used
- There are probably accessibility aspects to it as well

We use the `IconButton` in many different places. Sometimes it doesn't
even act as a button, but just as an icon. I suggest we introduce a separate
`StatusIcon` component for that in future changes.

This commit turns the `IconButton` into a proper `RoundButton`, restoring
the control behaviour and features we get from QML.

This also required to expose the `icon` property as a `iconImg`,
because a `RoundButton` already comes with an `icon`.
On the other hand, we could remove the `onClick` simulation and can now
take advantage of components like `ToolTip`.
2020-08-25 10:26:34 +02:00
Jonathan Rainville f083310193 feat: make all collectibles work and fix Cryptokitties 2020-08-20 14:21:20 -04:00
Jonathan Rainville ed88cf2a7e feat: add the different sections of the collectibles 2020-08-20 14:21:20 -04:00
Jonathan Rainville 07081d412c feat: add CollectiblesModal for the collectibles content 2020-08-20 14:21:20 -04:00
Jonathan Rainville 13201e5085 feat: add CollectiblesContent 2020-08-20 14:21:20 -04:00
Jonathan Rainville 76efdd499b refactor: split CollectiblesTab to CollectiblesContainer and Header 2020-08-20 14:21:20 -04:00
Jonathan Rainville 9ffd58e5b0 feat: add basic collectibles header 2020-08-20 14:21:20 -04:00
Iuri Matias 08ddc55db4 display QR code in profile 2020-08-20 13:42:27 -04:00
Iuri Matias 69b3ea57d6 fix volume of notification sounds 2020-08-20 13:39:57 -04:00
Pascal Precht b528e784c9 feat: introduce TransactionSigner UI component
Closes #676
2020-08-19 15:33:05 -04:00
Jonathan Rainville d35c971c8b fix: fix layout of input buttons when some are hidden 2020-08-19 15:25:13 -04:00
Jonathan Rainville 474f68cf8a feat: add chat command modal shell
It doesn't do anything for now
2020-08-19 15:25:13 -04:00
Jonathan Rainville 59cba0f125 refactor: make ChatButtons a Row to not have to position them manually 2020-08-19 15:25:13 -04:00
Jonathan Rainville 8ac2d66f63 refactor: make ChatInputButton to reduce duplication 2020-08-19 15:25:13 -04:00
Pascal Precht c6d858d84a chore: improve GasSelector Component
This commit fine-tunes the layout of the advanced modal input controls.
It also adds validation so that only numeric values are accepted as
gas price and gas limit values
2020-08-19 14:49:19 -04:00
Iuri Matias 9b6ae2e6ad close join channel popup when clicking a suggestion 2020-08-19 14:39:45 -04:00
Pascal Precht ef22fb348d feat: allow users to mute and unmute channels
Closes #152
2020-08-19 14:39:31 -04:00
emizzle 3dac87df3d feat/tx-comps: Add TransactionPreview component
Adds a TransactionPreview component as per the spec https://www.notion.so/emizzle/Wallet-transaction-components-2003b78a8d0d41c4ab3d21eb2496fb20

- update ReceiveModal dropdown to match design
- long alias and account name support
- long name support in account selector
- strip all trailing zeros from displayed balances
2020-08-19 14:38:45 -04:00
Pascal Precht 832518a0e1 feat(GasSelector): introduce GasSelector component
Closes #674
2020-08-17 14:08:28 -04:00
Michael Bradley, Jr c08767c74b build: remove dapp browser 2020-08-17 14:01:26 -04:00
Jonathan Rainville 79cf818202 feat: add receive modal
Add receive modal in the wallet to show a QR code and address selector
Improve Input component to be able to show a Copy button that copies to clipboard
Improve AccountSelector modal to be able to not show details and fix eliding
2020-08-17 12:07:11 +02:00
Richard Ramos f6cf197983 fix: pixelated icons on the menu 2020-08-17 11:57:32 +02:00
Pascal Precht 4f7486afbe refactor: Introduce more generic confirmation dialog for simpel cases 2020-08-13 14:40:03 -04:00
Pascal Precht 6d0d0fb2aa feat: introduce dialog to confirm removal of contacts
Closes #632
2020-08-13 14:40:03 -04:00
Pascal Precht 04ff3393fa feat: introduce confirmation dialog for blocking contacts actions
Closes #632
2020-08-13 14:40:03 -04:00
emizzle 3ff93c26e6 fix/tx-comps: Update assets when tokens changed
When tokens are added/removed, the asset list in the AssetAndAmountInput is updated.

The selected asset can be specified by the parent component which is needed for things like sticker market where we need to set SNT as the fixed token.

Improved the validation for the component:
 - validate() can be called externally
 - validation display is handled internally and messages can be customised
 - validation error messages are handled by the Input component and validation UX is consistent with other tx components
2020-08-13 14:39:43 -04:00
emizzle d07daac377
feat/tx-comps: Add RecipientSelector component
Based on the spec in https://www.notion.so/emizzle/Wallet-transaction-components-2003b78a8d0d41c4ab3d21eb2496fb20, this component handles user input for a recipient address, which can be sourced from manual address input, ENS name, contact selection, or another of the user's wallet accounts.
2020-08-13 09:28:35 +02:00
Pascal Precht 246b90b5ae refactor(AccountSelector): use built-in onSelectedAccountChanged event
As per comment: https://github.com/status-im/nim-status-client/pull/703#discussion_r467879840
2020-08-11 14:33:02 -04:00
Richard Ramos 477f5aa460
feat: display empty state when user has no contacts 2020-08-11 08:39:10 -04:00
Richard Ramos d3b6ff32b8
fix: additional text on channel identifier 2020-08-11 08:39:10 -04:00
Richard Ramos edbb183242
fix: show ens and alias on profile popup header 2020-08-11 08:39:10 -04:00
Richard Ramos e96f3ed47f
fix: display ens names with correct format in all screens 2020-08-11 08:39:07 -04:00
Richard Ramos 0e6653968f fix: code review 2020-08-10 10:27:56 -04:00
Richard Ramos 71fee14add feat: show ENS username details 2020-08-10 10:27:56 -04:00
Richard Ramos c53b2cc78a feat: select preferred ENS username 2020-08-10 09:47:25 -04:00
Pascal Precht 17396c85cb feat(GroupInfo): allow user to visit group member profile page
Closes #638
2020-08-10 09:42:47 -04:00
Jonathan Rainville 156aaba0aa feat: improve style of the notification box
Use the Channel box for that
2020-08-10 09:34:02 -04:00
Pascal Precht 56568f68c8 feat: introduce AssetAndAmountInput component
Closes #673
2020-08-10 09:32:01 -04:00
Pascal Precht d62d8b3a92 refactor: rename Asset.fiatValue -> Asset.fiatBalanceDisplay
This is done because `fiatValue` included the currency symbol
2020-08-10 09:32:01 -04:00
Richard Ramos e484c41291
fix: alignment of emojis
- Added an nsbp in front of paragraphs, otherwise the alignment property was ignored
- Enabled richformat for channel list to avoid emoji overlap in last message
2020-08-06 15:48:06 -04:00
emizzle 6df29da7b0
fix: Remove walletModel reference from AccountSelector
Remove all `walletModel` references from the `AccountSelector` component, as the component should not be aware of the API's existence.

Pass currency to `AccountSelector` component.
2020-08-06 17:44:52 +02:00
Richard Ramos 40e8802218
feat: list preferred username, available ens names and send preferred username on new messages 2020-08-06 17:07:48 +02:00
Richard Ramos 43f4f8775b
feat: connect existing status ens username
- Show welcome page only when there are no ens names registered
- If you already have an ens username for the current account, connect and mark it as preferred name
- State machine navigation
2020-08-06 16:56:46 +02:00
Richard Ramos 613c70c4a6
fix: link color 2020-08-06 16:35:54 +02:00
Richard Ramos 5e7eefe553
feat: search ens names for registration 2020-08-06 16:03:11 +02:00
Jonathan Rainville d5e9f086f2
feat: add submenu to popup menu 2020-08-06 15:49:57 +02:00
Jonathan Rainville 32b0e185db
feat: add channel list context menu 2020-08-06 15:49:54 +02:00
emizzle 82022f655c
feat: Send transaction componets -- Asset selector
Selects an asset to be used in the send transaction dialog.
2020-08-06 12:19:08 +10:00
Jonathan Rainville 3cb88d0cfa
feat: add profile section to the context menu 2020-08-05 12:14:46 +02:00
emizzle 9374be5857
feat: Send transaction component -- Account selector
Fixes #670.

Component spec based on https://www.notion.so/emizzle/Wallet-transaction-components-2003b78a8d0d41c4ab3d21eb2496fb20.

Changes the current Select shared component to a model databound component. This means we can bind directly to `QAbstractListModel`'s coming from Nim instead of needing manipulating the data in to javascript objects. The changes to the Select component will be used for the upcoming Asset selector shared component.
2020-08-05 16:38:49 +10:00
Richard Ramos cb92c1dc14
fix: incorrect mentions behavior when text contains emojies 2020-08-04 10:19:42 -04:00