mirror of
https://github.com/LBRYFoundation/lbry-desktop.git
synced 2025-08-23 17:47:24 +00:00
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
57 lines
1.4 KiB
JavaScript
57 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);
|