Commit Graph

4155 Commits

Author SHA1 Message Date
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
Richard Ramos 397be0b0c0
fix: sendBtn and trim 2020-08-04 10:14:57 -04:00
Richard Ramos 459de8cd1c
fix: display emojis on input textarea 2020-08-04 10:14:57 -04:00
Richard Ramos 86794dda0b
fix: chat scrollbars and input text wrapping 2020-07-31 12:00:18 -04:00
Richard Ramos d066b59f81
feat: load transaction history async 2020-07-31 11:48:41 -04:00
Richard Ramos 7c856be981
fix: use Loader for animation to reduce cpu usage 2020-07-30 16:46:25 -04:00
Richard Ramos 5ab1088f7c
feat: play audio messages 2020-07-30 13:49:50 -04:00
Jonathan Rainville 983d258a9a
feat: add support for recent emojis
(cherry picked from commit 07ccf8f74ee7b37652ccedbddd6dfdaa5908a846)
2020-07-30 10:45:56 -04:00
Jonathan Rainville 13d2cf73fb
feat: add emoji search
(cherry picked from commit 3cc9a98ce584a48f6c430a57126bd548e9dedc7e)
2020-07-30 10:44:07 -04:00
Jonathan Rainville 549f1ff7f2
feat: categorize emojis in the menu and add category buttons
Signed-off-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2020-07-30 10:04:08 -04:00
Jonathan Rainville 3d04076910
feat: update emoji list to use the new categorized list
Still shows everything in the same page, but now they are ordered and can be categorized
2020-07-30 10:03:55 -04:00
Richard Ramos 6e62df9109
feat: Load collectibles async 2020-07-29 17:43:10 -04:00
Richard Ramos 7fd1f9c468 fix: send emoji contentType 2020-07-28 15:35:06 -05:00
Richard Ramos 13f8875263 fix: hide replybox after sending a message 2020-07-28 15:35:06 -05:00
Iuri Matias ea000310de update version number 2020-07-24 11:47:29 -04:00
Richard Ramos b3fcd394de fix: show disconnected/connected banner on load 2020-07-24 11:42:58 -04:00
Richard Ramos 83d2e274ff fix: show disconnected/connected banner on load 2020-07-24 11:04:47 -04:00
Pascal Precht e18188514a feat(profile): implement contact management
This introduces the ability to:

- list search existing contacts
- block contacts
- unblock contacts
- list blocked contacts
- remove contacts
- search and add contacts

Closes #608
2020-07-24 09:37:32 -04:00
Jonathan Rainville 9604faff08 feat: add New messages box in chat when scrolling up 2020-07-23 17:01:04 -04:00
Richard Ramos cc735aec6b fix: hide usernames on 1:1 chats 2020-07-23 16:19:54 -04:00
Richard Ramos adde2e2017 fix: dateLabel height 2020-07-23 16:00:14 -04:00
Richard Ramos 99b9c21221 fix: date 2020-07-23 16:00:14 -04:00
Jonathan Rainville 9654f937f2 fix: fix all remaining QML warnings 2020-07-23 15:59:18 -04:00
Jonathan Rainville 3b9ada93d0 fix: fix dark theme for the wallet 2020-07-23 15:59:18 -04:00
Jonathan Rainville c71f5f1a07 fix: fix dark theme colors for chat and profile 2020-07-23 15:59:18 -04:00
Jonathan Rainville 145519719b fix: fix MyProfile not having the right data 2020-07-23 15:59:18 -04:00
Jonathan Rainville a1585c8499 feat: add ImageLoader to reuse Image loading mechanism 2020-07-23 15:44:59 -04:00
Jonathan Rainville 327552c33b add loading and error image boxes 2020-07-23 15:44:59 -04:00
Jonathan Rainville 42c09c9f3a fix: hide sent message on compact mode once sent 2020-07-23 15:44:59 -04:00
Jonathan Rainville c7cfa5d32b fix: fix scrolling to bottom for images 2020-07-23 15:44:59 -04:00
Jonathan Rainville e176443ceb fix: fix chat not scrolling to bottom on load 2020-07-23 15:44:59 -04:00
Pascal Precht f2d345fe6e feat(chat): support mention auto complete anywhere inside the message 2020-07-23 15:36:45 -04:00
Richard Ramos 7ca512661b fix: load messages on scroll up, scroll down when sending messages and hide sending status for expired messages 2020-07-22 15:58:31 -04:00
Richard Ramos 192fbbea69 fix: add scrollview to channellist 2020-07-22 15:43:08 -04:00
Richard Ramos 3140d76a5c fix: group status messages were not being displayed
Fixes #610
2020-07-22 10:22:10 -04:00
Jonathan Rainville 7f7a6cbc97 feat: make profile look like the design
Improve left tab menu
Move settings to right panel instead of advanced
Create MyProfile container
Improve Contacts and Security
2020-07-22 10:17:54 -04:00
emizzle d4d532691e feat: get current network details
Adds settings API for getting current network details.

Uses the current network details to display the correct etherscan link in QML (etherscan URL is a setting in the current network settings).
2020-07-21 15:12:48 -04:00
Richard Ramos 7115a1bed6 feat: resize images and remove EXIF data - UNSAFE 2020-07-21 14:26:20 -04:00
Richard Ramos a32a156651 feat: send images - UNSAFE -
Sends images but does not clean metadata nor limits file size
2020-07-21 14:26:20 -04:00
Richard Ramos a31610742c fix: code review 2020-07-21 13:15:22 -04:00
Richard Ramos 5351fb62dc feat: display messages with an image contenttype 2020-07-21 13:15:22 -04:00
Jonathan Rainville a9cddde37e fix: fix text selection by putting mouseArea under text
And put link click handling by the TextField itself
2020-07-21 12:00:24 -04:00
Jonathan Rainville 601d237fde fix: fix replies being all squished if the replied message was smaller 2020-07-21 12:00:24 -04:00
Jonathan Rainville 4c7c8a06a3 fix: fix message overflowing because break spaces were stopped by pre 2020-07-21 12:00:24 -04:00
Jonathan Rainville 911aac92de feat: add onClicked to Emojis and use a Model to show them 2020-07-21 11:41:19 -04:00
Jonathan Rainville 15cc48c6f8 feat: add mock emoji menu in popup menu for chat 2020-07-21 11:41:19 -04:00
Jonathan Rainville f51399ff1f fix: fix QML warnings and errors 2020-07-21 11:09:00 -04:00
Jonathan Rainville 5268484114 feat: save locale in qt settings and switch to it on load 2020-07-21 11:09:00 -04:00
Jonathan Rainville 489ad7052f feat: add changeTranslation function 2020-07-21 11:09:00 -04:00
Richard Ramos 0278379495 fix: allow resending older expired messages 2020-07-21 10:19:12 -04:00
Richard Ramos f9335c0969 feat: retry sending messages 2020-07-21 10:19:12 -04:00
Dean Eigenmann ca92fa03d8 Update EmptyView.qml 2020-07-20 15:59:42 +02:00
decanus fe3706defc fixes the seperator color to match 2020-07-20 15:59:42 +02:00
decanus 90f7570b4e updates 2020-07-20 14:50:21 +02:00
decanus ec0b0dc327 fixes empty view background 2020-07-20 14:50:21 +02:00
Pascal Precht 1e39cf4821 feat(chat): implement mention auto complete
Closes #515
2020-07-17 12:31:20 -04:00
Jonathan Rainville b829acb3c4 chore: re-run qstr converter 2020-07-17 11:55:01 -04:00
decanus b3a4903655 fix channel identifier color 2020-07-17 17:27:01 +02:00
Jonathan Rainville 0ab257d005 feat: make RectangleCorner a component and show images in compact 2020-07-16 11:49:13 -04:00
Jonathan Rainville 0e8bb2b136 fix: change text strings to qsTr
Co-authored-by: RichΛrd <info@richardramos.me>
2020-07-16 11:43:42 -04:00
Jonathan Rainville 66467ff070 fix: wallet ui errors
Fixes # 472
2020-07-16 11:43:42 -04:00
Richard Ramos fd88fd19d0 feat: display connected/disconnected status in the chat module 2020-07-16 11:38:00 -04:00
emizzle 15a860b2bb feat: Enable switching to testnet
Allow switching to Ropsten by flipping a toggle switch in Profile > Advanced settings.

