/** * Copyright 2022 Design Barn Inc. */ import { Appearance, Size, TextColor } from '@lottiefiles/react-ui-kit'; import { CheckboxControl } from '@wordpress/components'; import { useReducer, useState } from '@wordpress/element'; import * as React from 'react'; import { Button } from '../../../../_components'; import { ISettingsProps } from '../../interfaces'; import { IHNResponseProps, ISettingReducerProps, IStateProps, onUpdateSettings, settingReducer } from '../../reducer'; export const Settings: React.FC = ({ onDeleteSettings, settings, updateSettings }: ISettingsProps) => { const [state, dispatch] = useReducer( settingReducer, { settings, }, // eslint-disable-next-line no-undefined undefined, ); const [isLoading, setIsLoading] = useState(false); const onChange = (newData: IHNResponseProps): void => { dispatch(onUpdateSettings({ settings: { ...state.settings, ...newData } })); }; const onSave = async (): Promise => { setIsLoading(() => true); await updateSettings({ ...state.settings }); setIsLoading(() => false); window.location.reload(); }; return (

Settings

Logged In as {settings.userData?.name}{' '} => onDeleteSettings(state.settings?.userData.id)}> (Logout)

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

Usage data sharing

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

All data collected will be treated in accordance with{' '} LottieFiles’ Privacy Policy.

); };