3b23f09bed
remove previous changes,keep syncpref in wallet, change anon wallet pref key to local sync choices wip dont relocate syncenable setting bump no prefs on web unauth bugfix redux bump pull after sync change bump
58 lines
1.4 KiB
JavaScript
58 lines
1.4 KiB
JavaScript
// @flow
|
|
import * as PAGES from 'constants/pages';
|
|
import * as MODALS from 'constants/modal_types';
|
|
import React from 'react';
|
|
import Button from 'component/button';
|
|
import { withRouter } from 'react-router';
|
|
import { FormField } from 'component/common/form';
|
|
|
|
type Props = {
|
|
setSyncEnabled: boolean => void,
|
|
syncEnabled: boolean,
|
|
verifiedEmail: ?string,
|
|
history: { push: string => void },
|
|
location: UrlLocation,
|
|
getSyncError: ?string,
|
|
disabled: boolean,
|
|
openModal: (string, any) => void,
|
|
};
|
|
|
|
function SyncToggle(props: Props) {
|
|
const {
|
|
verifiedEmail,
|
|
getSyncError,
|
|
history,
|
|
location: { pathname },
|
|
openModal,
|
|
syncEnabled,
|
|
disabled,
|
|
} = props;
|
|
|
|
if (getSyncError) {
|
|
history.push(`/$/${PAGES.AUTH}?redirect=${pathname}&immediate=true`);
|
|
return null;
|
|
}
|
|
|
|
return (
|
|
<div>
|
|
{!verifiedEmail ? (
|
|
<div>
|
|
<Button requiresAuth button="primary" label={__('Add Email')} />
|
|
<p className="help">{__('An email address is required to sync your account.')}</p>
|
|
</div>
|
|
) : (
|
|
<FormField
|
|
type="checkbox"
|
|
name="sync_toggle"
|
|
label={__('Sync your balance and preferences across devices.')}
|
|
checked={syncEnabled}
|
|
onChange={() => openModal(MODALS.SYNC_ENABLE, { mode: syncEnabled ? 'disable' : 'enable' })}
|
|
disabled={disabled}
|
|
/>
|
|
)}
|
|
</div>
|
|
);
|
|
}
|
|
|
|
export default withRouter(SyncToggle);
|