When switching networks, note that installed stickers will be uninstalled, and recent stickers will be removed. Sticker packs can be reinstalled after login. Purchased sticker packs will not need to be re-purchased, but will need to be re-installed.

Mailserver fleet information will **not** be updated. This can be controlled by a separate (undeveloped yet) setting.
2020-07-16 10:59:31 -04:00
Jonathan Rainville 262941e839 feat: add space between the last chat and the chat input 2020-07-16 10:32:27 -04:00
Jonathan Rainville 851eb82026 feat: make channel list compact in compact mode 2020-07-16 10:32:27 -04:00
Jonathan Rainville 36f230e03d feat: add saved setting for Compact mode 2020-07-16 10:29:29 -04:00
Jonathan Rainville 5951fcf131 feat: refactor Message and add Compact message type 2020-07-16 10:29:29 -04:00
decanus a0c5f8624c does some fixes in the history tab 2020-07-16 14:19:54 +02:00
Iuri Matias c5410b6536 remove leftover condition 2020-07-15 16:05:35 -04:00
Jonathan Rainville 7d178b355e feat(chat): add image support
This commit adds support for rendering images by detecting
image URLs inside of a message and attaching them to their
corresponding message bubble.
2020-07-15 16:05:35 -04:00
emizzle 69ba3c4468 feat: add support for purchased sticker packs 2020-07-15 15:53:48 -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
Dean Eigenmann 6521573b51 Update Message.qml 2020-07-15 16:02:30 +02:00
decanus c840c7374c fixes some color errors 2020-07-15 11:46:12 +02:00
Iuri Matias 7d7bac5fb6 add notifications support
first attempt

attempt 2

working notifications

add notification sound

cleanup

remove unneeded imports

remove unneded imports
2020-07-14 14:23:40 -04:00
Richard Ramos 19f358ef9c fix: md format 2020-07-14 13:30:40 -04:00
Richard Ramos ceb5873272 show date headers, and fix sending replies only when they are enabled 2020-07-14 13:10:14 -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
Dean Eigenmann 2bfdedbed7 Update DevicesContainer.qml 2020-07-14 16:04:41 +02:00
Richard Ramos a342192f43 fix: code review 2020-07-10 20:09:15 -04:00
Richard Ramos 649023bacf feat: support message replies 2020-07-10 20:09:15 -04:00
Iuri Matias e82dbfb7c6 add /shrug and /tableflip cmds
add /shrug and /tableflip cmds

fix
2020-07-10 15:56:05 -04:00
Jonathan Rainville 25ac69b37c fix: fix message width by using the plainText 2020-07-10 15:54:48 -04:00
Jonathan Rainville cbcab82e5d fix: fix PopupMenu icon size to be back to 25 but customizable 2020-07-10 15:39:56 -04:00
Jonathan Rainville c00843c94c chore: remove useless console log 2020-07-10 15:39:56 -04:00
Jonathan Rainville 1b3314ea9a fix: fix chat input size and postiion 2020-07-10 15:39:56 -04:00
Jonathan Rainville dd6454f55c fix: fix PopupMenu style 2020-07-10 15:39:56 -04:00
Jonathan Rainville 9462beaa3f fix: fix chat menu button 2020-07-10 15:39:56 -04:00
Jonathan Rainville b5619dadaf fix: close chat menu when re-clicking the button 2020-07-10 15:39:56 -04:00
Jonathan Rainville bcee0079e5 fix: change sticker background to white 2020-07-10 15:39:56 -04:00
Jonathan Rainville 3d19e9ed74 feat: add profile popup for the empty chat view 2020-07-10 15:39:56 -04:00
Jonathan Rainville b3b7047fe1 feat: add invite friends modal 2020-07-10 15:39:56 -04:00
Jonathan Rainville ff2ed712f2 feat: improve Copy button to copy directly and have an active state 2020-07-10 15:39:56 -04:00
Jonathan Rainville 33d639b071 feat: fix walkie talkie image and add text with links 2020-07-10 15:39:56 -04:00
Jonathan Rainville 284572898a feat: add view when clicking the X on the EmptyView 2020-07-10 15:39:56 -04:00
Jonathan Rainville fc80e1e1ac feat: add section for friend in contact column 2020-07-10 15:39:56 -04:00
Iuri Matias 91cf1682b1 put sounds on top level to avoid duplicated sound channels 2020-07-10 15:27:26 -04:00
Richard Ramos 7b82f52fac fix: show replies and do not trigger an activeChannelChanged event on init 2020-07-09 12:01:32 -04:00
Pascal Precht 17db2f4056 feat(chat): show "@" when logged in user has been mentioned in channel
Closes #516
2020-07-09 11:12:26 -04:00
Richard Ramos 4ee0d78cb6 feat: using threads for resolving ENS usernames 2020-07-08 13:53:21 -04:00
Richard Ramos 93d420758f feat: device pairing 2020-07-08 13:53:04 -04:00
Pascal Precht 75e3e10f58 feat(chat): open user profile from mentions
Closes #455
2020-07-08 13:12:31 -04:00
Jonathan Rainville 1eb1d3d41c chore: run transform script to change qstr to qstrid 2020-07-08 12:37:41 -04:00
Richard Ramos f16ee322e1 fix: code review 2020-07-06 14:17:19 -04:00
Richard Ramos 5ee3c6938f feat: Advertise device 2020-07-06 14:17:19 -04:00
Richard Ramos a4b9eedd5e feat: set device name 2020-07-06 14:17:19 -04:00
Iuri Matias 49e76d17bf use SVGimage for emojis 2020-07-06 13:59:47 -04:00
Jonathan Rainville 4c2e50ae47 fix: fix wrong emoji being posted for flags and the emojis not elliding 2020-07-06 13:59:47 -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 8aa8474cb1 feat: add emoji button and style them to have the hover and right color 2020-07-06 13:59:47 -04:00
Jonathan Rainville 4371e37b27 feat: show the all the emojis in the popup 2020-07-06 13:59:47 -04:00
Richard Ramos 3072ec83f9 fix: remove animation causing CPU usage to increase 2020-07-03 14:03:57 -04:00
Jonathan Rainville 0f9a79e214 feat: save and get appearance from the settings 2020-07-03 09:59:14 -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
Richard Ramos 5b3f077fa9 feat: bundle resources
- Update linux build to package resources
- Refactor macOS packaging re: resources.rcc
2020-07-03 09:59:00 -04:00
Richard Ramos 64452e71b9 feat: Determine if a message was sent 2020-07-02 11:57:48 -04:00
Jonathan Rainville e378d94ca8 feat: show dialog for send errors and success 2020-07-02 11:41:11 -04:00
Jonathan Rainville 81e7dffaa2 feat: make token send and eth send work 2020-07-02 11:41:11 -04:00
Jonathan Rainville 19f8f8e457 feat: add validation on amount and show current balance 2020-07-02 11:41:11 -04:00
Jonathan Rainville 70fdcb85c6 feat: add asset selector in send modal 2020-07-02 11:41:11 -04:00
Jonathan Rainville d90c9ba882 fix: use normal Inter for normal text and StatusInter for addresses 2020-07-02 10:51:57 -04:00
Richard Ramos a63da4889b fix: hour format and show timestamp on messages 2020-07-02 10:47:08 -04:00
Richard Ramos f191f7fe8b feat: Support status-tag to join a public channel if mentioned in the message list 2020-07-02 10:33:33 -04:00
Iuri Matias 9935d349c4 play sounds when a message is sent or an error occurs 2020-07-02 10:31:10 -04:00
Richard Ramos 961139e778 feat: start chats with ENS usernames 2020-06-30 16:21:21 -04:00
Iuri Matias 4fe19e8130 use username or ens name instead of old hardcoded value
use username or ens name instead of old hardcoded value

