import Title from "@/components/Title"; import styles from "./styles.module.scss"; import Answer from "../../components/Answer"; import { useDispatch, useSelector } from "react-redux"; import { actions, selectors } from "@/store"; import { sleep } from "@/services/date"; import { useNavigate } from "react-router-dom"; import routes from "@/routes"; import { answerTimeOut } from "../../data"; import { useTranslations } from "@/hooks/translations"; import { ELocalesPlacement } from "@/locales"; import { useMemo } from "react"; import { usePreloadImages } from "@/hooks/preload/images"; import { useSession } from "@/hooks/session/useSession"; import { IAnswersSessionPalmistry } from "@/api/resources/Session"; import { ESourceAuthorization } from "@/api/resources/User"; function HeadOrHeart() { const { translate } = useTranslations(ELocalesPlacement.PalmistryV1); const { updateSession } = useSession(); const navigate = useNavigate(); const dispatch = useDispatch(); const { headOrHeart } = useSelector(selectors.selectPalmistryV1Answers); 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", ]); const answers: { id: IAnswersSessionPalmistry["head_or_heart"]; title: string }[] = useMemo( () => [ { id: "heart", title: translate("/head-or-heart.answer1"), }, { id: "head", title: translate("/head-or-heart.answer2"), }, { id: "both", title: translate("/head-or-heart.answer3"), }, ], [translate] ); const handleClick = async (id: IAnswersSessionPalmistry["head_or_heart"]) => { dispatch(actions.palmistryV1Answers.update({ headOrHeart: id })); await updateSession( { answers: { head_or_heart: id, }, }, ESourceAuthorization["aura.palmistry.new"] ); if (id !== headOrHeart) await sleep(answerTimeOut); navigate(routes.client.palmistryV1HeadOrHeartResult()); }; return (