/** * Copyright 2022 Design Barn Inc. */ import { useTracker } from '@context/tracker-provider'; import { URLS } from '@helpers/consts'; import { eventsConst } from '@lottiefiles/plugin-tracker'; import { CheckboxControl } from '@wordpress/components'; import { useReducer, useState } from '@wordpress/element'; import * as React from 'react'; import { LoginAuto } from '../../../../components/login-auto'; import { LottieProvider } from '../../../../context/lottie-provider'; import { ISetupProps } from '../../interfaces'; import { IHNResponseProps, ISettingReducerProps, IStateProps, IUserDataProps, onUpdateSettings, settingReducer, } from '../../reducer'; export const Setup: React.FC = ({ onSaveSettings, settings }: ISetupProps) => { const [state, dispatch] = useReducer( settingReducer, { isLoading: false, settings, }, // eslint-disable-next-line no-undefined undefined, ); const [isLoading, setIsLoading] = useState(false); const tracker = useTracker(); const onChange = (newData: IHNResponseProps): void => { dispatch(onUpdateSettings({ settings: { ...state.settings, ...newData } })); }; const onSuccess = async (data: IUserDataProps): void => { setIsLoading(() => true); onChange({ userData: data }); await onSaveSettings({ ...state.settings, userData: { ...data } }); setIsLoading(() => false); }; return (

Set up your LottieFiles plugin

Log in with your LottieFiles account to access the world’s largest collection of free-to-use animations on your website.

onChange({ enableCdn: !state.settings.enableCdn })} /> onChange({ shareUserData: !state.settings.shareUserData })} />

Your data will be kept safely under LottieFiles’{' '} Privacy Policy.

{ setIsLoading({ isLoading: true }); }} onSuccess={onSuccess} onError={(): void => { /** */ console.log('error'); }} /> {!isLoading && ( { tracker.pluginTracking({ eventType: eventsConst.click.signup, }); window.open(URLS.register, '_blank'); }} className="create-account lf-m-2 lf-cursor-pointer" > Create an account for free )}
); };