return false
2020-06-30 14:35:32 -04:00
Richard Ramos bbd51cdcfe Use twemoji.js 2020-06-30 14:35:14 -04:00
Richard Ramos 2af0b0bc6a feat: adds emoji contentType support 2020-06-30 14:35:14 -04:00
Iuri Matias 7440b5beb1 add missing var 2020-06-30 12:30:40 -04:00
Iuri Matias 716258156e feat(Chat): display clickable links, sanitize them and XSS protect
Closes #458
2020-06-30 12:30:40 -04:00
Pascal Precht 0bb08fc852 feat(ProfilePopup): implement copy-to-clipboard button
Closes #282
2020-06-30 12:13:44 -04:00
emizzle 88e5f1a46d feat: Add recent stickers to stickers popup 2020-06-30 11:24:56 -04:00
Jonathan Rainville cd061895c2 fix: fix a couple of warning with the send modal 2020-06-29 13:39:22 -04:00
Jonathan Rainville 76f12c20f7 feat: add validation to send form 2020-06-29 13:39:22 -04:00
Jonathan Rainville 0df6bc134d feat: add icon to select and add address to send modal 2020-06-29 13:39:22 -04:00
Jonathan Rainville 0bbb72a994 feat: enable changing the values of a select and add account to send 2020-06-29 13:39:22 -04:00
Jonathan Rainville 4f4eff0ee8 feat: improve Select component to have a selected text 2020-06-29 13:39:22 -04:00
Jonathan Rainville 6d77c81048 refator: change send modal to use the shared component 2020-06-29 13:39:22 -04:00
Richard Ramos 0e5d6225f0 fix: pressing enter on chat input 2020-06-29 13:07:50 -04:00
Iuri Matias 6e9ce3b250 disable browser, wallet, node tabs by default; add warning checkbox to intro screen 2020-06-26 11:37:59 -04:00
Iuri Matias 3550e63a86 fix channel suggestions list 2020-06-25 18:34:05 -04:00
Iuri Matias 20e0f2c625 add alpha warnings 2020-06-25 17:26:46 -04:00
Jonathan Rainville 8cb8395ceb feat: check password before saving a new account
Also shows the error if there is one when adding.
Should show a loading state too, but it doesn't work because the Nim function freezes the QML
2020-06-25 16:41:28 -04:00
Richard Ramos 8e21a1b8b3 fix: word wrap + breaklines 2020-06-25 16:33:16 -04:00
Richard Ramos bcec11c432 fix: message scrollbar 2020-06-25 16:26:21 -04:00
Iuri Matias d84c16bc63 fix radius 2020-06-25 16:13:17 -04:00
Iuri Matias e859250501 fix other blurry images on hdpi screens
fix other blurry images on hdpi screens

fix image size

ensure plist has high res directive

addd directive to info runner
2020-06-25 16:13:17 -04:00
Richard Ramos 14cd79a415 feat: support ctrl + enter in chat input 2020-06-25 15:54:32 -04:00
Jonathan Rainville 902b23c0ee fix: fix profile buttons 2020-06-25 15:48:37 -04:00
Jonathan Rainville d775abb9ab fix: ProfilePopup by changing image fit 2020-06-25 15:48:37 -04:00
Iuri Matias 649d0a2149 get collectibles when requested instead of at login 2020-06-25 15:47:37 -04:00
Jonathan Rainville 6cf5468920 fix: fix add account button that was positioned absolutely 2020-06-25 11:13:02 -04:00
Jonathan Rainville 61d62eea79 fix: fix handle being to ugly and channel list interfering with handle 2020-06-25 11:02:35 -04:00
Jonathan Rainville 9683b7a79e feat: enable saving app settings like the SplitView state 2020-06-25 11:02:35 -04:00
Jonathan Rainville 02d915cb50 chore: up import version and fix SplitViews 2020-06-25 11:02:35 -04:00
Richard Ramos e8858f25ba feat: Replace pubkeys by alias/ens in group system message 2020-06-25 10:33:43 -04:00
Richard Ramos 21af287654 feat: support message formatting 2020-06-25 10:29:44 -04:00
Pascal Precht 36ded19dff ui(Wallet): render asset icons in transaction list items
Closes #405
2020-06-25 10:28:23 -04:00
emizzle 847eb2623f feat: add sticker popup
Add sticker popup
Add send sticker message
Add ability to select sticker pack and show stickers for pack with scroll

1. Sticker history
2. Install sticker packs
3. Sticker market

