Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion shared/constants/init/shared.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ export const initRecoverPasswordCallbacks = () => {
defer: {
...currentState.dispatch.defer,
onProvisionCancel: (ignoreWarning?: boolean) => {
useProvisionState.getState().dispatch.dynamic.cancel?.(ignoreWarning)
useProvisionState.getState().dispatch.cancel(ignoreWarning)
},
onStartAccountReset: (skipPassword: boolean, username: string) => {
useAutoResetState.getState().dispatch.startAccountReset(skipPassword, username)
Expand Down
4 changes: 2 additions & 2 deletions shared/devices/routes.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ import {HeaderTitle, HeaderRightActions} from './nav-header'
import {useProvisionState} from '@/stores/provision'

const AddDeviceCancelButton = () => {
const cancel = useProvisionState(s => s.dispatch.dynamic.cancel)
const cancel = useProvisionState(s => s.dispatch.cancel)
const navigateUp = C.useRouterState(s => s.dispatch.navigateUp)
return (
<Kb.Text
type="BodyBigLink"
onClick={() => {
cancel?.()
cancel()
navigateUp()
}}
>
Expand Down
8 changes: 4 additions & 4 deletions shared/provision/code-page/container.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ const CodePageContainer = () => {
const currentDeviceAlreadyProvisioned = !!storeDeviceName
const provisionState = useProvisionState(
C.useShallow(s => ({
error: s.error,
otherDevice: s.codePageOtherDevice,
provisionDeviceName: s.deviceName,
submitTextCode: s.dispatch.dynamic.submitTextCode,
textCode: s.codePageIncomingTextCode,
submitTextCode: s.dispatch.submitTextCode,
textCode: s.session.prompt?.type === 'promptSecret' ? s.session.prompt.phrase : '',
error: s.session.prompt?.type === 'promptSecret' ? s.session.prompt.error : '',
}))
)
const {error, otherDevice, provisionDeviceName, submitTextCode, textCode} = provisionState
Expand All @@ -36,7 +36,7 @@ const CodePageContainer = () => {
const onBack = navigateUp

const _onSubmitTextCode = (code: string) => {
!waiting && submitTextCode?.(code)
!waiting && submitTextCode(code)
}

const [code, setCode] = React.useState('')
Expand Down
4 changes: 2 additions & 2 deletions shared/provision/code-page/qr-scan/hooks.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import * as C from '@/constants'
import {useProvisionState} from '@/stores/provision'

const useQR = () => {
const submitTextCode = useProvisionState(s => s.dispatch.dynamic.submitTextCode)
const submitTextCode = useProvisionState(s => s.dispatch.submitTextCode)
const waiting = C.Waiting.useAnyWaiting(C.waitingKeyProvision)
const onSubmitTextCode = (c: string) => submitTextCode?.(c)
const onSubmitTextCode = (c: string) => submitTextCode(c)
return {
onSubmitTextCode,
waiting,
Expand Down
20 changes: 12 additions & 8 deletions shared/provision/paper-key.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,24 @@ import {SignupScreen, errorBanner} from '../signup/common'
import {useProvisionState} from '@/stores/provision'

const Container = () => {
const error = useProvisionState(s => s.error)
const hint = useProvisionState(s => `${s.codePageOtherDevice.name || ''}...`)
const {error, hint, submitPassphrase} = useProvisionState(
C.useShallow(s => ({
error: s.session.prompt?.type === 'paperKey' ? s.session.prompt.error : '',
hint: `${s.codePageOtherDevice.name || ''}...`,
submitPassphrase: s.dispatch.submitPassphrase,
}))
)
const waiting = C.Waiting.useAnyWaiting(C.waitingKeyProvision)
const navigateUp = C.useRouterState(s => s.dispatch.navigateUp)
const onBack = () => {
navigateUp()
}
const onSubmit = useProvisionState(s => s.dispatch.dynamic.setPassphrase)
const props = {
error: error,
hint: hint,
onBack: onBack,
onSubmit: (paperkey: string) => !waiting && onSubmit?.(paperkey),
waiting: waiting,
error,
hint,
onBack,
onSubmit: (paperkey: string) => !waiting && submitPassphrase(paperkey),
waiting,
}
return <PaperKey {...props} />
}
Expand Down
12 changes: 8 additions & 4 deletions shared/provision/password.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,14 @@ import {useState as useRecoverState} from '@/stores/recover-password'
import {useProvisionState} from '@/stores/provision'

const Password = () => {
const error = useProvisionState(s => s.error)
const {error, submitPassphrase, username} = useProvisionState(
C.useShallow(s => ({
error: s.session.prompt?.type === 'passphrase' ? s.session.prompt.error : '',
submitPassphrase: s.dispatch.submitPassphrase,
username: s.username,
}))
)
const resetEmailSent = useRecoverState(s => s.resetEmailSent)
const username = useProvisionState(s => s.username)
const waiting = C.Waiting.useAnyWaiting(C.waitingKeyProvision)
const navigateUp = C.useRouterState(s => s.dispatch.navigateUp)
const startRecoverPassword = useRecoverState(s => s.dispatch.startRecoverPassword)
Expand All @@ -19,8 +24,7 @@ const Password = () => {
const onBack = () => {
navigateUp()
}
const _onSubmit = useProvisionState(s => s.dispatch.dynamic.setPassphrase)
const onSubmit = (password: string) => !waiting && _onSubmit?.(password)
const onSubmit = (password: string) => !waiting && submitPassphrase(password)
const [password, setPassword] = React.useState('')
const _onSubmitClick = () => onSubmit(password)
const resetState = useRecoverState(s => s.dispatch.resetState)
Expand Down
12 changes: 8 additions & 4 deletions shared/provision/select-other-device-connected.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,13 @@ import SelectOtherDevice from './select-other-device'
import {useProvisionState} from '@/stores/provision'

const SelectOtherDeviceContainer = () => {
const devices = useProvisionState(s => s.devices)
const submitDeviceSelect = useProvisionState(s => s.dispatch.dynamic.submitDeviceSelect)
const username = useProvisionState(s => s.username)
const {devices, submitDeviceSelect, username} = useProvisionState(
C.useShallow(s => ({
devices: s.devices,
submitDeviceSelect: s.dispatch.submitDeviceSelect,
username: s.username,
}))
)
const waiting = C.Waiting.useAnyWaiting(C.waitingKeyProvision)
const navigateUp = C.useRouterState(s => s.dispatch.navigateUp)
const _onBack = navigateUp
Expand All @@ -19,7 +23,7 @@ const SelectOtherDeviceContainer = () => {
}

const onSelect = (name: string) => {
if (!waiting) submitDeviceSelect?.(name)
if (!waiting) submitDeviceSelect(name)
}

return (
Expand Down
12 changes: 8 additions & 4 deletions shared/provision/set-public-name.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,18 @@ import {SignupScreen, errorBanner} from '../signup/common'
import * as Provision from '@/stores/provision'

const SetPublicName = () => {
const devices = Provision.useProvisionState(s => s.devices)
const error = Provision.useProvisionState(s => s.error)
const {devices, error, submitDeviceName} = Provision.useProvisionState(
C.useShallow(s => ({
devices: s.devices,
error: s.session.prompt?.type === 'deviceName' ? s.session.prompt.error : '',
submitDeviceName: s.dispatch.submitDeviceName,
}))
)
const waiting = C.Waiting.useAnyWaiting(C.waitingKeyProvision)
const navigateUp = C.useRouterState(s => s.dispatch.navigateUp)
const ponBack = useSafeSubmit(navigateUp, !!error)
const psetDeviceName = Provision.useProvisionState(s => s.dispatch.dynamic.setDeviceName)
const ponSubmit = (name: string) => {
!waiting && psetDeviceName?.(name)
!waiting && submitDeviceName(name)
}
const deviceNumbers = devices
.filter(d => d.type === (C.isMobile ? 'mobile' : 'desktop'))
Expand Down
11 changes: 5 additions & 6 deletions shared/provision/username-or-email.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,10 @@ const decodeInlineError = (inlineRPCError: RPCError | undefined) => {
const UsernameOrEmailContainer = (op: OwnProps) => {
const _resetBannerUser = AutoReset.useAutoResetState(s => s.username)
const resetBannerUser = op.fromReset ? _resetBannerUser : undefined
const _error = useProvisionState(s => s.error)
const {inlineError, inlineSignUpLink} = useProvisionState(
C.useShallow(s => decodeInlineError(s.inlineError))
)
const error = _error ? _error : inlineError && !inlineSignUpLink ? inlineError : ''
const error = inlineError && !inlineSignUpLink ? inlineError : ''
// So we can clear the error if the name is changed
const _username = useProvisionState(s => s.username)
const waiting = C.Waiting.useAnyWaiting(C.waitingKeyProvision)
Expand All @@ -52,16 +51,16 @@ const UsernameOrEmailContainer = (op: OwnProps) => {
const onForgotUsername = () => navigateAppend('forgotUsername')
const requestAutoInvite = useSignupState(s => s.dispatch.requestAutoInvite)
const _onGoToSignup = requestAutoInvite
const _setUsername = useProvisionState(s => s.dispatch.dynamic.setUsername)
const submitUsername = useProvisionState(s => s.dispatch.submitUsername)
const _onSubmit = (username: string) => {
!waiting && _setUsername?.(username)
!waiting && submitUsername(username)
}
const [username, setUsername] = React.useState(op.username ?? _username)
React.useEffect(() => {
if (op.username && op.username !== _username) {
_setUsername?.(op.username)
submitUsername(op.username)
}
}, [op.username, _username, _setUsername])
}, [op.username, _username, submitUsername])
const onSubmit = () => {
_onSubmit(username)
}
Expand Down
Loading