Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | 59x 209x 209x 73x 73x 63x 61x 2x 209x 209x 73x 209x 209x | import { TMerchantAgreementPayload } from "@components/Merchants/CreateMerchantPanel/hooks/TMerchantAgreementPayload";
import { useMemo } from "react";
import { AgreementState, StatusInfo } from "../agreements.types";
import moment from "moment";
import { PLATFORM_TIMEZONE } from "@utils/timezones";
export const useGetAgreementData = (data?: TMerchantAgreementPayload) => {
const {
msaHadAgreed,
msaLastAcceptedVersion,
tcVersion = "1.1.5",
msaLastAcceptedAt,
msaLastUpdatedAt,
signedBy,
signatureURL,
msaPreviousTermination,
msaPreviousTerminationAt,
msaPreviousTerminationReason,
msaPreviousTerminationProcessorName,
} = data || {};
const status = useMemo<AgreementState>(() => {
const isCorrectVersion = msaLastAcceptedVersion === tcVersion;
if (msaHadAgreed && isCorrectVersion) return "signed";
if ((!msaHadAgreed && isCorrectVersion) || !msaLastAcceptedVersion)
return "not_signed";
return "newVersion";
}, [msaHadAgreed, msaLastAcceptedVersion, tcVersion]);
const updateDate = msaLastAcceptedAt || msaLastUpdatedAt;
const signedOn = useMemo(
() => (updateDate ? moment.unix(updateDate).tz(PLATFORM_TIMEZONE).format("MM/DD/YYYY") : null),
[updateDate],
);
const statusInfo: StatusInfo = {
status: status,
msaLastAcceptedVersion: msaLastAcceptedVersion,
tcVersion: tcVersion,
signedOn: signedOn,
signedBy: signedBy,
signatureURL: signatureURL,
msaPreviousTermination: msaPreviousTermination,
msaPreviousTerminationAt: msaPreviousTerminationAt,
msaPreviousTerminationReason: msaPreviousTerminationReason,
msaPreviousTerminationProcessorName: msaPreviousTerminationProcessorName,
};
return statusInfo;
};
|