1. Sticker packs are installed on app start up until installation of sticker pack functionality is added
2. Optimisations such as preloading images to be done so that sticker images are not downloaded each time.
2020-06-25 10:27:26 -04:00
Pascal Precht 6a49070431 fix: fix timestamp formatting in chat list
Closes #396
2020-06-24 18:02:35 -04:00
Richard Ramos 81b103b0eb fix: code review 2020-06-23 18:52:54 -04:00
Richard Ramos 637484bd79 feat: show qr codes 2020-06-23 18:52:54 -04:00
Richard Ramos 55fbd4b0fe fix: make the identicons sharp 2020-06-23 14:45:21 -04:00
Richard Ramos acecafbf83 fix: read missing functions 2020-06-23 14:25:38 -04:00
Iuri Matias 578277452a display if user is contact or not in the topbar 2020-06-23 13:43:39 -04:00
Pascal Precht 74cb71295e feat(settings): introduce moodal to back up seed phrase
Closes #345
2020-06-23 13:35:33 -04:00
Jonathan Rainville c6a1e3d453 fix: fix images with wrong color in the wallet menus and center them 2020-06-23 07:18:30 -04:00
Jonathan Rainville dffabb00fb feat: add validation to account settings 2020-06-23 07:09:18 -04:00
Jonathan Rainville 17755eadb9 feat: add validation to generate account 2020-06-23 07:09:18 -04:00
Jonathan Rainville 051eeea3df feat: add validation to seed modal 2020-06-23 07:09:18 -04:00
Jonathan Rainville 300caf22a2 feat: add validation to private key and watchonly modal 2020-06-23 07:09:18 -04:00
Jonathan Rainville ad2a318c85 feat: add validationError prop on Input and use it in privateChatPopup 2020-06-23 07:09:18 -04:00
Richard Ramos 80b8d8f478 feat: add members to existing group chat and fix group position on chat list 2020-06-22 15:27:28 -04:00
Richard Ramos e1d72ef057 fix: leaving a group after joining, and ignoring user address on member list 2020-06-22 15:23:27 -04:00
Richard Ramos 33b3c4dc97 fix: manage contacts without systemTag 2020-06-22 15:21:13 -04:00
Jonathan Rainville 6c050bf381 fix: channel chatType being a string instead of an int 2020-06-22 14:58:51 -04:00
Iuri Matias a6493725b6 support removing contacts
support removing contacts

support removing contacts
2020-06-22 14:50:39 -04:00
Michael Bradley, Jr ce7e6b8d51 chore: refactor Linux and macOS build/packaging steps
Replaces PR #105.

Implement a `pkg-macos` target that ultimately results in `Status.dmg` being
written to `pkg/`. Due to [limitations][limits] of the OpenSSL `.dylib`s in
`/usr/lib/` on macOS, `libssl.a` and `libcrypto.a` are statically linked into
`bin/nim_status_client` from a [Homebrew][brew] "bottle" that is compatible
with macOS 10.13 (the oldest macOS version compatible with Qt v5.14).

`pkg-macos` creates an `.app` bundle layout in `tmp/macos/dist` based partly on
information in a very helpful [StackOverflow answer][so-answer]. Note the part
of the answer (toward the end) that explains a problem with the working
directory and how to fix it. That's the reason for the `nim_status_client.sh`
script introduced in this commit (it gets copied into the bundle). It's also
the reason for having `Info.plist` copied into the bundle before `macdeployqt`
is run (see below) and then overwriting it with `Info.runner.plist` before
creating the `.dmg` file. The app icons file `status-icon.icns` was taken from
`deployment/macos/` in the [status-react][sr] repo.

The [`macdeployqt`][macdeployqt] tool is used to copy the needed portions of Qt
into the bundle; it automatically updates `rpath`, etc. so the
`nim_status_client` executable in the bundle can locate the libs within the
bundle.

`macdeployqt` is run twice, for the "outer" and "inner" `.app` bundles,
because of an apparent bug in `macdeployqt` that results in QtWebEngine related
resources not being processed correctly on the first pass. This results in some
bloat in the final bundle but it seems unavoidable at present.

The [create-dmg][cdmg] tool is used to package the bundle into a `.dmg`
file. There are two reasons for this:
1. It produces a nice looking icon for the `.dmg` that overlays the Status logo
on an external disk icon.
2. `Info.plist` needs to be overwritten after running `macdeployqt` (see
explanation above) but before creating the `.dmg` file. If we passed the `-dmg`
cli option to `macdeployqt` to have it generate the `.dmg` file then it
wouldn't be possible to overwrite `Info.plist`.

So there is a cosmetic reason and a practical reason for using another
tool. Probably the biggest downside is that `create-dmg` is implemented in
Node.js so it needs to be installed with `npm`; that's the reason this commit
introduces `package.json`, etc. Note that zero code from `node_modules` ends up
in the `.app` bundle or the `.dmg` file.

Code signing of the macOS `.app` bundle and `.dmg` is attempted if the
environment variable `MACOS_CODESIGN_IDENT` is defined. In that case, the
environment variable `MACOS_KEYCHAIN_OPT` may optionally be defined with the
path to a preferred keychain database file.

Refactor a number of sections in the Makefile for consistency's sake, e.g. the
`appimage` target becomes `pkg-linux` and ultimately results in
`NimStatusClient-x86_64.AppImage` being written to `pkg/`.

Make a number of changes to bring the Linux packaging steps up-to-date and use
the `-qmlimport` cli option of `linuxdeployqt` to simplify resolution of Qt
plugins.

Note that `make pkg` will correctly resolve to `make pkg-linux` or `make
pkg-macos` depending on the OS in use.

Consistently use lower-case "c" in the name of *components* directories and
imports.

[limits]: https://developer.apple.com/forums/thread/124782
[brew]: https://brew.sh/
[so-answer]: https://stackoverflow.com/a/3251285
[sr]: https://github.com/status-im/status-react/tree/develop/deployment/macos
[macdeployqt]: https://doc.qt.io/qt-5/macos-deployment.html
[cdmg]: https://github.com/sindresorhus/create-dmg
2020-06-22 10:53:57 -05:00
Jonathan Rainville 7e96a17f3b fix: add StyledTextEdit and TextField to use the font 2020-06-19 14:53:45 -04:00
Jonathan Rainville 8755c901de fix: fix font loading issue and create a text component to use that font 2020-06-19 14:53:45 -04:00
Jonathan Rainville bae8e44f37 fix: fix long texts to wrap correctly in chat bubble 2020-06-18 17:09:56 -04:00
Jonathan Rainville 21afaf4ea4 fix: fix channel text with break lines and add default props 2020-06-18 17:09:56 -04:00
Jonathan Rainville 98d4c7ef1e feat: add id to the collectible 2020-06-18 16:47:24 -04:00
Jonathan Rainville 3e152e5d35 feat: show collectibles in the Collectibles tab 2020-06-18 16:47:24 -04:00
Jonathan Rainville 810831e41e fix: fix token list having a space when using the filter 2020-06-18 13:55:54 -04:00
Jonathan Rainville 5c63adb0ad refactor: change token settings to the ModalPopup component 2020-06-18 13:55:54 -04:00
Pascal Precht 7d5ea12095 feat(chat): implement clearing chat history
Closes #148
2020-06-18 13:46:05 -04:00
Iuri Matias 0ad64cc5de update qml imports 2020-06-18 11:02:11 -04:00
Iuri Matias 1cacc8cf88 support enabling/disabling tabs in the advanced settings
support enabling/disabling tabs in the advanced settings

