diff --git a/src/components/Anonymous/pages/Payment/index.tsx b/src/components/Anonymous/pages/Payment/index.tsx
index 983cb6c..531878c 100644
--- a/src/components/Anonymous/pages/Payment/index.tsx
+++ b/src/components/Anonymous/pages/Payment/index.tsx
@@ -12,81 +12,83 @@ import { ELocalesPlacement } from "@/locales";
import { useFunnel } from "@/hooks/funnel/useFunnel";
function AnonymousPaymentPage() {
- const dispatch = useDispatch();
- const navigate = useNavigate();
- const { products } = useFunnel({
- funnel: ELocalesPlacement.EmailGenerator,
- paymentPlacement: "TODO:FUNNEL"
- });
- const activeProduct = products[0];
- const activeProductFromStore = useSelector(selectors.selectActiveProduct)
- const { session, createSession } = useSession();
- const utm = useSelector(selectors.selectUTM);
- const feature = useSelector(selectors.selectFeature);
- const [isParametersInitialized, setIsParametersInitialized] = useState(false);
+ const dispatch = useDispatch();
+ const navigate = useNavigate();
+ const { products } = useFunnel({
+ funnel: ELocalesPlacement.EmailGenerator,
+ paymentPlacement: "TODO:FUNNEL",
+ });
+ const activeProduct = products[0];
+ const activeProductFromStore = useSelector(selectors.selectActiveProduct);
+ const { session, createSession } = useSession();
+ const utm = useSelector(selectors.selectUTM);
+ const feature = useSelector(selectors.selectFeature);
+ const [isParametersInitialized, setIsParametersInitialized] = useState(false);
- const location = useLocation();
+ const location = useLocation();
- useEffect(() => {
- const _feature = location.pathname.replace(
- routes.client.anonymousPayment(),
- ""
- );
- dispatch(
- actions.userConfig.setFeature(
- _feature.includes("/v1/gender") ? "" : _feature
- )
- );
- dispatch(actions.privacyPolicy.updateChecked(true))
- }, [dispatch, location.pathname]);
+ useEffect(() => {
+ const _feature = location.pathname.replace(
+ routes.client.anonymousPayment(),
+ ""
+ );
+ dispatch(
+ actions.userConfig.setFeature(
+ _feature.includes("/v1/gender") ? "" : _feature
+ )
+ );
+ dispatch(actions.privacyPolicy.updateChecked(true));
+ }, [dispatch, location.pathname]);
- useEffect(() => {
- if (!isParametersInitialized) {
- return setIsParametersInitialized(true);
- }
- (async () => {
- await createSession(ESourceAuthorization["aura.test.payment"])
- })()
- }, [utm, feature, isParametersInitialized])
-
- useEffect(() => {
- if (!!activeProduct) {
- dispatch(actions.payment.update({
- activeProduct
- }))
- }
- }, [activeProduct]);
-
- function onPaymentError(error?: string | undefined): void {
- if (error === "Product not found") {
- return navigate(routes.client.compatibilityV2TrialChoice());
- }
+ useEffect(() => {
+ if (!isParametersInitialized) {
+ return setIsParametersInitialized(true);
}
+ (async () => {
+ await createSession(ESourceAuthorization["aura.test.payment"]);
+ })();
+ }, [utm, feature, isParametersInitialized]);
- function onPaymentSuccess(): void {
- setTimeout(() => {
- navigate(routes.client.home());
- }, 1500);
+ useEffect(() => {
+ if (!!activeProduct) {
+ dispatch(
+ actions.payment.update({
+ activeProduct,
+ })
+ );
}
+ }, [activeProduct]);
- return (
-
- {!!activeProductFromStore && session?.["aura.test.payment"]?.length ?
-
- :
-
- }
-
- )
+ function onPaymentError(error?: string | null): void {
+ if (error === "Product not found") {
+ return navigate(routes.client.compatibilityV2TrialChoice());
+ }
+ }
+
+ function onPaymentSuccess(): void {
+ setTimeout(() => {
+ navigate(routes.client.home());
+ }, 1500);
+ }
+
+ return (
+
+ {!!activeProductFromStore && session?.["aura.test.payment"]?.length ? (
+
+ ) : (
+
+ )}
+
+ );
}
-export default AnonymousPaymentPage
\ No newline at end of file
+export default AnonymousPaymentPage;
diff --git a/src/components/Payment/nmi/CheckoutForm/index.tsx b/src/components/Payment/nmi/CheckoutForm/index.tsx
index e5fc3ad..f175d8a 100644
--- a/src/components/Payment/nmi/CheckoutForm/index.tsx
+++ b/src/components/Payment/nmi/CheckoutForm/index.tsx
@@ -22,7 +22,7 @@ interface ICheckoutFormProps {
funnel: ELocalesPlacement;
paymentPlacement: string;
onSuccess?: () => void;
- onError?: (error?: string) => void;
+ onError?: (error?: string | null) => void;
onModalClosed?: () => void;
}
@@ -66,14 +66,15 @@ export default function CheckoutForm({
});
useEffect(() => {
- if (error && onError) {
- console.log(error);
- if (error === "card_type_error") {
- return setIsCardTypeError(true);
- }
-
- onError(error);
+ // if (error) {
+ console.log(error);
+ if (error === "card_type_error") {
+ return setIsCardTypeError(true);
+ } else {
+ setIsCardTypeError(false);
}
+ onError?.(error);
+ // }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [error]);
diff --git a/src/components/Payment/nmi/PaymentForm/index.tsx b/src/components/Payment/nmi/PaymentForm/index.tsx
index 8812379..5b3b656 100644
--- a/src/components/Payment/nmi/PaymentForm/index.tsx
+++ b/src/components/Payment/nmi/PaymentForm/index.tsx
@@ -11,103 +11,109 @@ import { EPaymentMethod } from "@/data/paymentMethods";
import { IFunnelPaymentVariant } from "@/api/resources/Session";
const getPrice = (product: IFunnelPaymentVariant | null) => {
- if (!product) {
- return 0;
- }
- return (product.trialPrice || 0) / 100;
-}
+ if (!product) {
+ return 0;
+ }
+ return (product.trialPrice || 0) / 100;
+};
interface IPaymentFormProps {
- isSinglePayment?: boolean;
- className?: string;
- funnel: ELocalesPlacement;
- paymentPlacement: string;
- trialInterval: number;
- onPaymentError?: (error?: string) => void;
- onPaymentSuccess?: () => void;
- onModalClosed?: () => void;
+ isSinglePayment?: boolean;
+ className?: string;
+ funnel: ELocalesPlacement;
+ paymentPlacement: string;
+ trialInterval: number;
+ onPaymentError?: (error?: string | null) => void;
+ onPaymentSuccess?: () => void;
+ onModalClosed?: () => void;
}
function PaymentForm({
- isSinglePayment = false,
- className,
- funnel,
- paymentPlacement,
- trialInterval,
- onPaymentError,
- onPaymentSuccess,
- onModalClosed
+ isSinglePayment = false,
+ className,
+ funnel,
+ paymentPlacement,
+ trialInterval,
+ onPaymentError,
+ onPaymentSuccess,
+ onModalClosed,
}: IPaymentFormProps) {
- const { translate } = useTranslations(ELocalesPlacement.V1);
- const currency = useSelector(selectors.selectCurrency);
- const activeProduct = useSelector(selectors.selectActiveProduct);
+ const { translate } = useTranslations(ELocalesPlacement.V1);
+ const currency = useSelector(selectors.selectCurrency);
+ const activeProduct = useSelector(selectors.selectActiveProduct);
- const isLoading = false;
+ const isLoading = false;
- const paymentMethodsButtons = [
- {
- id: EPaymentMethod.CREDIT_CARD,
- icon: "/payment-form/credit-card.svg",
- title: translate("payment_modal.credit_card")
- }
- ]
+ const paymentMethodsButtons = [
+ {
+ id: EPaymentMethod.CREDIT_CARD,
+ icon: "/payment-form/credit-card.svg",
+ title: translate("payment_modal.credit_card"),
+ },
+ ];
- return (
- <>
- {isLoading && (
-
- )}
-
- {!isSinglePayment &&
- {translate("payment_modal.title")}
- }
-
{ }}
- />
- {!isSinglePayment && activeProduct && (
-
-
- {translate("payment_modal.description", {
- priceForDays: (
-
- {translate("payment_modal.price_for_days", {
- trialPrice: addCurrency(
- getPrice(activeProduct),
- currency
- ),
- trialDuration: trialInterval,
- })}
-
- ),
- emailReminder: (
- {translate("payment_modal.email_reminder")}
- ),
- })}
-
-
- )}
-
- {!!activeProduct && }
-
- {translate("payment_modal.address")}
-
- >
- )
+ return (
+ <>
+ {isLoading && (
+
+ )}
+
+ {!isSinglePayment && (
+
+ {translate("payment_modal.title")}
+
+ )}
+
{}}
+ />
+ {!isSinglePayment && activeProduct && (
+
+
+ {translate("payment_modal.description", {
+ priceForDays: (
+
+ {translate("payment_modal.price_for_days", {
+ trialPrice: addCurrency(
+ getPrice(activeProduct),
+ currency
+ ),
+ trialDuration: trialInterval,
+ })}
+
+ ),
+ emailReminder: (
+ {translate("payment_modal.email_reminder")}
+ ),
+ })}
+
+
+ )}
+
+ {!!activeProduct && (
+
+ )}
+
+ {translate("payment_modal.address")}
+
+ >
+ );
}
-export default PaymentForm
\ No newline at end of file
+export default PaymentForm;
diff --git a/src/components/Payment/nmi/PaymentPage/index.tsx b/src/components/Payment/nmi/PaymentPage/index.tsx
index 16ec087..981f231 100644
--- a/src/components/Payment/nmi/PaymentPage/index.tsx
+++ b/src/components/Payment/nmi/PaymentPage/index.tsx
@@ -28,7 +28,7 @@ interface IPaymentPageProps {
sessionId?: string;
funnel: ELocalesPlacement;
paymentPlacement: string;
- onError?: (error?: string) => void;
+ onError?: (error?: string | null) => void;
onSuccess?: () => void;
onBack?: () => void;
onPopState?: () => void;
@@ -89,13 +89,17 @@ function PaymentPage({
},
];
- function onPaymentError(error?: string | undefined): void {
- setIsPaymentError(true);
- if (error !== "Product not found") {
- metricService.reachGoal(EGoals.PAYMENT_ERROR, [
- EMetrics.YANDEX,
- EMetrics.KLAVIYO,
- ]);
+ function onPaymentError(error?: string | null): void {
+ if (error) {
+ setIsPaymentError(true);
+ if (error !== "Product not found") {
+ metricService.reachGoal(EGoals.PAYMENT_ERROR, [
+ EMetrics.YANDEX,
+ EMetrics.KLAVIYO,
+ ]);
+ }
+ } else {
+ setIsPaymentError(false);
}
onError?.(error);
}
diff --git a/src/hooks/payment/nmi/usePayment.ts b/src/hooks/payment/nmi/usePayment.ts
index a8b0507..4b518fd 100644
--- a/src/hooks/payment/nmi/usePayment.ts
+++ b/src/hooks/payment/nmi/usePayment.ts
@@ -263,6 +263,7 @@ export const usePayment = ({
};
const submitInlineForm = (address?: AddressFields) => {
+ setError(null);
if (address) {
addressRef.current = address;
}
diff --git a/src/routerComponents/Compatibility/v2/index.tsx b/src/routerComponents/Compatibility/v2/index.tsx
index ce7d7b6..44ec408 100644
--- a/src/routerComponents/Compatibility/v2/index.tsx
+++ b/src/routerComponents/Compatibility/v2/index.tsx
@@ -59,12 +59,12 @@ function CompatibilityV2Routes() {
const { setTheme } = useTheme();
const { isReady, variant: darkThemeCompatibilityV2Variant } = useUnleash({
- flag: EUnleashFlags.darkThemeCompatibilityV2
- })
+ flag: EUnleashFlags.darkThemeCompatibilityV2,
+ });
const { funnelData } = useFunnel({
funnel: ELocalesPlacement.CompatibilityV2,
- paymentPlacement: ""
+ paymentPlacement: "",
});
const availablePaths = useMemo(() => {
@@ -95,7 +95,7 @@ function CompatibilityV2Routes() {
dispatch(actions.compatibilityV2.update({ fromRedesign: true }));
}, [dispatch]);
- function onPaymentError(error?: string | undefined): void {
+ function onPaymentError(error?: string | null): void {
if (error === "Product not found") {
return navigate(routes.client.compatibilityV2TrialChoice());
}
@@ -115,14 +115,18 @@ function CompatibilityV2Routes() {
function onPopState(): void {
if (!availablePaths.main_secret_discount) return;
if (
- document.location.toString() === `${window.location.origin}${routes.client.compatibilityV2Payment()}` ||
- document.location.toString() === `${window.location.origin}${routes.client.compatibilityV2TrialPayment()}`
+ document.location.toString() ===
+ `${window.location.origin}${routes.client.compatibilityV2Payment()}` ||
+ document.location.toString() ===
+ `${
+ window.location.origin
+ }${routes.client.compatibilityV2TrialPayment()}`
) {
navigate(routes.client.compatibilityV2SaveOff());
}
}
- function onPaymentErrorDiscount(error?: string | undefined): void {
+ function onPaymentErrorDiscount(error?: string | null): void {
if (error === "Product not found") {
return navigate(routes.client.compatibilityV2SecretDiscount());
}
@@ -140,20 +144,22 @@ function CompatibilityV2Routes() {
}
return () => {
setTheme(ESiteTheme.Light);
- }
- }, [darkThemeCompatibilityV2Variant])
+ };
+ }, [darkThemeCompatibilityV2Variant]);
if (!isReady) {
- return
-
-
+ return (
+
+
+
+ );
}
return (
@@ -171,19 +177,21 @@ function CompatibilityV2Routes() {
funnel={ELocalesPlacement.CompatibilityV2}
paymentPlacement="add_consultant"
nextRoute={
- availablePaths.add_guides ?
- routes.client.compatibilityV2AddGuides() :
- `${routes.client.getInformationPartner()}?path=back`
+ availablePaths.add_guides
+ ? routes.client.compatibilityV2AddGuides()
+ : `${routes.client.getInformationPartner()}?path=back`
}
/>
}
/>
}
+ element={
+
+ }
/>
@@ -196,23 +204,29 @@ function CompatibilityV2Routes() {
>
}
+ element={
+
+ }
/>
}
+ path={removePrefix(
+ routes.client.compatibilityV2SecretDiscountPaymentModal()
+ )}
+ element={
+
+ }
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
>
} />
@@ -329,7 +355,9 @@ function CompatibilityV2Routes() {
element={}
/>
}
/>
}
/>
diff --git a/src/routerComponents/Compatibility/v3/index.tsx b/src/routerComponents/Compatibility/v3/index.tsx
index 7d54448..9fc6ac5 100644
--- a/src/routerComponents/Compatibility/v3/index.tsx
+++ b/src/routerComponents/Compatibility/v3/index.tsx
@@ -57,7 +57,7 @@ function CompatibilityV3Routes() {
const { funnelData } = useFunnel({
funnel: ELocalesPlacement.CompatibilityV3,
- paymentPlacement: ""
+ paymentPlacement: "",
});
const availablePaths = useMemo(() => {
@@ -88,7 +88,7 @@ function CompatibilityV3Routes() {
dispatch(actions.compatibilityV3.update({ fromRedesign: true }));
}, [dispatch]);
- function onPaymentError(error?: string | undefined): void {
+ function onPaymentError(error?: string | null): void {
if (error === "Product not found") {
return navigate(routes.client.compatibilityV3TrialChoice());
}
@@ -108,14 +108,18 @@ function CompatibilityV3Routes() {
function onPopState(): void {
if (!availablePaths.main_secret_discount) return;
if (
- document.location.toString() === `${window.location.origin}${routes.client.compatibilityV3Payment()}` ||
- document.location.toString() === `${window.location.origin}${routes.client.compatibilityV3TrialPayment()}`
+ document.location.toString() ===
+ `${window.location.origin}${routes.client.compatibilityV3Payment()}` ||
+ document.location.toString() ===
+ `${
+ window.location.origin
+ }${routes.client.compatibilityV3TrialPayment()}`
) {
navigate(routes.client.compatibilityV3SaveOff());
}
}
- function onPaymentErrorDiscount(error?: string | undefined): void {
+ function onPaymentErrorDiscount(error?: string | null): void {
if (error === "Product not found") {
return navigate(routes.client.compatibilityV3SecretDiscount());
}
@@ -142,19 +146,21 @@ function CompatibilityV3Routes() {
funnel={ELocalesPlacement.CompatibilityV3}
paymentPlacement="add_consultant"
nextRoute={
- availablePaths.add_guides ?
- routes.client.compatibilityV3AddGuides() :
- `${routes.client.getInformationPartner()}?path=back`
+ availablePaths.add_guides
+ ? routes.client.compatibilityV3AddGuides()
+ : `${routes.client.getInformationPartner()}?path=back`
}
/>
}
/>
}
+ element={
+
+ }
/>
@@ -167,23 +173,29 @@ function CompatibilityV3Routes() {
>
}
+ element={
+
+ }
/>
}
+ path={removePrefix(
+ routes.client.compatibilityV3SecretDiscountPaymentModal()
+ )}
+ element={
+
+ }
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
>
} />
@@ -296,7 +320,9 @@ function CompatibilityV3Routes() {
element={}
/>
}
/>
}
/>
diff --git a/src/routerComponents/Compatibility/v4/index.tsx b/src/routerComponents/Compatibility/v4/index.tsx
index 5bd5def..bd6e7d7 100644
--- a/src/routerComponents/Compatibility/v4/index.tsx
+++ b/src/routerComponents/Compatibility/v4/index.tsx
@@ -82,7 +82,7 @@ function CompatibilityV4Routes() {
const { funnelData } = useFunnel({
funnel: ELocalesPlacement.CompatibilityV4,
- paymentPlacement: ""
+ paymentPlacement: "",
});
const availablePaths = useMemo(() => {
@@ -113,7 +113,7 @@ function CompatibilityV4Routes() {
dispatch(actions.compatibilityV4.update({ fromRedesign: true }));
}, [dispatch]);
- function onPaymentError(error?: string | undefined): void {
+ function onPaymentError(error?: string | null): void {
if (error === "Product not found") {
return navigate(routes.client.compatibilityV4TrialChoice());
}
@@ -133,14 +133,18 @@ function CompatibilityV4Routes() {
function onPopState(): void {
if (!availablePaths.main_secret_discount) return;
if (
- document.location.toString() === `${window.location.origin}${routes.client.compatibilityV4Payment()}` ||
- document.location.toString() === `${window.location.origin}${routes.client.compatibilityV4TrialPayment()}`
+ document.location.toString() ===
+ `${window.location.origin}${routes.client.compatibilityV4Payment()}` ||
+ document.location.toString() ===
+ `${
+ window.location.origin
+ }${routes.client.compatibilityV4TrialPayment()}`
) {
navigate(routes.client.compatibilityV4SaveOff());
}
}
- function onPaymentErrorDiscount(error?: string | undefined): void {
+ function onPaymentErrorDiscount(error?: string | null): void {
if (error === "Product not found") {
return navigate(routes.client.compatibilityV4SecretDiscount());
}
@@ -167,19 +171,21 @@ function CompatibilityV4Routes() {
funnel={ELocalesPlacement.CompatibilityV4}
paymentPlacement="add_consultant"
nextRoute={
- availablePaths.add_guides ?
- routes.client.compatibilityV4AddGuides() :
- `${routes.client.getInformationPartner()}?path=back`
+ availablePaths.add_guides
+ ? routes.client.compatibilityV4AddGuides()
+ : `${routes.client.getInformationPartner()}?path=back`
}
/>
}
/>
}
+ element={
+
+ }
/>
@@ -192,23 +198,29 @@ function CompatibilityV4Routes() {
>
}
+ element={
+
+ }
/>
}
+ path={removePrefix(
+ routes.client.compatibilityV4SecretDiscountPaymentModal()
+ )}
+ element={
+
+ }
/>
}
/>
}
/>
}>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
>
} />
@@ -445,7 +483,9 @@ function CompatibilityV4Routes() {
element={}
/>
}
/>
}
/>
diff --git a/src/routerComponents/MarketingLanding/v1/index.tsx b/src/routerComponents/MarketingLanding/v1/index.tsx
index 51ca4f9..a6049f4 100644
--- a/src/routerComponents/MarketingLanding/v1/index.tsx
+++ b/src/routerComponents/MarketingLanding/v1/index.tsx
@@ -19,119 +19,138 @@ import { ELocalesPlacement } from "@/locales";
const removePrefix = (path: string) => path.replace(emailMarketingV1Prefix, "");
function MarketingLandingV1Routes() {
- const navigate = useNavigate();
+ const navigate = useNavigate();
- function onPaymentError(error?: string | undefined): void {
- if (error === "Product not found") {
- return navigate(routes.client.emailMarketingV1SpecialOffer());
+ function onPaymentError(error?: string | null): void {
+ if (error === "Product not found") {
+ return navigate(routes.client.emailMarketingV1SpecialOffer());
+ }
+ }
+
+ function onPaymentSuccess(): void {
+ setTimeout(() => {
+ navigate(routes.client.emailMarketingV1SkipTrial());
+ }, 1500);
+ }
+
+ function onBack(): void {
+ navigate(routes.client.emailMarketingV1SaveOff());
+ }
+
+ function onPopState(): void {
+ if (
+ document.location.toString() ===
+ `${window.location.origin}${routes.client.emailMarketingV1SpecialOffer()}`
+ ) {
+ navigate(routes.client.emailMarketingV1SaveOff());
+ }
+ }
+
+ function onPaymentErrorDiscount(error?: string | null): void {
+ if (error === "Product not found") {
+ return navigate(routes.client.emailMarketingV1SecretDiscount());
+ }
+ }
+
+ function onPaymentSuccessDiscount(): void {
+ setTimeout(() => {
+ navigate(routes.client.emailMarketingV1SkipTrial());
+ }, 1500);
+ }
+
+ return (
+
+ }
+ />
+ }>
+ }>
+ }
+ />
+
+ }
+ />
+
+ }
+ />
+
+
+
}
- }
-
- function onPaymentSuccess(): void {
- setTimeout(() => {
- navigate(routes.client.emailMarketingV1SkipTrial());
- }, 1500);
- }
-
- function onBack(): void {
- navigate(routes.client.emailMarketingV1SaveOff());
- }
-
- function onPopState(): void {
- if (document.location.toString() === `${window.location.origin}${routes.client.emailMarketingV1SpecialOffer()}`) {
- navigate(routes.client.emailMarketingV1SaveOff());
- }
- }
-
- function onPaymentErrorDiscount(error?: string | undefined): void {
- if (error === "Product not found") {
- return navigate(routes.client.emailMarketingV1SecretDiscount());
- }
- }
-
- function onPaymentSuccessDiscount(): void {
- setTimeout(() => {
- navigate(routes.client.emailMarketingV1SkipTrial());
- }, 1500);
- }
-
- return (
-
- }
+ >
+
- }>
- }>
- }
- />
- }
- />
- }
- />
-
-
-
- }
- >
- }
- />
- }
- />
-
- }>
- }
- />
- }
- />
- }
- />
- }
- />
- } />
-
-
- );
+ }
+ />
+
+ }
+ />
+
+
+
+
+ }
+ >
+ }
+ />
+ }
+ />
+ }
+ />
+ }
+ />
+ } />
+
+
+ );
}
export default MarketingLandingV1Routes;
diff --git a/src/routerComponents/Palmistry/v1/index.tsx b/src/routerComponents/Palmistry/v1/index.tsx
index 14e88f8..bf48250 100644
--- a/src/routerComponents/Palmistry/v1/index.tsx
+++ b/src/routerComponents/Palmistry/v1/index.tsx
@@ -62,19 +62,19 @@ const availableUrlsDarkTheme = [
routes.client.palmistryV1Camera(),
routes.client.palmistryV1ScannedPhoto(),
routes.client.palmistryV1Email(),
-]
+];
function PalmistryV1Routes() {
const navigate = useNavigate();
const dispatch = useDispatch();
const { isReady, variant: darkThemePalmistryV1Variant } = useUnleash({
- flag: EUnleashFlags.darkThemePalmistryV1
- })
+ flag: EUnleashFlags.darkThemePalmistryV1,
+ });
const { funnelData } = useFunnel({
funnel: ELocalesPlacement.PalmistryV1,
- paymentPlacement: ""
+ paymentPlacement: "",
});
const availablePaths = useMemo(() => {
@@ -105,7 +105,7 @@ function PalmistryV1Routes() {
dispatch(actions.palmistry.update({ fromRedesign: true }));
}, [dispatch]);
- function onPaymentError(error?: string | undefined): void {
+ function onPaymentError(error?: string | null): void {
if (error === "Product not found") {
return navigate(routes.client.palmistryV1TrialChoice());
}
@@ -125,14 +125,16 @@ function PalmistryV1Routes() {
function onPopState(): void {
if (!availablePaths.main_secret_discount) return;
if (
- document.location.toString() === `${window.location.origin}${routes.client.palmistryV1Payment()}` ||
- document.location.toString() === `${window.location.origin}${routes.client.palmistryV1TrialPayment()}`
+ document.location.toString() ===
+ `${window.location.origin}${routes.client.palmistryV1Payment()}` ||
+ document.location.toString() ===
+ `${window.location.origin}${routes.client.palmistryV1TrialPayment()}`
) {
navigate(routes.client.palmistryV1SaveOff());
}
}
- function onPaymentErrorDiscount(error?: string | undefined): void {
+ function onPaymentErrorDiscount(error?: string | null): void {
if (error === "Product not found") {
return navigate(routes.client.palmistryV1SecretDiscount());
}
@@ -157,19 +159,21 @@ function PalmistryV1Routes() {
} else {
document.body.classList.remove("dark-theme");
}
- }, [window.location.pathname])
+ }, [window.location.pathname]);
if (!isReady) {
- return
-
-
+ return (
+
+
+
+ );
}
return (
@@ -187,19 +191,21 @@ function PalmistryV1Routes() {
funnel={ELocalesPlacement.PalmistryV1}
paymentPlacement="add_consultant"
nextRoute={
- availablePaths.add_guides ?
- routes.client.palmistryV1AddGuides() :
- `${routes.client.getInformationPartner()}?path=back`
+ availablePaths.add_guides
+ ? routes.client.palmistryV1AddGuides()
+ : `${routes.client.getInformationPartner()}?path=back`
}
/>
}
/>
}
+ element={
+
+ }
/>
@@ -212,23 +218,29 @@ function PalmistryV1Routes() {
>
}
+ element={
+
+ }
/>
}
+ path={removePrefix(
+ routes.client.palmistryV1SecretDiscountPaymentModal()
+ )}
+ element={
+
+ }
/>
}
+ element={
+
+ }
/>
@@ -101,23 +106,29 @@ function PalmistryV2Routes() {
>
}
+ element={
+
+ }
/>
}
+ path={removePrefix(
+ routes.client.palmistryV2SecretDiscountPaymentModal()
+ )}
+ element={
+
+ }
/>