feature/IO-3182-Phone-Number-Consent - Checkpoint
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { LoadingOutlined, SendOutlined } from "@ant-design/icons";
|
||||
import { Input, Spin, Alert } from "antd";
|
||||
import { Alert, Input, Spin } from "antd";
|
||||
import React, { useEffect, useRef, useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { connect } from "react-redux";
|
||||
@@ -12,7 +12,6 @@ import ChatMediaSelector from "../chat-media-selector/chat-media-selector.compon
|
||||
import ChatPresetsComponent from "../chat-presets/chat-presets.component";
|
||||
import { useQuery } from "@apollo/client";
|
||||
import { GET_PHONE_NUMBER_CONSENT } from "../../graphql/consent.queries";
|
||||
import AlertComponent from "../alert/alert.component";
|
||||
import { phone } from "phone";
|
||||
|
||||
const mapStateToProps = createStructuredSelector({
|
||||
@@ -31,15 +30,13 @@ function ChatSendMessageComponent({ conversation, bodyshop, sendMessage, isSendi
|
||||
const [selectedMedia, setSelectedMedia] = useState([]);
|
||||
const { t } = useTranslation();
|
||||
|
||||
const enforceConsent = bodyshop?.enforce_sms_consent ?? false;
|
||||
|
||||
const normalizedPhone = phone(conversation.phone_num, "CA").phoneNumber.replace(/^\+1/, "");
|
||||
const { data: consentData } = useQuery(GET_PHONE_NUMBER_CONSENT, {
|
||||
variables: { bodyshopid: bodyshop.id, phone_number: normalizedPhone },
|
||||
fetchPolicy: "cache-and-network",
|
||||
skip: !enforceConsent
|
||||
fetchPolicy: "cache-and-network"
|
||||
});
|
||||
const isConsented = enforceConsent ? (consentData?.phone_number_consent?.[0]?.consent_status ?? false) : true;
|
||||
|
||||
const isConsented = consentData?.phone_number_consent?.[0]?.consent_status ?? false;
|
||||
|
||||
useEffect(() => {
|
||||
inputArea.current.focus();
|
||||
@@ -72,9 +69,7 @@ function ChatSendMessageComponent({ conversation, bodyshop, sendMessage, isSendi
|
||||
|
||||
return (
|
||||
<div className="imex-flex-row" style={{ width: "100%" }}>
|
||||
{enforceConsent && !isConsented && (
|
||||
<Alert message={t("messaging.errors.no_consent")} type="warning" style={{ marginBottom: 8 }} />
|
||||
)}
|
||||
{!isConsented && <Alert message={t("messaging.errors.no_consent")} type="warning" style={{ marginBottom: 8 }} />}
|
||||
<ChatPresetsComponent className="imex-flex-row__margin" />
|
||||
<ChatMediaSelector
|
||||
conversation={conversation}
|
||||
|
||||
Reference in New Issue
Block a user