use qstr
2020-06-18 10:28:43 -04:00
Richard Ramos b70a29f059 fix: code review 2020-06-18 10:16:32 -04:00
Richard Ramos 4fef70fc4a feat: Create group chats 2020-06-18 10:16:32 -04:00
Iuri Matias 73520d1796 add send message button to profile popup; auto switch to chat tab if necessary
add send message button to profile popup; auto switch to chat tab if necessary

use theme colors

use i18n
2020-06-18 08:27:24 -04:00
Iuri Matias 93361921b7 support opening profile modal in contacts section 2020-06-18 08:13:45 -04:00
Iuri Matias e7e77f58dc make profile popup reusable 2020-06-18 08:13:45 -04:00
Iuri Matias c79fa1e4cc disable unused methods 2020-06-18 08:13:45 -04:00
Iuri Matias 965e71e45d display more info in the about section 2020-06-18 08:13:45 -04:00
Iuri Matias 22721f3c47 display selected side menu 2020-06-18 08:13:45 -04:00
Iuri Matias 090ba1a063 display pubkey in the profile 2020-06-18 08:13:45 -04:00
Iuri Matias bddfe99621 use properties for profile section qml 2020-06-18 08:13:45 -04:00
Iuri Matias 365e5ab4c1 fix require for components folder 2020-06-17 18:58:39 -04:00
Pascal Precht b8ba44e982 feat: implement transaction detail modal
Closes #170
2020-06-17 13:14:38 -04:00
Richard Ramos 0971b5928d feat: Support ENS usernames in messages 2020-06-17 13:09:31 -04:00
Pascal Precht 0f7e08075b feat(wallet): Introduce simple account transaction list
There's still some things that needs to be done (possibly in future commits):

[ ] Asset icons need to be determined so they can be displayed along the transaction
[ ] Transaction values need to be converted to decimal values
[ ] Date-time formatting
[ ] Grouping of transactions by days
2020-06-17 12:47:53 -04:00
Iuri Matias 116b04a9ef fix installationId usage; disable in-app logout for now
fix installationId usage; disable in-app logout for now

fix
2020-06-17 12:26:41 -04:00
Iuri Matias fe82f762bb display list of contacts in the open chat modal 2020-06-17 07:41:32 -04:00
Iuri Matias e802159a6a display real contacts on profile
display real contacts on profile

query contacts

add contact in form

fixes

fixes

display contacts

cleanup

cleanup

remove echo

refactor to use profile instead of contact model
2020-06-16 12:48:25 -04:00
Richard Ramos 88bf4fca66 feat: add id to profile object and verify membership on groups 2020-06-16 12:46:40 -04:00
Richard Ramos b0a8bc3368 fix: make text selectable, limit text input content width and execute actions onEnter 2020-06-16 12:05:22 -04:00
Richard Ramos b842925ba4 feat: edit group name 2020-06-16 12:05:22 -04:00
Richard Ramos d7f9120840 Adding messageId to messages 2020-06-15 08:23:03 -04:00
Richard Ramos 9ef575dc30 Add members list menu and support colors in icons on the menu 2020-06-15 08:19:37 -04:00
Richard Ramos 95de3b4267 feat: group information 2020-06-15 08:19:37 -04:00
Richard Ramos f52ae4f994 fix: qml warnings 2020-06-13 10:01:05 -04:00
Richard Ramos e38f1b0268 fix: code review 2020-06-13 09:56:58 -04:00
Richard Ramos 78e8e6be93 feat: group information 2020-06-13 09:56:58 -04:00
Pascal Precht 73eb4fe8b1 feat: introduce button to block users
Closes #158
2020-06-12 08:30:10 -04:00
Richard Ramos b3a9bff381 Add small icon to items in chat list depending on type 2020-06-12 08:14:44 -04:00
Iuri Matias b1ce63b64c remove hasIcon and image props 2020-06-12 08:08:11 -04:00
Iuri Matias 36b2ae5a66 support adding a custom token
support adding a custom token

cleanup
2020-06-11 18:03:49 -04:00
Iuri Matias eaad59f690 add divider to profile layout and add minimum widths for sidebars 2020-06-11 18:02:47 -04:00
Iuri Matias 0cb2bf09e2 make wallet layout handle same color as the one in the chat layout 2020-06-11 17:16:21 -04:00
Jonathan Rainville ddd1105ff0 feat: show a confirmation dialog before deleting an account 2020-06-11 12:22:21 -04:00
Jonathan Rainville 4d7eee1ebf feat: enable deleting a wallet account 2020-06-11 12:22:21 -04:00
Jonathan Rainville 7476cf3d16 fix: fix conflicts and bad types 2020-06-11 11:23:01 -04:00
Jonathan Rainville 65efdf4c71 feat: add error handling on account change 2020-06-11 11:23:01 -04:00
Jonathan Rainville be8188078b feat: enable changing account setting in the wallet 2020-06-11 11:23:01 -04:00
Jonathan Rainville 317c956718 feat: show the real account values in settings 2020-06-11 11:23:01 -04:00
Jonathan Rainville 193f1331d1 feat: add very placeholder account settings modal
fef
2020-06-11 11:23:01 -04:00
Richard Ramos 9a2144fe75 feat: leave private chat groups 2020-06-11 10:29:15 -04:00
emizzle 4ec593baed feat: Add logout functionality
Move the onboarding/login state machine to the top level in main.qml, so that logout events can trigger new states.

Add Loader to statemachine so that each component is lazy-loaded. Initial tests saved 50MB of memory on startup.

Currently, logging out, then logging back in to the same or different account results in a doubling-up of chats/messages/wallet accounts. These need to be reset, however I need help doing that and it would delayed and blown out this PR further. This reset has been done for Onboarding and Login, but needs to be done for chats, wallet, mailservers, etc.
2020-06-11 09:28:25 -04:00
Iuri Matias 826c0ed46d get token balance
get token balance

fix token balance call

Fix assets on load

add token list

display images

cleanup

cleanup

cleanup

clean up
2020-06-10 17:28:40 -04:00
Richard Ramos 761be22bfa feat: Join private groups 2020-06-10 15:54:56 -04:00
Richard Ramos 8cca18d7f9 Display group chat message types and react to chat updates 2020-06-10 15:21:15 -04:00
Richard Ramos 39c494f9d5 refactor: Remove ChatItem object 2020-06-10 15:08:55 -04:00
Jonathan Rainville 937dd89146 refactor: split Input into three files to simplify and reduce memory
Having all the different input types in one file made it simpler to design, but created an issue with memory, because all the aliases, properties and images were created for all types even if you only used a basic Input. I tried using Loaders, but making aliases within loaders is super painful/impossible in some cases.
2020-06-10 15:00:50 -04:00
Richard Ramos afc247be23 Various fixes
- Make the topbar channel identifier color match the channel list color
- Display private groups on the channel list
- Reduce chat identifier height
2020-06-09 18:13:53 -04:00
Jonathan Rainville 7295fde809 feat: add watch only accounts to wallet 2020-06-09 18:10:57 -04:00
Jonathan Rainville c3f9d57e5d fix: fix Wallet asset list to not show on top of header 2020-06-09 18:10:57 -04:00
Jonathan Rainville 2ade9e938d feat: add modal to add an account with a private key 2020-06-09 18:10:57 -04:00
Pascal Precht d5ba992c81 refactor(ui/ProfilePopup): make use of newly introduced header content
This commit extends the profile popup to align more with the application
designs. There's still work left to be done such as showing/hiding the
qrcode view or copying data to the clipboard.

