101 Commits

Author SHA1 Message Date
Jonathan Rainville
90011710ec fix: fix login to show the confirm modal at the right time 2020-07-02 11:45:31 -04:00
Jonathan Rainville
d90c9ba882 fix: use normal Inter for normal text and StatusInter for addresses 2020-07-02 10:51:57 -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
6d6f67476b fix: double "login" event being emitted by login / onboarding 2020-06-30 12:20:22 -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
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
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
Pascal Precht
89da127468 feat(Onboarding): validate mnemonic when importing seed phrase
Closes #395
2020-06-25 11:11:25 -04:00
Jonathan Rainville
7e70a37bf9 remove useless console log
Co-authored-by: RichΛrd <info@richardramos.me>
2020-06-25 10:27:51 -04:00
Jonathan Rainville
fab4029318 feat: add validation on the create password form 2020-06-25 10:27:51 -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
Richard Ramos
6d1d66c2eb fix: SVG images blurryness 2020-06-23 18:52:54 -04:00
Richard Ramos
4517b5bd28 feat: login animation 2020-06-23 07:04:52 -04:00
Jonathan Rainville
af2584c53c fix: fix missing import for the Theme 2020-06-22 15:15:54 -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
Iuri Matias
0ad64cc5de update qml imports 2020-06-18 11:02:11 -04:00
Jonathan Rainville
de5d542b8e fix: change text strings to qsTr
Co-authored-by: RichΛrd <info@richardramos.me>
2020-06-16 11:57:11 -04:00
Jonathan Rainville
34810e0587 chore: remove AccountSelection component that is no longer needed 2020-06-16 11:57:11 -04:00
Jonathan Rainville
026d1d1c4d feat: design onboarding 2020-06-16 11:57:11 -04:00
Jonathan Rainville
03305c548f fix: make gen key modal not flickable 2020-06-16 11:54:52 -04:00
Jonathan Rainville
7873a0ff58 feat: design gen new key modal 2020-06-15 08:07:15 -04:00
Jonathan Rainville
846dc646e1 feat: add design to enter a seed key 2020-06-13 09:51:38 -04:00
Jonathan Rainville
67c7e9b0ca feat: implement design on the login screen 2020-06-12 08:11:14 -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
Jonathan Rainville
bf5f0b6dda feat: add basic generate account popup 2020-06-04 16:31:17 -04:00
Iuri Matias
0ea8fc08de refactor to use passed functions as props
Update ui/onboarding/Login/AccountList.qml

Co-authored-by: RichΛrd <info@richardramos.me>

context

refactor to use passed functions as props
2020-06-04 10:39:28 -04:00
Iuri Matias
64b565c6c3 extract Login wizard components 2020-06-04 10:39:28 -04:00
Iuri Matias
1ba579e94b extract the slide into a component 2020-06-04 10:39:28 -04:00
emizzle
ac37f0fdbb fix: small onboarding/login fixes and feats
- fix: Change displayed login key to whisper public key (starts with 0x04)
- fix: remove key displayed on login accounts as this value is not passed to use from status-go's openAccounts
- feat: add selected account view when entering password for login and generating an account (same UI as importing a key)
2020-06-03 08:36:37 -04:00
emizzle
691717990d feat: Add import account functionality
Allow user to import an existing mnemonic.

TODO: add mnemonic validation with the `validateMnemonic` status-go function.
2020-06-02 17:09:38 -04:00
Jonathan Rainville
9fc93b8db2 fix: genKey binding and focus 2020-06-01 12:28:47 -04:00
Jonathan Rainville
545bb751c1 feat: add Input to Login screen and enable otherProps for the Input 2020-06-01 12:28:47 -04:00
Jonathan Rainville
c29160fff7 chore: use Buttons for all components and improve Login 2020-06-01 12:28:47 -04:00
emizzle
a2e255e72c feat: Add generate account button to login screen 2020-05-28 07:51:04 -04:00
emizzle
0f59529c57 feat: add login functionality
Add login functionality. If node accounts exist in status-go (keystores in ./data dir), then show the Login screen. Otherwise, show the Onboarding screen (generate keys screen).

Update nim-stew to latest version.

Change references to Address to the common type Account to prevent repeating of types.

Distinguish between unknown and unhandled signals.

Pass signals through to subscribers regardless if the signal type is known (in case the SignalSubscriber handles it with string comparison or other).

Update serialization as much as possible

Latest nim-stew updates allow type inheritance during de/serialization
2020-05-28 07:51:04 -04:00
Jonathan Rainville
d8511490ca chore: fix anchor warnings for CHatColumn and KenKey 2020-05-27 14:56:33 -04:00
emizzle
66fc2b96d0 fix: Inability to select generated account
Selecting a generated account other than the first one in the list would always use the first generated account.

Uncomment commented-out code that updates the selected index in the view.
2020-05-26 13:55:23 -04:00
emizzle
e1d1880aca fix: change onboarding account to whisper key
Previously, the displayed key for generated accounts was displaying the public key of the account, and not the whisper account. This has been fixed.

Futher work has gone in to strongly-typing a lot of the responses from status-go and removed a lot of the manual string parsing.

Simplified types and type-conversions by using the `nim-serialization` library.
2020-05-25 11:31:18 -04:00
Jonathan Rainville
e371d2fe4b chore: fix a couple of warnings 2020-05-22 17:09:40 -04:00
emizzle
a1109ca52b feat: Pass login account data in account event
The "accountsReady" event now passes the account information for the account that was logged in, which helps pass the correct account info to Profile and is available for other modules that may need it.

This will become particularly useful once the login functionality is implemented.
2020-05-22 16:11:12 -04:00
Iuri Matias
50fc70adfb address code review 2020-05-21 19:33:14 -04:00
Iuri Matias
c1f6a0d06d address code review 2020-05-21 19:33:14 -04:00
Iuri Matias
6c03369ca2 refactor/extract saveAccountAndLogin method 2020-05-21 19:33:14 -04:00
Iuri Matias
d434af40e1 move generate addresses action to qml state machine enter state event 2020-05-21 19:33:14 -04:00
Iuri Matias
ce236fbc82 cleanup 2020-05-21 19:33:14 -04:00
Iuri Matias
81a478d797 remove unsused method 2020-05-21 19:33:14 -04:00
Iuri Matias
7cd9ceac28 refactor: move onboarding logic out of the view 2020-05-21 19:33:14 -04:00
Iuri Matias
2cf1541115 move storeAccount logic out of the view 2020-05-21 19:33:14 -04:00
emizzle
dafd11fbc0 feat: onboarding generate new account
Generates 5 random accounts with identicons, allows user to enter password, then stores the account and logs in to the statusgo node.

Add EventEmitter that notifies nim_status_client.nim once node has started and is logged in (likely needs some refactoring to include the eventemitter in the base controller class).

Add QML StateMachine for the onboarding view.

Add nimcrytpo, uuids, eventemitter, isaac dependencies via submodules.

Add button to Intro view to randomly gen account.
2020-05-21 19:33:14 -04:00