diff --git a/client/src/components/_test/test.component.jsx b/client/src/components/_test/test.component.jsx index 033f0ed3f..0bb67cb5a 100644 --- a/client/src/components/_test/test.component.jsx +++ b/client/src/components/_test/test.component.jsx @@ -2,8 +2,10 @@ import React from "react"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { setEmailOptions } from "../../redux/email/email.actions"; -import T from "../../emails/parts-order/parts-order.email"; -import { REPORT_QUERY_PARTS_ORDER_BY_PK } from "../../emails/parts-order/parts-order.query"; +import T, { + Subject +} from "../../emails/templates/appointment-confirmation/appointment-confirmation.template"; +import { EMAIL_APPOINTMENT_CONFIRMATION } from "../../emails/templates/appointment-confirmation/appointment-confirmation.query"; const mapStateToProps = createStructuredSelector({ //currentUser: selectCurrentUser @@ -20,17 +22,19 @@ export default connect( onClick={() => setEmailOptions({ messageOptions: { - from: { name: "Kavia Autobdoy", address: "noreply@bodyshop.app" }, + from: { name: "Kavia Autobody", address: "noreply@bodyshop.app" }, to: "patrickwf@gmail.com", - replyTo: "snaptsoft@gmail.com" + replyTo: "snaptsoft@gmail.com", + subject: Subject }, template: T, queryConfig: [ - REPORT_QUERY_PARTS_ORDER_BY_PK, - { variables: { id: "46f3aa34-c3bd-46c8-83fc-c93b7ce84f46" } } + EMAIL_APPOINTMENT_CONFIRMATION, + { variables: { id: "91bb31dd-ea87-4cfc-bbe2-2ec754dcb861" } } ] }) - }> + } + > Set email config. ); diff --git a/client/src/components/email-overlay/email-overlay.component.jsx b/client/src/components/email-overlay/email-overlay.component.jsx index a2e10aa37..950ae509a 100644 --- a/client/src/components/email-overlay/email-overlay.component.jsx +++ b/client/src/components/email-overlay/email-overlay.component.jsx @@ -13,19 +13,19 @@ export default function EmailOverlayComponent({ CC Subject + ); diff --git a/client/src/components/email-overlay/email-setup.md b/client/src/components/email-overlay/email-setup.md new file mode 100644 index 000000000..e69de29bb diff --git a/client/src/components/parts-order-modal/parts-order-modal.container.jsx b/client/src/components/parts-order-modal/parts-order-modal.container.jsx index 24c991a2b..b1c7a9082 100644 --- a/client/src/components/parts-order-modal/parts-order-modal.container.jsx +++ b/client/src/components/parts-order-modal/parts-order-modal.container.jsx @@ -18,8 +18,8 @@ import { setEmailOptions, toggleEmailOverlayVisible } from "../../redux/email/email.actions"; -import PartsOrderEmailTemplate from "../../emails/parts-order/parts-order.email"; -import { REPORT_QUERY_PARTS_ORDER_BY_PK } from "../../emails/parts-order/parts-order.query"; +import PartsOrderEmailTemplate from "../../emails/templates/parts-order/parts-order.email"; +import { REPORT_QUERY_PARTS_ORDER_BY_PK } from "../../emails/templates/parts-order/parts-order.query"; const mapStateToProps = createStructuredSelector({ currentUser: selectCurrentUser, @@ -131,7 +131,7 @@ export default connect( if (sendType === "e") { //Show the email modal and set the data. - //TODO Remove some of the options below. + //TODO Remove hardcoding setEmailOptions({ messageOptions: { from: { @@ -151,7 +151,7 @@ export default connect( } ] }); - toggleEmailOverlayVisible(); + //toggleEmailOverlayVisible(); } }) .catch(error => { @@ -173,8 +173,9 @@ export default connect( setModalVisible(false)} - onOk={handleOk}> - {error ? : null} + onOk={handleOk} + > + {error ? : null} +
+ Appointment Reminder +

Dear {`${appointment.job.ownr_fn} ${appointment.job.ownr_ln}`},

+

+ You have an appointment at {data.bodyshops[0].shopname} on{" "} + {appointment.start}. +

+

Thank you from the team at {data.bodyshops[0].shopname}

+ + ); +} diff --git a/client/src/emails/parts-order/parts-order.email.jsx b/client/src/emails/templates/parts-order/parts-order.email.jsx similarity index 94% rename from client/src/emails/parts-order/parts-order.email.jsx rename to client/src/emails/templates/parts-order/parts-order.email.jsx index 91c5b5e91..88f0b7d14 100644 --- a/client/src/emails/parts-order/parts-order.email.jsx +++ b/client/src/emails/templates/parts-order/parts-order.email.jsx @@ -1,6 +1,6 @@ import React from "react"; import styled from "styled-components"; -import Header from "../components/header/header.component"; +import Header from "../../components/header/header.component"; const D = styled.div` table { diff --git a/client/src/emails/parts-order/parts-order.query.js b/client/src/emails/templates/parts-order/parts-order.query.js similarity index 72% rename from client/src/emails/parts-order/parts-order.query.js rename to client/src/emails/templates/parts-order/parts-order.query.js index 77ca87c13..97ec5eaff 100644 --- a/client/src/emails/parts-order/parts-order.query.js +++ b/client/src/emails/templates/parts-order/parts-order.query.js @@ -1,4 +1,5 @@ import { gql } from "apollo-boost"; +import { shopAttributes } from "../../components/fragments.queries"; export const REPORT_QUERY_PARTS_ORDER_BY_PK = gql` query REPORT_QUERY_PARTS_ORDER_BY_PK($id: uuid!) { @@ -29,17 +30,7 @@ export const REPORT_QUERY_PARTS_ORDER_BY_PK = gql` status user_email } - bodyshops(where: { associations: { active: { _eq: true } } }) { - id - address1 - address2 - city - email - federal_tax_id - state - shopname - zip_post - logo_img_path - } + ...shopData } + ${shopAttributes} `; diff --git a/client/src/pages/manage-root/manage-root.page.component.jsx b/client/src/pages/manage-root/manage-root.page.component.jsx index 2dec148d4..75b4f4c43 100644 --- a/client/src/pages/manage-root/manage-root.page.component.jsx +++ b/client/src/pages/manage-root/manage-root.page.component.jsx @@ -1,10 +1,11 @@ import React from "react"; import DashboardGridComponent from "../../components/dashboard-grid/dashboard-grid.component"; - +import Test from "../../components/_test/test.component"; export default function ManageRootPageComponent() { //const client = useApolloClient(); return (
+ { // { case EmailActionTypes.SET_EMAIL_OPTIONS: return { ...state, - emailConfig: { ...action.payload } + emailConfig: { ...action.payload }, + visible: true }; default: return state;