Files
frontend-app-learner-dashboard/src/containers/EmailSettingsModal/hooks.js
2023-01-19 10:13:48 -05:00

33 lines
764 B
JavaScript

import React from 'react';
import { StrictDict } from 'utils';
import { reduxHooks, apiHooks } from 'hooks';
import * as module from './hooks';
export const state = StrictDict({
toggle: (val) => React.useState(val), // eslint-disable-line
});
export const useEmailData = ({
closeModal,
cardId,
}) => {
const { hasOptedOutOfEmail } = reduxHooks.useCardEnrollmentData(cardId);
const [isOptedOut, setIsOptedOut] = module.state.toggle(hasOptedOutOfEmail);
const updateEmailSettings = apiHooks.useUpdateEmailSettings(cardId);
const onToggle = () => setIsOptedOut(!isOptedOut);
const save = () => {
updateEmailSettings(!isOptedOut);
closeModal();
};
return {
onToggle,
save,
isOptedOut,
};
};
export default useEmailData;