773 Commits

Author SHA1 Message Date
Jonathan Rainville
db6b87d813 chore: simplify punct regex
Co-authored-by: Eric Mastro <eric.mastro@gmail.com>
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
9f9bad2fa3 feat: add a read more button and crop text when message is too long 2020-09-29 14:02:33 -04:00
hydr063n
2a59ab402d fix: top bar theme color 2020-09-29 13:26:01 -04:00
Jonathan Rainville
a35130ff68 fix: fix reply colors in dark mode 2020-09-22 11:30:30 -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
emizzle
c9c1dce6ea fix: Sticker market dark mode support 2020-09-17 12:22:00 -04:00
Jonathan Rainville
103f02b289 feat: show toast message for transaction status changes 2020-09-14 14:48:26 -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
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
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
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
e77b6d193e refactor and add support for converting to emoji after pasting text 2020-09-04 15:31:46 -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
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
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
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
3219b0f5f4 refactor: refactor collectibles to be loaded individually 2020-08-25 09:15:01 -04:00
Jonathan Rainville
db68a278ff chore: remove duplicated value in the Theme 2020-08-20 14:21:20 -04:00
Jonathan Rainville
f083310193 feat: make all collectibles work and fix Cryptokitties 2020-08-20 14:21:20 -04:00
Jonathan Rainville
13201e5085 feat: add CollectiblesContent 2020-08-20 14:21:20 -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
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
emizzle
60b0a4f115 fix/tx-comps: Recipient selector -- ability to have readonly value shown
This work must have gotten lost in a rebase along the way.
2020-08-13 15:08:12 -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
Richard Ramos
e96f3ed47f
fix: display ens names with correct format in all screens 2020-08-11 08:39:07 -04:00
Richard Ramos
613c70c4a6
fix: link color 2020-08-06 16:35:54 +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
459de8cd1c
fix: display emojis on input textarea 2020-08-04 10:14:57 -04:00
Richard Ramos
5ab1088f7c
feat: play audio messages 2020-07-30 13:49:50 -04:00
Richard Ramos
7fd1f9c468 fix: send emoji contentType 2020-07-28 15:35:06 -05:00
Richard Ramos
e91cd9e610 fix: validate mnemonic format when importing a existing key 2020-07-28 22:22:50 +02:00
Jonathan Rainville
c71f5f1a07 fix: fix dark theme colors for chat and profile 2020-07-23 15:59:18 -04:00
Richard Ramos
5351fb62dc feat: display messages with an image contenttype 2020-07-21 13:15:22 -04:00
Iuri Matias
1e0e3fadd0 remove duplicated property 2020-07-16 11:38:00 -04:00
Richard Ramos
fd88fd19d0 feat: display connected/disconnected status in the chat module 2020-07-16 11:38:00 -04:00
Jonathan Rainville
5951fcf131 feat: refactor Message and add Compact message type 2020-07-16 10:29:29 -04:00
emizzle
ac7deb3af0 feat: Un/install free sticker packs in sticker market
Sticker pack details retreived from contract:
 - pack data decoded from contract response
 - data contains contentHash which, once decoded, contains an IPFS identifier
 - futher pack data in EDN format is downloaded from IPFS
 - the EDN info is decoded in to a StickerPack

List of available packs from contract are obtained separately from list of installed contracts (stored as a setting in Status-go).

Sticker market contains dynamic list of sticker packs. The sticker button shown for each pack has all states defined (in the design) for all UI states (ie bought, free, installed, pending, etc)

Add modal popup showing sticker pack details and list of stickers to be un/installed. Contains a "larger" version of the sticker pack button with many differnt UI states defined.

Uninstallation of a sticker pack removes those sticker pack's stickers from the recent sticker list and persists the list

Simplify the view model by including stickers, instead of setting an "activeStickerPackId" property. This allowed for display of sticker pack stickers to be displayed in the modal popup separately from the sticker packs shown in the market.
2020-07-15 15:53:48 -04:00
Jonathan Rainville
92f5a9ca5c feat: add dark theme colors and new properties for it 2020-07-14 12:37:17 -04:00
Richard Ramos
06efb531cb feat: adds QML debounce library 2020-07-14 11:56:44 -04:00
Richard Ramos
a342192f43 fix: code review 2020-07-10 20:09:15 -04:00
Jonathan Rainville
6e8c371063 feat: enable adding the clicked emoji to the chat input 2020-07-06 13:59:47 -04:00
Jonathan Rainville
881f6dbe80 feat: enable changing theme from the profile settings 2020-07-03 09:59:14 -04:00
Jonathan Rainville
a529d729ea feat: change Theme to Style to enable changing Theme 2020-07-03 09:59:14 -04:00
Jonathan Rainville
d90c9ba882 fix: use normal Inter for normal text and StatusInter for addresses 2020-07-02 10:51:57 -04:00