diff options
author | Vijay A <vraravam@users.noreply.github.com> | 2022-05-08 21:00:17 -0500 |
---|---|---|
committer | Vijay Aravamudhan <vraravam@users.noreply.github.com> | 2022-05-08 22:19:29 -0400 |
commit | db25991927e9b74eda2f3a9df5d01908abc04208 (patch) | |
tree | 28b82e6e50512ceecdae4e6d2ddec50f0c7835b5 /src/containers/auth/LockedScreen.js | |
parent | New Crowdin updates (#119) [skip ci] (diff) | |
download | ferdium-app-db25991927e9b74eda2f3a9df5d01908abc04208.tar.gz ferdium-app-db25991927e9b74eda2f3a9df5d01908abc04208.tar.zst ferdium-app-db25991927e9b74eda2f3a9df5d01908abc04208.zip |
Converted some javascript files to typescript
Diffstat (limited to 'src/containers/auth/LockedScreen.js')
-rw-r--r-- | src/containers/auth/LockedScreen.js | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/src/containers/auth/LockedScreen.js b/src/containers/auth/LockedScreen.js deleted file mode 100644 index d99a4051b..000000000 --- a/src/containers/auth/LockedScreen.js +++ /dev/null | |||
@@ -1,85 +0,0 @@ | |||
1 | import { Component } from 'react'; | ||
2 | import PropTypes from 'prop-types'; | ||
3 | import { inject, observer } from 'mobx-react'; | ||
4 | import Locked from '../../components/auth/Locked'; | ||
5 | import SettingsStore from '../../stores/SettingsStore'; | ||
6 | |||
7 | import { hash } from '../../helpers/password-helpers'; | ||
8 | import UserStore from '../../stores/UserStore'; | ||
9 | |||
10 | class LockedScreen extends Component { | ||
11 | state = { | ||
12 | error: false, | ||
13 | }; | ||
14 | |||
15 | constructor(props) { | ||
16 | super(props); | ||
17 | |||
18 | this.onSubmit = this.onSubmit.bind(this); | ||
19 | this.unlock = this.unlock.bind(this); | ||
20 | } | ||
21 | |||
22 | onSubmit(values) { | ||
23 | const { password } = values; | ||
24 | |||
25 | let correctPassword = this.props.stores.settings.all.app.lockedPassword; | ||
26 | if (!correctPassword) { | ||
27 | correctPassword = ''; | ||
28 | } | ||
29 | |||
30 | if (hash(String(password)) === String(correctPassword)) { | ||
31 | this.props.actions.settings.update({ | ||
32 | type: 'app', | ||
33 | data: { | ||
34 | locked: false, | ||
35 | }, | ||
36 | }); | ||
37 | } else { | ||
38 | this.setState({ | ||
39 | error: { | ||
40 | code: 'invalid-credentials', | ||
41 | }, | ||
42 | }); | ||
43 | } | ||
44 | } | ||
45 | |||
46 | unlock() { | ||
47 | this.props.actions.settings.update({ | ||
48 | type: 'app', | ||
49 | data: { | ||
50 | locked: false, | ||
51 | }, | ||
52 | }); | ||
53 | } | ||
54 | |||
55 | render() { | ||
56 | const { stores } = this.props; | ||
57 | const { useTouchIdToUnlock } = this.props.stores.settings.all.app; | ||
58 | |||
59 | return ( | ||
60 | <div className="auth"> | ||
61 | <div className="auth__layout"> | ||
62 | <Locked | ||
63 | onSubmit={this.onSubmit} | ||
64 | unlock={this.unlock} | ||
65 | useTouchIdToUnlock={useTouchIdToUnlock} | ||
66 | isSubmitting={stores.user.loginRequest.isExecuting} | ||
67 | error={this.state.error || {}} | ||
68 | /> | ||
69 | </div> | ||
70 | </div> | ||
71 | ); | ||
72 | } | ||
73 | } | ||
74 | |||
75 | LockedScreen.propTypes = { | ||
76 | actions: PropTypes.shape({ | ||
77 | settings: PropTypes.instanceOf(SettingsStore).isRequired, | ||
78 | }).isRequired, | ||
79 | stores: PropTypes.shape({ | ||
80 | settings: PropTypes.instanceOf(SettingsStore).isRequired, | ||
81 | user: PropTypes.instanceOf(UserStore).isRequired, | ||
82 | }).isRequired, | ||
83 | }; | ||
84 | |||
85 | export default inject('stores', 'actions')(observer(LockedScreen)); | ||