"use client"; import { useState } from "react"; import Image from "next/image"; import { useRouter } from "next/navigation"; import { useTranslations } from "next-intl"; import { Offer, RetainingButton } from "@/components/domains/retaining"; import { EyeSvg } from "@/components/domains/retaining/images"; import { Spinner } from "@/components/ui"; import { BlurComponent } from "@/components/widgets"; import { useLottie } from "@/hooks/lottie/useLottie"; import { ROUTES } from "@/shared/constants/client-routes"; import { retainingImages } from "@/shared/constants/images/retaining"; import { ELottieKeys } from "@/shared/constants/lottie"; import { ERetainingFunnel } from "@/types"; import styles from "./SecondChancePage.module.scss"; export default function SecondChancePage() { const router = useRouter(); const t = useTranslations("SecondChance"); useLottie({ preloadKey: ELottieKeys.loaderCheckMark2, }); useLottie({ preloadKey: ELottieKeys.confetti, }); const [activeOffer, setActiveOffer] = useState<"pause_30" | "free_chat_30">( "pause_30" ); const [isLoadingButton, setIsLoadingButton] = useState(false); // const retainingFunnel = useSelector(selectors.selectRetainingFunnel); // const token = useSelector(selectors.selectToken); // const cancellingSubscriptionId = useSelector(selectors.selectCancellingSubscriptionId); const retainingFunnel = ERetainingFunnel.Red; const handleOfferClick = (offer: "pause_30" | "free_chat_30") => { if (isLoadingButton) return; setActiveOffer(offer); }; const handleGetOfferClick = async () => { if (isLoadingButton) return; setIsLoadingButton(true); // const response = await api.userSubscriptionAction({ // subscriptionId: cancellingSubscriptionId, // action: activeOffer, // token // }); // if (response.status === "success") { // navigate(routes.client.retainingFunnelPlanCancelled()); // } }; const handleCancelClick = () => { if (isLoadingButton) return; if (retainingFunnel === ERetainingFunnel.Red) { router.push(ROUTES.retainingFunnelChangeMind()); } // if (retainingFunnel === ERetainingFunnel.Green) { // return navigate(routes.client.retainingFunnelCancellationOfSubscription()); // } // if (retainingFunnel === ERetainingFunnel.Purple) { // return navigate(routes.client.retainingFunnelStopFor30Days()); }; return ( <>

})} description={t("offers.1.description")} oldPrice={t("offers.1.old-price")} newPrice={t("offers.1.new-price")} onClick={() => handleOfferClick("pause_30")} active={activeOffer === "pause_30"} image={} /> handleOfferClick("free_chat_30")} active={activeOffer === "free_chat_30"} image={ // vip member vip member } />
{isLoadingButton && (
)} {t("get_offer")}
{t("cancel")} ); }