}.webp`)})
diff --git a/src/components/CompatibilityV2/pages/PalmsInformationPartner/index.tsx b/src/components/CompatibilityV2/pages/PalmsInformationPartner/index.tsx
index dfeacfa..b3f6fbd 100644
--- a/src/components/CompatibilityV2/pages/PalmsInformationPartner/index.tsx
+++ b/src/components/CompatibilityV2/pages/PalmsInformationPartner/index.tsx
@@ -1,18 +1,17 @@
-import routes from "@/routes";
+import routes, { compatibilityV2Prefix } from "@/routes";
import styles from "./styles.module.scss";
import Title from "@/components/Title";
import Button from "../../components/Button";
import { useTranslations } from "@/hooks/translations";
import { useNavigate } from "react-router-dom";
import { ELocalesPlacement } from "@/locales";
-// import { DotLottieReact } from "@lottiefiles/dotlottie-react";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import { selectors } from "@/store";
import { useSelector } from "react-redux";
import { images } from "../../data";
import { getZodiacSignByDate } from "@/services/zodiac-sign";
import { EUnleashFlags, useUnleash } from "@/hooks/ab/unleash/useUnleash";
import Loader, { LoaderColor } from "@/components/Loader";
+import { usePreloadImages } from "@/hooks/preload/images";
function PalmsInformationPartner() {
const { translate } = useTranslations(ELocalesPlacement.CompatibilityV2);
@@ -20,11 +19,8 @@ function PalmsInformationPartner() {
const zodiacSign = getZodiacSignByDate(partnerBirthdate);
const navigate = useNavigate();
- // const { animationData } =
- useLottie({
- // loadKey: ELottieKeys.handSymbols,
- preloadKey: ELottieKeys.scalesHeadPalmistry,
- });
+
+ usePreloadImages([`${compatibilityV2Prefix}/hand-with-eye.svg`]);
const { isReady, variant: zodiacImages } = useUnleash({
flag: EUnleashFlags.zodiacImages
@@ -40,20 +36,11 @@ function PalmsInformationPartner() {
return (
- {/* {animationData && (
-
- )} */}
{zodiacImages !== "new" && (
@@ -62,7 +49,6 @@ function PalmsInformationPartner() {
);
}
diff --git a/src/components/CompatibilityV2/pages/RelationshipStatus/index.tsx b/src/components/CompatibilityV2/pages/RelationshipStatus/index.tsx
index 3585094..757dfa6 100644
--- a/src/components/CompatibilityV2/pages/RelationshipStatus/index.tsx
+++ b/src/components/CompatibilityV2/pages/RelationshipStatus/index.tsx
@@ -10,7 +10,6 @@ import { answerTimeOut } from "../../data";
import { useTranslations } from "@/hooks/translations";
import { ELocalesPlacement } from "@/locales";
import { useMemo } from "react";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import { useSession } from "@/hooks/session/useSession";
import { IAnswersSessionCompatibilityV2 } from "@/api/resources/Session";
import { ESourceAuthorization } from "@/api/resources/User";
@@ -23,9 +22,6 @@ function RelationshipStatus() {
const { relationshipStatus } = useSelector(
selectors.selectCompatibilityV2Answers
);
- useLottie({
- preloadKey: ELottieKeys.scalesNeutralPalmistry,
- });
const answers: {
id: IAnswersSessionCompatibilityV2["relationship_status"];
diff --git a/src/components/CompatibilityV2/pages/RomanticGestures/index.tsx b/src/components/CompatibilityV2/pages/RomanticGestures/index.tsx
index 3bee891..29b6f3b 100644
--- a/src/components/CompatibilityV2/pages/RomanticGestures/index.tsx
+++ b/src/components/CompatibilityV2/pages/RomanticGestures/index.tsx
@@ -10,7 +10,6 @@ import { answerTimeOut } from "../../data";
import { useTranslations } from "@/hooks/translations";
import { ELocalesPlacement } from "@/locales";
import { useMemo } from "react";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import { useSession } from "@/hooks/session/useSession";
import { IAnswersSessionCompatibilityV2 } from "@/api/resources/Session";
import { ESourceAuthorization } from "@/api/resources/User";
@@ -23,9 +22,6 @@ function RomanticGestures() {
const { romanticGestures } = useSelector(
selectors.selectCompatibilityV2Answers
);
- useLottie({
- preloadKey: ELottieKeys.scalesNeutralPalmistry,
- });
const answers: {
id: IAnswersSessionCompatibilityV2["romantic_gestures"];
diff --git a/src/components/CompatibilityV2/pages/ScanInstruction/index.tsx b/src/components/CompatibilityV2/pages/ScanInstruction/index.tsx
index 5c54054..233ea0a 100644
--- a/src/components/CompatibilityV2/pages/ScanInstruction/index.tsx
+++ b/src/components/CompatibilityV2/pages/ScanInstruction/index.tsx
@@ -10,16 +10,19 @@ import ScanInstructionSVG from "../../images/SVG/ScanInstruction";
import { usePreloadImages } from "@/hooks/preload/images";
import { useUploadImage } from "@/hooks/palmistry/useUploadImage";
import Loader, { LoaderColor } from "@/components/Loader";
+import { images } from "../../data";
+import { useSelector } from "react-redux";
+import { selectors } from "@/store";
function ScanInstruction() {
const { translate } = useTranslations(ELocalesPlacement.CompatibilityV2);
const navigate = useNavigate();
+
+ const gender = useSelector(selectors.selectQuestionnaire)?.gender || "female";
+
usePreloadImages([
- "/v1/palmistry/love-line.svg",
- "/v1/palmistry/head-line.svg",
- "/v1/palmistry/life-line.svg",
- "/v1/palmistry/fate-line.svg",
- "/v1/palmistry/hand-little-finger.svg",
+ images("scan-hand/Palm-tach-A.gif"),
+ images(`scan-hand/${gender}-Palm-A.png`)
]);
const handleToScannedPhoto = () => {
diff --git a/src/components/CompatibilityV2/pages/ScannedPhoto/index.tsx b/src/components/CompatibilityV2/pages/ScannedPhoto/index.tsx
index 90c2318..83471c6 100644
--- a/src/components/CompatibilityV2/pages/ScannedPhoto/index.tsx
+++ b/src/components/CompatibilityV2/pages/ScannedPhoto/index.tsx
@@ -15,6 +15,7 @@ import Modal from "@/components/Modal";
import { useAuthentication } from "@/hooks/authentication/use-authentication";
import { ESourceAuthorization } from "@/api/resources/User";
import { getRandomArbitrary } from "@/services/random-value";
+import { usePreloadImages } from "@/hooks/preload/images";
const drawElementChangeDelay = 1500;
const startDelay = 500;
@@ -55,6 +56,16 @@ function ScannedPhoto() {
const { authorization } = useAuthentication();
+ usePreloadImages([
+ "/v2/compatibility/download-app.png",
+ "/v2/compatibility/love-line.svg",
+ "/v2/compatibility/head-line.svg",
+ "/v2/compatibility/life-line.svg",
+ "/v2/compatibility/fate-line.svg",
+ "/v2/compatibility/hand-little-finger.svg",
+ "/v2/compatibility/partners.png"
+ ])
+
const drawElements = useMemo(() => [...fingers, ...lines], [fingers, lines]);
const { relationshipStatus } = useSelector(selectors.selectCompatibilityV2Answers)
diff --git a/src/components/CompatibilityV2/pages/TrialChoice/index.tsx b/src/components/CompatibilityV2/pages/TrialChoice/index.tsx
index f3305e2..7a4f17b 100644
--- a/src/components/CompatibilityV2/pages/TrialChoice/index.tsx
+++ b/src/components/CompatibilityV2/pages/TrialChoice/index.tsx
@@ -21,6 +21,8 @@ import { useTranslations } from "@/hooks/translations";
import { getLongText } from "./abText";
import metricService, { EGoals, EMetrics, useMetricABFlags } from "@/services/metric/metricService";
import TrialChoiceV1 from "./v1";
+import { usePreloadImages } from "@/hooks/preload/images";
+import { getZodiacSignByDate } from "@/services/zodiac-sign";
function TrialChoice() {
const { translate } = useTranslations(ELocalesPlacement.CompatibilityV2);
@@ -30,6 +32,26 @@ function TrialChoice() {
placementKey: EPlacementKeys["aura.placement.compatibility.v2"],
localesPlacement: ELocalesPlacement.CompatibilityV2,
});
+ const { gender, partnerGender, birthdate, partnerBirthdate } = useSelector(selectors.selectQuestionnaire)
+ const zodiacSign = getZodiacSignByDate(birthdate);
+ const zodiacSignPartner = getZodiacSignByDate(partnerBirthdate);
+
+ usePreloadImages([
+ `/zodiac-signs/${gender}/${zodiacSign?.toLowerCase()}.svg`,
+ `/zodiac-signs/${partnerGender}/${zodiacSignPartner?.toLowerCase()}.svg`,
+ "/v2/compatibility/reviews.png",
+ "/v2/compatibility/trial-payment/girl2.png",
+ "/v2/compatibility/trial-payment/avatar-1.png",
+ "/v2/compatibility/trial-payment/avatar-2.png",
+ "/v2/compatibility/trial-payment/avatar-4.png",
+ "/v2/compatibility/money-back.svg",
+ "/v2/compatibility/love-line.svg",
+ "/v2/compatibility/head-line.svg",
+ "/v2/compatibility/life-line.svg",
+ "/v2/compatibility/fate-line.svg",
+ "/v2/compatibility/hand-little-finger.svg",
+ "/v2/compatibility/partners.png"
+ ])
const locale = getDefaultLocaleByLanguage(language);
diff --git a/src/components/CompatibilityV3/pages/Birthdate/index.tsx b/src/components/CompatibilityV3/pages/Birthdate/index.tsx
index fc57155..3c49d6d 100644
--- a/src/components/CompatibilityV3/pages/Birthdate/index.tsx
+++ b/src/components/CompatibilityV3/pages/Birthdate/index.tsx
@@ -12,6 +12,8 @@ import { useTranslations } from "@/hooks/translations";
import { ELocalesPlacement } from "@/locales";
import { useSession } from "@/hooks/session/useSession";
import { ESourceAuthorization } from "@/api/resources/User";
+import { usePreloadImages } from "@/hooks/preload/images";
+import { getZodiacSignByDate, ZODIACS } from "@/services/zodiac-sign";
function Birthdate() {
const { translate } = useTranslations(ELocalesPlacement.CompatibilityV3);
@@ -21,6 +23,18 @@ function Birthdate() {
const birthdateFromStore = useSelector(selectors.selectBirthdate);
const [birthdate, setBirthdate] = useState(birthdateFromStore);
const [isDisabled, setIsDisabled] = useState(true);
+ const { gender } = useSelector(selectors.selectQuestionnaire);
+ const zodiacSign = getZodiacSignByDate(birthdate);
+
+ usePreloadImages(
+ !!zodiacSign?.length ?
+ [
+ `/zodiac-signs/${gender?.toLowerCase()}/${zodiacSign?.toLowerCase()}.svg`
+ ] :
+ ZODIACS.map(
+ (zodiac) => `/zodiac-signs/${gender?.toLowerCase()}/${zodiac?.toLowerCase()}.svg`
+ )
+ );
const handleValid = (_birthdate: string) => {
setBirthdate(_birthdate);
diff --git a/src/components/CompatibilityV3/pages/BirthdatePartner/index.tsx b/src/components/CompatibilityV3/pages/BirthdatePartner/index.tsx
index c88b27f..e047a64 100644
--- a/src/components/CompatibilityV3/pages/BirthdatePartner/index.tsx
+++ b/src/components/CompatibilityV3/pages/BirthdatePartner/index.tsx
@@ -11,6 +11,8 @@ import { useTranslations } from "@/hooks/translations";
import { ELocalesPlacement } from "@/locales";
import { useSession } from "@/hooks/session/useSession";
import { ESourceAuthorization } from "@/api/resources/User";
+import { usePreloadImages } from "@/hooks/preload/images";
+import { getZodiacSignByDate, ZODIACS } from "@/services/zodiac-sign";
function BirthdatePartner() {
const { translate } = useTranslations(ELocalesPlacement.CompatibilityV3);
@@ -20,6 +22,18 @@ function BirthdatePartner() {
const { partnerBirthdate } = useSelector(selectors.selectQuestionnaire);
const [birthdate, setBirthdate] = useState(partnerBirthdate || "");
const [isDisabled, setIsDisabled] = useState(true);
+ const { partnerGender } = useSelector(selectors.selectQuestionnaire);
+ const zodiacSign = getZodiacSignByDate(birthdate);
+
+ usePreloadImages(
+ !!zodiacSign?.length ?
+ [
+ `/zodiac-signs/${partnerGender?.toLowerCase()}/${zodiacSign?.toLowerCase()}.svg`
+ ] :
+ ZODIACS.map(
+ (zodiac) => `/zodiac-signs/${partnerGender?.toLowerCase()}/${zodiac?.toLowerCase()}.svg`
+ )
+ );
const handleValid = (_birthdate: string) => {
setBirthdate(_birthdate);
diff --git a/src/components/CompatibilityV3/pages/CheckingPhone/index.tsx b/src/components/CompatibilityV3/pages/CheckingPhone/index.tsx
index 5e6849e..5484fa7 100644
--- a/src/components/CompatibilityV3/pages/CheckingPhone/index.tsx
+++ b/src/components/CompatibilityV3/pages/CheckingPhone/index.tsx
@@ -10,7 +10,6 @@ import { answerTimeOut } from "../../data";
import { useTranslations } from "@/hooks/translations";
import { ELocalesPlacement } from "@/locales";
import { useMemo } from "react";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import { useSession } from "@/hooks/session/useSession";
import { IAnswersSessionCompatibilityV3 } from "@/api/resources/Session";
import { ESourceAuthorization } from "@/api/resources/User";
@@ -23,9 +22,6 @@ function CheckingPhone() {
const { checkingPhone, relationshipStatus } = useSelector(
selectors.selectCompatibilityV3Answers
);
- useLottie({
- preloadKey: ELottieKeys.scalesNeutralPalmistry,
- });
const answers: {
id: IAnswersSessionCompatibilityV3["checking_phone"];
diff --git a/src/components/CompatibilityV3/pages/Gender/index.tsx b/src/components/CompatibilityV3/pages/Gender/index.tsx
index 736657c..9f3f3ac 100644
--- a/src/components/CompatibilityV3/pages/Gender/index.tsx
+++ b/src/components/CompatibilityV3/pages/Gender/index.tsx
@@ -14,7 +14,6 @@ import { genders } from "@/components/pages/ABDesign/v1/data/genders";
import { useNavigate } from "react-router-dom";
import routes from "@/routes";
import { usePreloadImages } from "@/hooks/preload/images";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import { useSession } from "@/hooks/session/useSession";
import { EGender, ESourceAuthorization } from "@/api/resources/User";
import AlreadyHaveAccount from "@/components/ui/AlreadyHaveAccount";
@@ -33,10 +32,7 @@ function GenderPage() {
const { gender } = useSelector(selectors.selectQuestionnaire);
const [isSelected, setIsSelected] = useState(false);
- usePreloadImages(["/v1/palmistry/hand-with-eye.svg"]);
- useLottie({
- preloadKey: ELottieKeys.handSymbols,
- });
+ usePreloadImages(["/v3/compatibility/hand-with-eye.svg"]);
const { flags, ready } = useMetricABFlags();
const pageType = flags?.genderPageType?.[0] || "v2";
diff --git a/src/components/CompatibilityV3/pages/GenderPartner/index.tsx b/src/components/CompatibilityV3/pages/GenderPartner/index.tsx
index f6d51dd..e1689de 100644
--- a/src/components/CompatibilityV3/pages/GenderPartner/index.tsx
+++ b/src/components/CompatibilityV3/pages/GenderPartner/index.tsx
@@ -12,7 +12,6 @@ import { genders } from "@/components/pages/ABDesign/v1/data/genders";
import { useNavigate } from "react-router-dom";
import routes from "@/routes";
import { usePreloadImages } from "@/hooks/preload/images";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import { useSession } from "@/hooks/session/useSession";
import { EGender, ESourceAuthorization } from "@/api/resources/User";
import Answer from "../../components/Answer";
@@ -29,10 +28,7 @@ function GenderPartner() {
const { partnerGender } = useSelector(selectors.selectQuestionnaire);
const [isSelected, setIsSelected] = useState(false);
- usePreloadImages(["/v1/palmistry/hand-with-eye.svg"]);
- useLottie({
- preloadKey: ELottieKeys.handSymbols,
- });
+ usePreloadImages(["/v3/compatibility/hand-with-eye.svg"]);
const localGenders = genders.map((gender) => ({
id: gender.id,
diff --git a/src/components/CompatibilityV3/pages/HeadOrHeart/index.tsx b/src/components/CompatibilityV3/pages/HeadOrHeart/index.tsx
index 534dee1..015d367 100644
--- a/src/components/CompatibilityV3/pages/HeadOrHeart/index.tsx
+++ b/src/components/CompatibilityV3/pages/HeadOrHeart/index.tsx
@@ -14,7 +14,6 @@ import { usePreloadImages } from "@/hooks/preload/images";
import { useSession } from "@/hooks/session/useSession";
import { IAnswersSessionCompatibilityV3 } from "@/api/resources/Session";
import { ESourceAuthorization } from "@/api/resources/User";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
function HeadOrHeart() {
const { translate } = useTranslations(ELocalesPlacement.CompatibilityV3);
@@ -22,24 +21,11 @@ function HeadOrHeart() {
const navigate = useNavigate();
const dispatch = useDispatch();
const { headOrHeart } = useSelector(selectors.selectCompatibilityV3Answers);
- usePreloadImages([
- "/v1/palmistry/money-back.svg",
- "/v1/palmistry/hand.svg",
- "/v1/palmistry/1_1.svg",
- "/v1/palmistry/daily.svg",
- "/v1/palmistry/cosmic.svg",
- "/v1/palmistry/calendar.svg",
- "/v1/palmistry/reviews/rebecca.png",
- "/v1/palmistry/reviews/mika.png",
- "/v1/palmistry/reviews/amanda.png",
- "/v1/palmistry/partners.png",
- ]);
- useLottie({
- preloadKey: ELottieKeys.letScan,
- });
- useLottie({
- preloadKey: ELottieKeys.scannedPhoto,
- });
+ usePreloadImages(
+ ["head", "heart", "both"].map(
+ (headOrHeart) => `/v3/compatibility/head-or-heart-result/${headOrHeart}.svg`
+ )
+ );
const answers: { id: IAnswersSessionCompatibilityV3["head_or_heart"]; title: string }[] =
useMemo(
diff --git a/src/components/CompatibilityV3/pages/HeadOrHeartResult/index.tsx b/src/components/CompatibilityV3/pages/HeadOrHeartResult/index.tsx
index 1673953..66e3692 100644
--- a/src/components/CompatibilityV3/pages/HeadOrHeartResult/index.tsx
+++ b/src/components/CompatibilityV3/pages/HeadOrHeartResult/index.tsx
@@ -1,6 +1,4 @@
-// import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import styles from "./styles.module.scss";
-// import { DotLottieReact } from "@lottiefiles/dotlottie-react";
import Title from "@/components/Title";
import { useTranslations } from "@/hooks/translations";
import { ELocalesPlacement } from "@/locales";
@@ -13,13 +11,8 @@ import routes from "@/routes";
import { useMemo } from "react";
import { EUnleashFlags, useUnleash } from "@/hooks/ab/unleash/useUnleash";
import Loader, { LoaderColor } from "@/components/Loader";
-
-// const animations = {
-// both: ELottieKeys.scalesNeutralPalmistry,
-// heart: ELottieKeys.scalesHeartPalmistry,
-// head: ELottieKeys.scalesHeadPalmistry,
-// depends: ELottieKeys.scalesNeutralPalmistry,
-// };
+import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
+import { useTheme } from "@/hooks/theme/useTheme";
function HeadOrHeartResult() {
const navigate = useNavigate();
@@ -28,14 +21,18 @@ function HeadOrHeartResult() {
const { gender, partnerGender, partnerBirthdate } = useSelector(selectors.selectQuestionnaire);
const translatePrefix = relationshipStatus === "single" ? "single" : "with-partner";
+ const { darkTheme } = useTheme();
+ useLottie({
+ preloadKey: darkTheme ? ELottieKeys.letScanDark : ELottieKeys.letScan,
+ });
+ useLottie({
+ preloadKey: ELottieKeys.scannedPhoto,
+ });
+
const { isReady, variant } = useUnleash({
flag: EUnleashFlags.headOrHeartResultPageCompatibilityV3,
});
- // const { animationData } = useLottie({
- // loadKey: animations[headOrHeart as keyof typeof animations],
- // });
-
const birthdate = useSelector(selectors.selectBirthdate);
const zodiacSign = getZodiacSignByDate(birthdate);
const zodiacSignPartner = getZodiacSignByDate(partnerBirthdate);
@@ -45,7 +42,6 @@ function HeadOrHeartResult() {
};
const handleNext = () => {
- // navigate(`${routes.client.compatibilityV3RelateFollowing()}/1`);
navigate(routes.client.compatibilityV3ScannedPhoto());
};
@@ -58,16 +54,6 @@ function HeadOrHeartResult() {
return (
- {/*
- {animationData && (
-
- )}
-
*/}
{variant === "v1" &&
- {/* {animationData && (
-
- )} */}
- {translate(`/palms-information.${zodiacSign.toLowerCase()}.title`)}
+ {translate(`/palms-information.${zodiacSign?.toLowerCase()}.title`)}
- {translate(`/palms-information.${zodiacSign.toLowerCase()}.description`, {
+ {translate(`/palms-information.${zodiacSign?.toLowerCase()}.description`, {
br:
,
})}
diff --git a/src/components/CompatibilityV3/pages/PalmsInformationPartner/index.tsx b/src/components/CompatibilityV3/pages/PalmsInformationPartner/index.tsx
index a66899d..b5d4741 100644
--- a/src/components/CompatibilityV3/pages/PalmsInformationPartner/index.tsx
+++ b/src/components/CompatibilityV3/pages/PalmsInformationPartner/index.tsx
@@ -5,23 +5,21 @@ import Button from "../../components/Button";
import { useTranslations } from "@/hooks/translations";
import { useNavigate } from "react-router-dom";
import { ELocalesPlacement } from "@/locales";
-// import { DotLottieReact } from "@lottiefiles/dotlottie-react";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import { selectors } from "@/store";
import { useSelector } from "react-redux";
import { getZodiacSignByDate } from "@/services/zodiac-sign";
+import { usePreloadImages } from "@/hooks/preload/images";
function PalmsInformationPartner() {
const { translate } = useTranslations(ELocalesPlacement.CompatibilityV3);
const { partnerGender, partnerBirthdate } = useSelector(selectors.selectQuestionnaire);
-
+
const zodiacSign = getZodiacSignByDate(partnerBirthdate);
const navigate = useNavigate();
- // const { animationData } =
- useLottie({
- // loadKey: ELottieKeys.handSymbols,
- preloadKey: ELottieKeys.scalesHeadPalmistry,
- });
+
+ usePreloadImages([
+ "/v3/compatibility/hand-with-eye.svg"
+ ])
const handleNext = () => {
navigate(routes.client.compatibilityV3DateEvent());
@@ -42,7 +40,7 @@ function PalmsInformationPartner() {
diff --git a/src/components/CompatibilityV3/pages/RelationshipStatus/index.tsx b/src/components/CompatibilityV3/pages/RelationshipStatus/index.tsx
index 3a54fd5..d5c27b1 100644
--- a/src/components/CompatibilityV3/pages/RelationshipStatus/index.tsx
+++ b/src/components/CompatibilityV3/pages/RelationshipStatus/index.tsx
@@ -10,7 +10,6 @@ import { answerTimeOut } from "../../data";
import { useTranslations } from "@/hooks/translations";
import { ELocalesPlacement } from "@/locales";
import { useMemo } from "react";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import { useSession } from "@/hooks/session/useSession";
import { IAnswersSessionCompatibilityV3 } from "@/api/resources/Session";
import { ESourceAuthorization } from "@/api/resources/User";
@@ -23,9 +22,6 @@ function RelationshipStatus() {
const { relationshipStatus } = useSelector(
selectors.selectCompatibilityV3Answers
);
- useLottie({
- preloadKey: ELottieKeys.scalesNeutralPalmistry,
- });
const answers: {
id: IAnswersSessionCompatibilityV3["relationship_status"];
diff --git a/src/components/CompatibilityV3/pages/RomanticGestures/index.tsx b/src/components/CompatibilityV3/pages/RomanticGestures/index.tsx
index b172ba8..7ccec26 100644
--- a/src/components/CompatibilityV3/pages/RomanticGestures/index.tsx
+++ b/src/components/CompatibilityV3/pages/RomanticGestures/index.tsx
@@ -10,7 +10,6 @@ import { answerTimeOut } from "../../data";
import { useTranslations } from "@/hooks/translations";
import { ELocalesPlacement } from "@/locales";
import { useMemo } from "react";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import { useSession } from "@/hooks/session/useSession";
import { IAnswersSessionCompatibilityV3 } from "@/api/resources/Session";
import { ESourceAuthorization } from "@/api/resources/User";
@@ -23,9 +22,6 @@ function RomanticGestures() {
const { romanticGestures } = useSelector(
selectors.selectCompatibilityV3Answers
);
- useLottie({
- preloadKey: ELottieKeys.scalesNeutralPalmistry,
- });
const answers: {
id: IAnswersSessionCompatibilityV3["romantic_gestures"];
diff --git a/src/components/CompatibilityV3/pages/ScannedPhoto/index.tsx b/src/components/CompatibilityV3/pages/ScannedPhoto/index.tsx
index c54ce69..899ee36 100644
--- a/src/components/CompatibilityV3/pages/ScannedPhoto/index.tsx
+++ b/src/components/CompatibilityV3/pages/ScannedPhoto/index.tsx
@@ -18,6 +18,8 @@ import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import { DotLottieReact } from "@lottiefiles/dotlottie-react";
import { useMetricABFlags } from "@/services/metric/metricService";
import { getRandomArbitrary } from "@/services/random-value";
+import { usePreloadImages } from "@/hooks/preload/images";
+import { getZodiacSignByDate } from "@/services/zodiac-sign";
// const drawElementChangeDelay = 1500;
// const startDelay = 500;
@@ -55,6 +57,17 @@ function ScannedPhoto() {
const { authorization } = useAuthentication();
+ const { gender, partnerGender, birthdate, partnerBirthdate } = useSelector(selectors.selectQuestionnaire);
+ const zodiacSign = getZodiacSignByDate(birthdate);
+ const partnerZodiacSign = getZodiacSignByDate(partnerBirthdate);
+
+ usePreloadImages([
+ `/zodiac-signs/${gender?.toLowerCase()}/${zodiacSign?.toLowerCase()}.svg`,
+ `/zodiac-signs/${partnerGender?.toLowerCase()}/${partnerZodiacSign?.toLowerCase()}.svg`,
+ "/v3/compatibility/download-app.png",
+ "/v3/compatibility/partners.png"
+ ])
+
// const drawElements = useMemo(() => [...fingers, ...lines], [fingers, lines]);
const { relationshipStatus } = useSelector(selectors.selectCompatibilityV3Answers)
diff --git a/src/components/CompatibilityV3/pages/TrialChoice/index.tsx b/src/components/CompatibilityV3/pages/TrialChoice/index.tsx
index 4cda0d5..9c08876 100644
--- a/src/components/CompatibilityV3/pages/TrialChoice/index.tsx
+++ b/src/components/CompatibilityV3/pages/TrialChoice/index.tsx
@@ -20,6 +20,9 @@ import { useTranslations } from "@/hooks/translations";
// import { useMetricABFlags } from "@/services/metric/metricService";
import { getLongText } from "./abText";
import metricService, { EGoals, EMetrics } from "@/services/metric/metricService";
+import { usePreloadImages } from "@/hooks/preload/images";
+import { getZodiacSignByDate } from "@/services/zodiac-sign";
+import { images } from "../../data";
function TrialChoice() {
const { translate } = useTranslations(ELocalesPlacement.CompatibilityV3);
@@ -29,6 +32,25 @@ function TrialChoice() {
placementKey: EPlacementKeys["aura.placement.compatibility.v3"],
localesPlacement: ELocalesPlacement.CompatibilityV3,
});
+ const { gender, partnerGender, birthdate, partnerBirthdate } = useSelector(selectors.selectQuestionnaire)
+ const zodiacSign = getZodiacSignByDate(birthdate);
+ const zodiacSignPartner = getZodiacSignByDate(partnerBirthdate);
+
+ usePreloadImages([
+ images(`zodiacs/${gender}/${zodiacSign?.toUpperCase()}.webp`),
+ images(`zodiacs/${partnerGender}/${zodiacSignPartner?.toUpperCase()}.webp`),
+ "/v3/compatibility/trial-payment/girl2.png",
+ "/v3/compatibility/trial-payment/avatar-1.png",
+ "/v3/compatibility/trial-payment/avatar-2.png",
+ "/v3/compatibility/trial-payment/avatar-3.png",
+ "/v3/compatibility/trial-payment/avatar-4.png",
+ "/v3/compatibility/love-line.svg",
+ "/v3/compatibility/head-line.svg",
+ "/v3/compatibility/life-line.svg",
+ "/v3/compatibility/fate-line.svg",
+ "/v3/compatibility/hand-little-finger.svg",
+ "/v3/compatibility/partners.png"
+ ])
const locale = getDefaultLocaleByLanguage(language);
diff --git a/src/components/CompatibilityV4/pages/CalculateInAdvance/index.tsx b/src/components/CompatibilityV4/pages/CalculateInAdvance/index.tsx
index 0f0b255..b06991a 100644
--- a/src/components/CompatibilityV4/pages/CalculateInAdvance/index.tsx
+++ b/src/components/CompatibilityV4/pages/CalculateInAdvance/index.tsx
@@ -10,7 +10,6 @@ import { answerTimeOut } from "../../data";
import { useTranslations } from "@/hooks/translations";
import { ELocalesPlacement } from "@/locales";
import { useMemo } from "react";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import { useSession } from "@/hooks/session/useSession";
import { IAnswersSessionCompatibilityV4 } from "@/api/resources/Session";
import { ESourceAuthorization } from "@/api/resources/User";
@@ -23,9 +22,6 @@ function CalculateInAdvance() {
const { calculateInAdvance } = useSelector(
selectors.selectCompatibilityV4Answers
);
- useLottie({
- preloadKey: ELottieKeys.scalesNeutralPalmistry,
- });
const answers: {
id: IAnswersSessionCompatibilityV4["calculate_in_advance"];
diff --git a/src/components/CompatibilityV4/pages/CheckingPhone/index.tsx b/src/components/CompatibilityV4/pages/CheckingPhone/index.tsx
index 44483ad..07b3d53 100644
--- a/src/components/CompatibilityV4/pages/CheckingPhone/index.tsx
+++ b/src/components/CompatibilityV4/pages/CheckingPhone/index.tsx
@@ -10,7 +10,6 @@ import { answerTimeOut } from "../../data";
import { useTranslations } from "@/hooks/translations";
import { ELocalesPlacement } from "@/locales";
import { useMemo } from "react";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import { useSession } from "@/hooks/session/useSession";
import { IAnswersSessionCompatibilityV4 } from "@/api/resources/Session";
import { ESourceAuthorization } from "@/api/resources/User";
@@ -23,9 +22,6 @@ function CheckingPhone() {
const { checkingPhone } = useSelector(
selectors.selectCompatibilityV4Answers
);
- useLottie({
- preloadKey: ELottieKeys.scalesNeutralPalmistry,
- });
const answers: {
id: IAnswersSessionCompatibilityV4["checking_phone"];
diff --git a/src/components/CompatibilityV4/pages/ComplexRelationshipAspect/index.tsx b/src/components/CompatibilityV4/pages/ComplexRelationshipAspect/index.tsx
index d83bb12..c0d2d3b 100644
--- a/src/components/CompatibilityV4/pages/ComplexRelationshipAspect/index.tsx
+++ b/src/components/CompatibilityV4/pages/ComplexRelationshipAspect/index.tsx
@@ -10,7 +10,6 @@ import { answerTimeOut } from "../../data";
import { useTranslations } from "@/hooks/translations";
import { ELocalesPlacement } from "@/locales";
import { useMemo } from "react";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import { useSession } from "@/hooks/session/useSession";
import { IAnswersSessionCompatibilityV4 } from "@/api/resources/Session";
import { ESourceAuthorization } from "@/api/resources/User";
@@ -23,9 +22,6 @@ function ComplexRelationshipAspect() {
const { complexRelationshipAspect } = useSelector(
selectors.selectCompatibilityV4Answers
);
- useLottie({
- preloadKey: ELottieKeys.scalesNeutralPalmistry,
- });
const answers: {
id: IAnswersSessionCompatibilityV4["complex_relationship_aspect"];
diff --git a/src/components/CompatibilityV4/pages/Gender/index.tsx b/src/components/CompatibilityV4/pages/Gender/index.tsx
index f81d8f3..222f475 100644
--- a/src/components/CompatibilityV4/pages/Gender/index.tsx
+++ b/src/components/CompatibilityV4/pages/Gender/index.tsx
@@ -2,7 +2,6 @@ import styles from "./styles.module.scss";
import { useDispatch, useSelector } from "react-redux";
import { actions, selectors } from "@/store";
import { Gender } from "@/data";
-// import Toast from "@/components/pages/ABDesign/v1/components/Toast";
import { useTranslations } from "@/hooks/translations";
import { ELocalesPlacement } from "@/locales";
import { useCallback, useEffect, useState } from "react";
@@ -12,7 +11,6 @@ import { genders } from "@/components/pages/ABDesign/v1/data/genders";
import { useNavigate } from "react-router-dom";
import routes from "@/routes";
import { usePreloadImages } from "@/hooks/preload/images";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import { useSession } from "@/hooks/session/useSession";
import { EGender, ESourceAuthorization } from "@/api/resources/User";
import Loader, { LoaderColor } from "@/components/Loader";
@@ -33,9 +31,6 @@ function GenderPage() {
const { gender } = useSelector(selectors.selectQuestionnaire);
const [isSelected, setIsSelected] = useState(false);
usePreloadImages(["/v1/palmistry/hand-with-eye.svg"]);
- useLottie({
- preloadKey: ELottieKeys.handSymbols,
- });
const { flags, ready } = useMetricABFlags();
const pageType = flags?.genderPageType?.[0] || "v2";
diff --git a/src/components/CompatibilityV4/pages/GenderPartner/index.tsx b/src/components/CompatibilityV4/pages/GenderPartner/index.tsx
index 0beb85d..a705081 100644
--- a/src/components/CompatibilityV4/pages/GenderPartner/index.tsx
+++ b/src/components/CompatibilityV4/pages/GenderPartner/index.tsx
@@ -12,7 +12,6 @@ import { genders } from "@/components/pages/ABDesign/v1/data/genders";
import { useNavigate } from "react-router-dom";
import routes from "@/routes";
import { usePreloadImages } from "@/hooks/preload/images";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import { useSession } from "@/hooks/session/useSession";
import { EGender, ESourceAuthorization } from "@/api/resources/User";
import Answer from "../../components/Answer";
@@ -30,9 +29,6 @@ function GenderPartner() {
const { partnerGender } = useSelector(selectors.selectQuestionnaire);
const [isSelected, setIsSelected] = useState(false);
usePreloadImages(["/v1/palmistry/hand-with-eye.svg"]);
- useLottie({
- preloadKey: ELottieKeys.handSymbols,
- });
const localGenders = genders.map((gender) => ({
id: gender.id,
diff --git a/src/components/CompatibilityV4/pages/HeadOrHeart/index.tsx b/src/components/CompatibilityV4/pages/HeadOrHeart/index.tsx
index 15a9873..1de47d9 100644
--- a/src/components/CompatibilityV4/pages/HeadOrHeart/index.tsx
+++ b/src/components/CompatibilityV4/pages/HeadOrHeart/index.tsx
@@ -14,7 +14,6 @@ import { usePreloadImages } from "@/hooks/preload/images";
import { useSession } from "@/hooks/session/useSession";
import { IAnswersSessionCompatibilityV4 } from "@/api/resources/Session";
import { ESourceAuthorization } from "@/api/resources/User";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
function HeadOrHeart() {
const { translate } = useTranslations(ELocalesPlacement.CompatibilityV4);
@@ -22,21 +21,11 @@ function HeadOrHeart() {
const navigate = useNavigate();
const dispatch = useDispatch();
const { headOrHeart } = useSelector(selectors.selectCompatibilityV4Answers);
- usePreloadImages([
- "/v1/palmistry/money-back.svg",
- "/v1/palmistry/hand.svg",
- "/v1/palmistry/1_1.svg",
- "/v1/palmistry/daily.svg",
- "/v1/palmistry/cosmic.svg",
- "/v1/palmistry/calendar.svg",
- "/v1/palmistry/reviews/rebecca.png",
- "/v1/palmistry/reviews/mika.png",
- "/v1/palmistry/reviews/amanda.png",
- "/v1/palmistry/partners.png",
- ]);
- useLottie({
- preloadKey: ELottieKeys.letScan,
- });
+ usePreloadImages(
+ ["head", "heart", "both"].map(
+ (headOrHeart) => `/v4/compatibility/head-or-heart-result/${headOrHeart}.svg`
+ )
+ );
const answers: { id: IAnswersSessionCompatibilityV4["head_or_heart"]; title: string }[] =
useMemo(
diff --git a/src/components/CompatibilityV4/pages/HeadOrHeartResult/index.tsx b/src/components/CompatibilityV4/pages/HeadOrHeartResult/index.tsx
index 7373c73..231bba6 100644
--- a/src/components/CompatibilityV4/pages/HeadOrHeartResult/index.tsx
+++ b/src/components/CompatibilityV4/pages/HeadOrHeartResult/index.tsx
@@ -1,6 +1,4 @@
-// import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import styles from "./styles.module.scss";
-// import { DotLottieReact } from "@lottiefiles/dotlottie-react";
import Title from "@/components/Title";
import { useTranslations } from "@/hooks/translations";
import { ELocalesPlacement } from "@/locales";
@@ -12,13 +10,6 @@ import { useNavigate } from "react-router-dom";
import routes from "@/routes";
import { useMemo } from "react";
-// const animations = {
-// both: ELottieKeys.scalesNeutralPalmistry,
-// heart: ELottieKeys.scalesHeartPalmistry,
-// head: ELottieKeys.scalesHeadPalmistry,
-// depends: ELottieKeys.scalesNeutralPalmistry,
-// };
-
function HeadOrHeartResult() {
const navigate = useNavigate();
const { translate } = useTranslations(ELocalesPlacement.CompatibilityV4);
@@ -30,10 +21,6 @@ function HeadOrHeartResult() {
// flag: EUnleashFlags.headOrHeartResultPageCompatibilityV4,
// });
- // const { animationData } = useLottie({
- // loadKey: animations[headOrHeart as keyof typeof animations],
- // });
-
const birthdate = useSelector(selectors.selectBirthdate);
const zodiacSign = getZodiacSignByDate(birthdate);
const zodiacSignPartner = getZodiacSignByDate(partnerBirthdate);
@@ -56,16 +43,6 @@ function HeadOrHeartResult() {
return (
- {/*
- {animationData && (
-
- )}
-
*/}
feature?.toLowerCase()?.includes("ios"), [feature]);
const authCode = useSelector(selectors.selectAuthCode);
+ const { gender, partnerGender, birthdate, partnerBirthdate } = useSelector(selectors.selectQuestionnaire);
+ const zodiacSign = getZodiacSignByDate(birthdate);
+ const partnerZodiacSign = getZodiacSignByDate(partnerBirthdate);
+
+ const preloadImages = useMemo(() => {
+ return [
+ "/v4/compatibility/trial-payment/book.png",
+ `/zodiac-signs/${gender?.toLowerCase()}/${zodiacSign?.toLowerCase()}.svg`,
+ `/zodiac-signs/${partnerGender?.toLowerCase()}/${partnerZodiacSign?.toLowerCase()}.svg`
+ ]
+ }, [gender, partnerGender, birthdate, partnerBirthdate])
+
+ usePreloadImages(preloadImages)
+
const loadingPointSettings = useMemo(() => {
const currentPointIndex = Math.floor(progress / 100);
const endFastLoading = getRandomArbitrary(15, 30);
diff --git a/src/components/CompatibilityV4/pages/PalmsInformation/index.tsx b/src/components/CompatibilityV4/pages/PalmsInformation/index.tsx
index 492cb44..8409b89 100644
--- a/src/components/CompatibilityV4/pages/PalmsInformation/index.tsx
+++ b/src/components/CompatibilityV4/pages/PalmsInformation/index.tsx
@@ -6,8 +6,6 @@ import Policy from "@/components/Policy";
import { useTranslations } from "@/hooks/translations";
import { useNavigate } from "react-router-dom";
import { ELocalesPlacement } from "@/locales";
-// import { DotLottieReact } from "@lottiefiles/dotlottie-react";
-import { ELottieKeys, useLottie } from "@/hooks/lottie/useLottie";
import { selectors } from "@/store";
import { useSelector } from "react-redux";
import { getZodiacSignByDate } from "@/services/zodiac-sign";
@@ -17,11 +15,6 @@ function PalmsInformation() {
const { gender, birthdate } = useSelector(selectors.selectQuestionnaire);
const zodiacSign = getZodiacSignByDate(birthdate);
const navigate = useNavigate();
- // const { animationData } =
- useLottie({
- // loadKey: ELottieKeys.handSymbols,
- preloadKey: ELottieKeys.scalesHeadPalmistry,
- });
const handleNext = () => {
navigate(routes.client.compatibilityV4ResultAnalysis());
@@ -29,32 +22,22 @@ function PalmsInformation() {
return (
- {/* {animationData && (
-
- )} */}
- {translate(`/palms-information.${zodiacSign.toLowerCase()}.title`)}
+ {translate(`/palms-information.${zodiacSign?.toLowerCase()}.title`)}
- {translate(`/palms-information.${zodiacSign.toLowerCase()}.description`, {
+ {translate(`/palms-information.${zodiacSign?.toLowerCase()}.description`, {
br:
,
- bold: {translate(`/palms-information.${zodiacSign.toLowerCase()}.description_bold`)},
- percent: {translate(`/palms-information.${zodiacSign.toLowerCase()}.description_percent`)},
- zodiac: {translate(`zodiac_signs.${zodiacSign.toLowerCase()}`)},
+ bold: {translate(`/palms-information.${zodiacSign?.toLowerCase()}.description_bold`)},
+ percent: {translate(`/palms-information.${zodiacSign?.toLowerCase()}.description_percent`)},
+ zodiac: {translate(`zodiac_signs.${zodiacSign?.toLowerCase()}`)},
})}