The profilepopup also relies on context data at the moment and should rather
receive its data via the newly introduced `getContractByID()` API proposed in
https://github.com/status-im/status-go/pull/1987
2020-06-09 18:01:06 -04:00
Pascal Precht 113ddc7ce3 feat(ui/shared): allow ModalPopup to receive header components
Similar to its `footer` content, ModalPopup can now receive header components
allowing consumers to design the header part of the modal to their likings.

Usage:

```
ModalPopup {
    id: popup

    header: Item {
			...
		}
	  ...
}
```

The header section will take the height of the root element of the substree
passed to `header`
2020-06-09 17:57:30 -04:00
Richard Ramos 40a523851d fix: chat identifier position 2020-06-09 11:49:23 -04:00
Jonathan Rainville 61606a872e fix: fix conditions for button disabled 2020-06-08 17:01:29 -04:00
Jonathan Rainville 43df7d2f77 feat: add TextArea to Input and set correct Modal height 2020-06-08 17:01:29 -04:00
Jonathan Rainville 50c10d38dd feat: enable adding an account with a seed phrase 2020-06-08 17:01:29 -04:00
Richard Ramos f3ff229bf8 feat: load messages on scroll to top, and fix last message scrolling 2020-06-08 16:07:11 -04:00
Richard Ramos b5b02cfd57 show identifier as the first message of chat view 2020-06-08 15:27:30 -04:00
Richard Ramos 9d75f6f552 Use section identifiers as a way to identify if messages have been sent by the current user (no need to modify the model with `repeatMessageInfo`) 2020-06-08 13:24:46 -04:00
Iuri Matias 5371f22e70 add/remove & update configured tokens on the fly
add/remove & update configured tokens on the fly

add wallet methods

generate configured assets

correct show selected tokens

toggle assets

add/remove configured tokens on the fly

cleanup

fix shown wallet
2020-06-08 12:14:09 -04:00
Jonathan Rainville c609a00784 feat: generate new accounts and get wallet account correctly 2020-06-08 09:39:01 -04:00
Richard Ramos 1cc5d9155f Set initial state to empty chat view instead of selecting the first chat 2020-06-05 18:21:46 -04:00
Richard Ramos 1b086b006d fix: show new messages at the bottom 2020-06-05 05:56:21 -04:00
Richard Ramos 722ab36bf1 Sort messages by clock 2020-06-05 05:56:21 -04:00
Jonathan Rainville 9c668c79d1 fix generate button position 2020-06-04 16:31:17 -04:00
Jonathan Rainville 3bab66fde9 add the account like a boss 2020-06-04 16:31:17 -04:00
Jonathan Rainville adda897eb9 make color selector work 2020-06-04 16:31:17 -04:00
Jonathan Rainville 68689147d6 wip select input 2020-06-04 16:31:17 -04:00
Jonathan Rainville bf5f0b6dda feat: add basic generate account popup 2020-06-04 16:31:17 -04:00
Iuri Matias df9a6d0f07 refactor & update currency modal to look and work like designs
update gitignore

display list of currencies
2020-06-04 14:29:04 -04:00
Iuri Matias b412a56577 use Theme properties 2020-06-04 10:43:39 -04:00
Iuri Matias 9b58111cab support filtering tokens 2020-06-04 10:43:39 -04:00
Iuri Matias ca82c9d5b2 fix icons; add slot for checking if an asset is currently added 2020-06-04 10:43:39 -04:00
Iuri Matias a9844099bb fix styling of token list 2020-06-04 10:43:39 -04:00
Iuri Matias 94bc4f02d7 add list of tokens and icons 2020-06-04 10:43:39 -04:00
Pascal Precht ffd356d182 feat(Chat): introduce Profile Popup
This is a simple profile popup that will get more functionality in future commits.

Closes #126
2020-06-04 08:47:44 -04:00
Richard Ramos dd0e9de324 refactor: code cleanup 2020-06-04 08:35:29 -04:00
Jonathan Rainville 15dc98b44a feat: show the real value of the current account in the wallet 2020-06-03 17:09:51 -04:00
Iuri Matias 24d0306869 use dropdown for wallet settings 2020-06-03 15:30:27 -04:00
Iuri Matias f62d3aaca7 wallet settings modal; save default currency
wallet settings modal; save default currency

wallet settings modal; save default currency

save/load currency preference

fix default currency call

use chronicle instead of echo

fix issues
2020-06-03 10:38:50 -04:00
Pascal Precht dc6793a0f0 refactor(chat): make activeChannel a ChatItem to expose relevant information to the view 2020-06-02 16:57:59 -04:00
Jonathan Rainville cc85a42b5c feat: show accounts in wallet and put assetList in Account 2020-06-02 16:41:08 -04:00
Pascal Precht 366d50bb74 feat(ui): introduce `ChannelIcon` component
This component renders channel identicons based on the chat type
and channel name and will render a user identicon in case of a one-on-one
chat.
2020-06-02 16:14:49 -04:00
Jonathan Rainville 9e25ba1d95 fix: fix wallet missing file message and color warning 2020-06-01 13:54:49 -04:00
Iuri Matias 470687c2a6 show dropdown for add account button 2020-06-01 12:31:14 -04:00
Iuri Matias ebd29d9ffd simply chat views by reacting to model events
simply chat views by reacting to model events

abstract join event from join event call; react to join channel event

remove unneded if else

move left channel to event

refactor getChannelColor

refactor getChannelColor

rename sendMessage method

cleanup

move random color to channels list

remove toChatType

remove toChatType
2020-05-29 15:03:13 -04:00
Richard Ramos 6f3b987346 fix: code review 2020-05-29 15:02:31 -04:00
Richard Ramos 1c00bb2dff Create a reusable modal popup 2020-05-29 15:02:31 -04:00
Richard Ramos 9d86082cfe Update channels position when receiving a new msg 2020-05-29 14:46:42 -04:00
Jonathan Rainville b6cf47f467 feat: fix StyledButton and use it in Send modal 2020-05-29 14:44:45 -04:00
Jonathan Rainville 65332804b9 feat: use Input component for the send modal 2020-05-29 14:44:45 -04:00
Jonathan Rainville 77966c8f6c feat: add very basic sendModal content 2020-05-29 14:44:45 -04:00
Iuri Matias 98d2c1df68 display a sticker when a content type sticker message is received
display a sticker when a content type sticker message is received

