import { useSelector } from "react-redux"; import PaymentInformation from "../../components/PaymentInformation"; import styles from "./styles.module.scss"; import { selectors } from "@/store"; import { getFormattedPrice } from "@/utils/price.utils"; import Guarantees from "../../components/Guarantees"; import Button from "../../components/Button"; import PaymentModal from "../../components/PaymentModal"; import { useEffect, useState } from "react"; import { useNavigate, useSearchParams } from "react-router-dom"; import routes from "@/routes"; import { addCurrency, ELocalesPlacement } from "@/locales"; import { useTranslations } from "@/hooks/translations"; import Stars from "../../components/Stars"; function Payment() { const { translate } = useTranslations(ELocalesPlacement.PalmistryV1); const navigate = useNavigate(); const activeProductFromStore = useSelector(selectors.selectActiveProduct); const currency = useSelector(selectors.selectCurrency); const trialPrice = activeProductFromStore?.trialPrice || 0; const fullPrice = activeProductFromStore?.price || 0; const [isShowPaymentModal, setIsShowPaymentModal] = useState(false); const [searchParams] = useSearchParams(); const subscriptionStatus = searchParams.get("redirect_status") === "succeeded" ? "subscribed" : "lead"; const showModal = () => { setIsShowPaymentModal(true); }; useEffect(() => { if (subscriptionStatus !== "subscribed") return; const timer = setTimeout(() => { navigate(routes.client.skipTrial()); }, 1500); return () => clearTimeout(timer); }, [navigate, subscriptionStatus]); return ( <>

{translate("/payment.app_number_one", { color: {translate("/payment.app_number_one_color")}, })}

{translate("/payment.will_be_charged", { trialPrice: addCurrency(getFormattedPrice(trialPrice), currency), fullPrice: ( {addCurrency(getFormattedPrice(fullPrice), currency)} ), save: addCurrency( getFormattedPrice(fullPrice - trialPrice), currency ), emailReminder: ( {translate("/payment.will_be_charged_email_reminder")} ), trialInfo: ( {translate("/payment.will_be_charged_trial_info", { trialDuration: activeProductFromStore?.trialDuration, trialPrice: addCurrency( getFormattedPrice(trialPrice), currency ), })} ), })}
{!isShowPaymentModal && subscriptionStatus !== "subscribed" && ( )} ); } export default Payment;