BOD-35 Refactored email screen to use TinyMCE + added templates schema + base level email generation
This commit is contained in:
@@ -5,14 +5,13 @@ const INITIAL_STATE = {
|
||||
messageOptions: {
|
||||
from: { name: "ShopName", address: "noreply@bodyshop.app" },
|
||||
to: null,
|
||||
replyTo: null
|
||||
replyTo: null,
|
||||
},
|
||||
template: null,
|
||||
queryConfig: [null, { variables: null }]
|
||||
template: { name: null, variables: {} },
|
||||
},
|
||||
|
||||
visible: false,
|
||||
error: null
|
||||
error: null,
|
||||
};
|
||||
|
||||
const emailReducer = (state = INITIAL_STATE, action) => {
|
||||
@@ -20,13 +19,13 @@ const emailReducer = (state = INITIAL_STATE, action) => {
|
||||
case EmailActionTypes.TOGGLE_EMAIL_OVERLAY_VISIBLE:
|
||||
return {
|
||||
...state,
|
||||
visible: !state.visible
|
||||
visible: !state.visible,
|
||||
};
|
||||
case EmailActionTypes.SET_EMAIL_OPTIONS:
|
||||
return {
|
||||
...state,
|
||||
emailConfig: { ...action.payload },
|
||||
visible: true
|
||||
visible: true,
|
||||
};
|
||||
default:
|
||||
return state;
|
||||
|
||||
@@ -1,25 +1,19 @@
|
||||
import { createSelector } from "reselect";
|
||||
|
||||
const selectEmail = state => state.email;
|
||||
const selectEmailConfigMessageOptions = state =>
|
||||
const selectEmail = (state) => state.email;
|
||||
const selectEmailConfigMessageOptions = (state) =>
|
||||
state.email.emailConfig.messageOptions;
|
||||
const selectEmailConfigTemplate = state => state.email.emailConfig.template;
|
||||
const selectEmailConfigQuery = state => state.email.emailConfig.queryConfig;
|
||||
const selectEmailConfigTemplate = (state) => state.email.emailConfig.template;
|
||||
|
||||
export const selectEmailVisible = createSelector(
|
||||
[selectEmail],
|
||||
email => email.visible
|
||||
(email) => email.visible
|
||||
);
|
||||
|
||||
export const selectEmailConfig = createSelector(
|
||||
[
|
||||
selectEmailConfigMessageOptions,
|
||||
selectEmailConfigTemplate,
|
||||
selectEmailConfigQuery
|
||||
],
|
||||
(messageOptions, template, queryConfig) => ({
|
||||
[selectEmailConfigMessageOptions, selectEmailConfigTemplate],
|
||||
(messageOptions, template) => ({
|
||||
messageOptions,
|
||||
template,
|
||||
queryConfig
|
||||
})
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user