display a sticker when a content type sticker message is received

display a sticker when a content type sticker message is received

display sticker

fix height and default value

cleanup

cleanup

cleanup

use constants for the content type
2020-05-29 09:52:20 -04:00
Richard Ramos f67fb34e69 Add scrollbar to chat messages 2020-05-28 19:25:03 -04:00
Richard Ramos 8d2b955bcd load chats on login 2020-05-28 17:36:22 -04:00
Jonathan Rainville f08372879f fix: fix addChat plus sign 2020-05-28 17:36:01 -04:00
Jonathan Rainville 9bd54881ce feat: hide arrow input when text is empty + use good arrow icon 2020-05-28 17:36:01 -04:00
Jonathan Rainville 4fa3c34199 feat: new design for the chat bubble 2020-05-28 17:35:38 -04:00
Jonathan Rainville 9760008625 feat: add design for the Asset Tab 2020-05-28 13:59:56 -04:00
Jonathan Rainville 3ce1883c0b feat: add files for the wallet tabs 2020-05-28 13:59:56 -04:00
Jonathan Rainville d1b786811f feat: add TabButton and TabBar for the Wallet 2020-05-28 13:59:56 -04:00
Jonathan Rainville 2da4bd376f fix: fix receive icon rotation 2020-05-28 13:59:56 -04:00
Jonathan Rainville 47cc169c4f chore: split WalletHeader to another file 2020-05-28 13:59:56 -04:00
Iuri Matias 0ee32c2bb1 add default list to the chat messages 2020-05-28 13:49:53 -04:00
Iuri Matias 2f428ef41d add default properties to message component 2020-05-28 13:49:53 -04:00
Richard Ramos 3b8408d21a Join private chats 2020-05-28 11:54:44 -04:00
Richard Ramos 1a829828c8 feat: private chat popup 2020-05-28 09:29:17 -04:00
Pascal Precht 31a310314c ui(chat): introduce identicons for channels and users
Closes #128
2020-05-28 08:11:02 -04:00
Pascal Precht 37cce5b9f3 ui(chat): don't repeat user info for the same user
Closes #129
2020-05-28 08:10:15 -04:00
Iuri Matias dd9b4c50ea extract add chat to its own file 2020-05-28 07:41:49 -04:00
Iuri Matias e662f03e06 extract search box to its own file 2020-05-28 07:41:49 -04:00
Iuri Matias 8590a288b2 extract channel to its own file 2020-05-28 07:41:49 -04:00
Iuri Matias 0885ab6df0 extract ChannelList to its own file 2020-05-28 07:41:49 -04:00
Richard Ramos 2555eec8aa fix: menu styling 2020-05-28 06:45:30 -04:00
Iuri Matias 839afd6356 extract contacts EmptyView into its own file 2020-05-28 06:28:18 -04:00
Iuri Matias 3fb595dcc4 extract EmptyView into its own file 2020-05-28 06:28:18 -04:00
Iuri Matias 3adb5deeb0 extract ChatInput into its own file 2020-05-28 06:28:18 -04:00
Iuri Matias de9d5ad63f extract ChatMessages into its own files 2020-05-28 06:28:18 -04:00
Iuri Matias c1ec5de949 extract TopBar into its own file 2020-05-28 06:28:18 -04:00
Jonathan Rainville 056e640a29 feat: add wallet header 2020-05-27 17:43:36 -04:00
Jonathan Rainville 398e3387cf feat: add placeholder wallets in leftTab 2020-05-27 17:31:27 -04:00
Iuri Matias d2a23fb265 separate profile sections 2020-05-27 17:30:53 -04:00
Iuri Matias 1503f2d1f8 divide left tab into 2 files 2020-05-27 17:30:53 -04:00
Richard Ramos aa5dbc6994 fix: moving components to correct shared folder 2020-05-27 17:30:44 -04:00
Richard Ramos a96848f890 fix: image modes 2020-05-27 17:00:15 -04:00
Richard Ramos cd08289146 refactor: extract popup menu to ext component 2020-05-27 17:00:15 -04:00
Richard Ramos a7fd933578 Adds a a popup dialog to join a public channel 2020-05-27 16:15:10 -04:00
Iuri Matias 567445ea30 Revert "ui: introduce identicons in channel/contacts list"
This reverts commit 9e69e24379.
2020-05-27 15:41:31 -04:00
Pascal Precht 9e69e24379 ui: introduce identicons in channel/contacts list 2020-05-27 15:02:49 -04:00
Jonathan Rainville cccc7f599f chore: fix last anchor warnings 2020-05-27 14:56:33 -04:00
Jonathan Rainville 4a00f3f307 chore: fix remaining warnings on Chat files 2020-05-27 14:56:33 -04:00
Jonathan Rainville b8a5d25d8b chore: remove no longer necessary anchors on layouts
Not sure why, but these are no longer necessary
2020-05-27 14:56:33 -04:00
Jonathan Rainville d8511490ca chore: fix anchor warnings for CHatColumn and KenKey 2020-05-27 14:56:33 -04:00
Jonathan Rainville 5b14982393 chore: fix anchor warning in ContactColumn and cleanup 2020-05-27 14:56:33 -04:00
Jonathan Rainville 084c96afff base of changes to wallet 2020-05-27 14:56:33 -04:00
Iuri Matias 01f7449508 fix black border on the splitview 2020-05-27 13:59:46 -04:00
Richard Ramos 0050a50f37 fix: code review and missing `onTriggered` 2020-05-27 13:26:40 -04:00
Richard Ramos c7e54c8de7 Add icons to the menu 2020-05-27 13:26:40 -04:00
Iuri Matias dda6b3c76d add support to leave a chat
add support to leave a chat

add support to leave a chat

fix

add leave chat methods to model
2020-05-26 18:06:48 -04:00
Richard Ramos 0ee8f5c0fe feat: display menu when clicking on addChat 2020-05-26 18:06:16 -04:00
Iuri Matias f4439fcb6f default views for when there is no chat opened + chat links
default views for when there is no chat opened + chat links

add channel component

update other layouts

fix problem with alias

add test channels

fix merge conflict
2020-05-26 17:07:24 -04:00
Jonathan Rainville e869d62c98 fix: fix chat passing over the top bar 2020-05-26 15:11:48 -04:00
Jonathan Rainville 1ef8db3c44 feat: hook top bar to channel name and colors 2020-05-26 15:11:48 -04:00
Jonathan Rainville f11e17a792 feat: add placeholder top bar for the chat column 2020-05-26 15:11:48 -04:00
Jonathan Rainville f89628871f refactor: split chatLayout in column files 2020-05-26 13:55:00 -04:00
Iuri Matias 0d7cb1b401 add contact list 2020-05-25 09:50:35 -04:00
Iuri Matias c6ed2c8852 add mouse hand pointer to chat list; add simple FAQ (testing QT urls)
add mouse hand pointer to chat list; add simple FAQ (testing QT urls)

refactor wallet to use asset model

move some of wallet logic away from the controller

move ChatMessage to model

move chatItem model

organize models folder

simplify chat message and chat item

rename messageList to message_list

simply addresses in the controller

rename mailservers list

refactor how profile is set

refactor/simplify profile view

refactor/simplify adding mailservers

rename wallet view

simplify wallet assets

rename nodeView to view

extract channel list view

extract channel list view

refactor channel list / chats view

move signals out of app folder

simplify callRPC

add raw rpc method and make node section use it

add node model

move accounts model inside onboard controller (for now)

make events usage consistent among models and controllers; separate model events from app events

make mouse show hand cursor when hovering over chat list

add FAQ url
2020-05-25 09:48:46 -04:00
Iuri Matias 6e14749904 simplify controllers and views, make everything more consistent
simplify controllers and views, make everything more consistent

refactor wallet to use asset model

move some of wallet logic away from the controller

move ChatMessage to model

move chatItem model

organize models folder

simplify chat message and chat item

rename messageList to message_list

simply addresses in the controller

rename mailservers list

refactor how profile is set

refactor/simplify profile view

refactor/simplify adding mailservers

rename wallet view

simplify wallet assets

rename nodeView to view

extract channel list view

extract channel list view

refactor channel list / chats view

move signals out of app folder

address code reviews
2020-05-25 09:22:11 -04:00
Richard Ramos 2eee8c7a2d feat: show last message and unread message count 2020-05-22 19:18:05 -04:00
Jonathan Rainville e371d2fe4b chore: fix a couple of warnings 2020-05-22 17:09:40 -04:00
Pascal Precht 10b51956f2 ui: render mailservers list 2020-05-22 16:56:51 -04:00
Iuri Matias 63d525e0f4 clarify one can join channel through sidebar 2020-05-21 20:07:55 -04:00
Pascal Precht 985b5d93d0 fix(ui/wallet): don't require password to be entered as hashed hex 2020-05-21 19:50:58 -04:00
Richard Ramos ec46dd13f1 refactor: join public chats 2020-05-21 19:43:02 -04:00
Richard Ramos 0e2131d499 feat: support multiple channels on the UI 2020-05-21 19:36:36 -04:00
Jonathan Rainville 6d34c8fa79 feat: set chat item height depending on the height of the text 2020-05-20 17:43:56 -04:00
Jonathan Rainville e157b1bc6d fix: always scroll to last item and only scroll when at bottom
Fixes #77
2020-05-20 17:43:56 -04:00
Iuri Matias 51ced8bc2d display users identicon in the profile instead of an hardcoded one 2020-05-19 22:04:03 -04:00
Iuri Matias 24bb268934 add profile module; display username from one of the accounts instead of hardcoded one 2020-05-19 22:04:03 -04:00
Iuri Matias 6ed3299c28 added webview 2020-05-19 20:07:58 -04:00
Michael Bradley, Jr d673915975 feat: layouts for the Profile screens
Work on this PR started before the build system was updated and at one point I
upgraded `nim_status_client.nimble` to use NimScript so the nimble command
would stop warning that the old format was being used. In team chat it was
discussed that since we're no longer using nimble for package management we
could simply delete `nim_status_client.nimble` to avoid confusion, which can be
done in another PR.

Introduce a BrowserLayout stub so the index will be calcualted correctly re:
the active tab.

Reorganize ChatLayout and NodeLayout into subdirs `Chat` and `Node`,
respectively.

Introduce ProfileLayout which uses a "LeftTab" approach similar to that of
WalletLayout. There remains quite a bit of styling work to be done in
ProfileLayout and its LeftTab. Also, it may be better to start over using a
SplitView like the ChatLayout, I'm not really sure.

It wasn't clear what should be the default view for the right-pane when Profile
is selected in the left-most TabBar. In this PR, it defaults to showing the
view corresponding to the ENS usernames button.

In the archived Figma for the desktop design, it seemed a picture could be set,
e.g. there is a headshot of a woman used in the Profile screen. To that end I
explored how to take a square image and clip/mask it so it appears round and I
included a larger placeholder image for that purpose. In the new design, and
with respect to mobile, it may not be possible to set a profile picture so the
code that rounds the image can maybe be dropped.
2020-05-19 20:02:21 -04:00
Iuri Matias 5cc31ae28d display identicons; display correct details for the user own messages 2020-05-19 19:40:40 -04:00
Iuri Matias 6a4c50fe9c subscribe node module to notifications 2020-05-19 17:00:29 -04:00
Iuri Matias 755fd6056b move block notification to node management tab 2020-05-19 17:00:29 -04:00
Jonathan Rainville 959f8277ce feat: enable filtering the channels with the search
Fixes #59
2020-05-19 16:29:39 -04:00
Jonathan Rainville 3916fb739b fix: fix name and chat text in middle bar to have an ellipsis 2020-05-19 15:16:31 -04:00
Pascal Precht 76a0b55d47 feat(ui/wallet): add basic form to send transaction
Closes #49
2020-05-19 11:48:41 -04:00
Richard Ramos a4deb4b7a9 Display chat messages 2020-05-18 16:41:16 -04:00
Richard Ramos 9411aa61e7 feat: display message in wallet 2020-05-18 11:42:50 -04:00
Jonathan Rainville acf0dcbf7a feat: show your messages right aligned
The messages you send will now be aligned right.
Also fixes the issue of the chats being visible under the chat input
2020-05-18 10:46:33 -04:00
Iuri Matias 531383c207 display several chat logs; style then a bit, make it scrollable 2020-05-18 10:46:33 -04:00
Iuri Matias bc6d1f1623 move views & logic into their respective folders; add initial tab for node management 2020-05-15 18:43:32 -04:00
Jonathan Rainville 491718a0bd feat: add wallet asset icon 2020-05-15 06:46:21 -04:00
Jonathan Rainville a962069b73 feat: hook wallet assets to nim model 2020-05-15 06:46:21 -04:00
Jonathan Rainville cd522ba803 feat: split left tab to its own file and move them to Wallet dir 2020-05-14 12:24:15 -04:00
Jonathan Rainville 37649a5d86 fix: fix wallet's tab bar issues 2020-05-14 12:24:15 -04:00
Jonathan Rainville 63ce87d5e9 fix: fix missing images 2020-05-14 12:24:15 -04:00
Jonathan Rainville dfcffeae62 feat: add asset list in wallet 2020-05-13 19:05:20 -04:00
Jonathan Rainville fe1a4db078 feat: add Wallet tab bar 2020-05-13 19:05:20 -04:00
Jonathan Rainville 067b6f6fb0 feat: add basic WalletLayout 2020-05-13 19:05:20 -04:00
Iuri Matias c258b7c746 send message when pressing enter; clear text area after sending 2020-05-13 15:21:45 -04:00
Richard Ramos 79638f6214 feat: Join chats on demand 2020-05-13 14:01:12 -04:00
Jonathan Rainville ae7ee0b363 chore: split ChatLayout into a seprate file
Preliminary work for the wallet. This way, AppLayout isn,t goign to be huge
2020-05-13 13:39:23 -04:00