import { useNavigate } from "react-router-dom"; import { useTranslation } from "react-i18next"; import routes from "@/routes"; import styles from "./styles.module.css"; import { useApi, useApiCall } from "@/api"; import { Asset } from "@/api/resources/Assets"; import { useCallback, useEffect, useState } from "react"; import BlurringSubstrate from "../BlurringSubstrate"; import EnergyValues from "../EnergyValues"; import { UserAura } from "@/api/resources/Auras"; import { useSelector } from "react-redux"; import { getCategoryIdByZodiacSign, getZodiacSignByDate } from "@/services/zodiac-sign"; import { selectors } from "@/store"; import { getRandomArbitrary } from "@/services/random-value"; import Title from "../Title"; import { UserDailyForecast } from "@/api/resources/UserDailyForecasts"; import { download } from "@/services/download"; const buttonTextFormatter = (text: string): JSX.Element => { const sentences = text.split("."); return ( <> {sentences[0]}
{sentences[1]} ); }; function HomePage(): JSX.Element { const token = "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOjIzNjEyLCJpYXQiOjE2OTM0MTg5MTAsImV4cCI6MTcwMjA1ODkxMCwianRpIjoiNzg5MjkwYWItODg0YS00MGUyLTkyNjEtOWI2OGEyNjkwNmE0IiwiZW1haWwiOiJvdGhlckBleGFtcGxlLmNvbSIsInN0YXRlIjoicHJvdmVuIiwibG9jIjoiZW4iLCJ0eiI6LTI4ODAwLCJ0eXBlIjoiZW1haWwiLCJpc3MiOiJjb20ubGlmZS5hdXJhIn0.J2ocWIv5jKzuKMcwMgWMiNMyGg5qLlMAeln-bQm_9lw"; const { t } = useTranslation(); const navigate = useNavigate(); const handleCompatibility = () => { navigate(routes.client.compatibility()); }; const handleBreath = () => { navigate(routes.client.breath()); }; const { i18n } = useTranslation(); const locale = i18n.language; const birthdate = useSelector(selectors.selectBirthdate); const zodiacSign = getZodiacSignByDate(birthdate); const [asset, setAsset] = useState(); const api = useApi(); const assetsData = useCallback(async () => { const { asset_categories } = await api.getAssetCategories({ locale }); const categoryId = getCategoryIdByZodiacSign(zodiacSign, asset_categories); const { assets } = await api.getAssets({ category: String(categoryId || "1") }); return assets; }, [api]); const { data: assets, // isPending } = useApiCall(assetsData); useEffect(() => { if (assets) { setAsset(assets[getRandomArbitrary(0, assets?.length || 0)]); } }, [assets]); const auraData = useCallback(async () => { const { user_aura } = await api.getAuras({ token }); return user_aura; }, [api, token]); const { data: aura, // isPending } = useApiCall(auraData); const dailyForecastData = useCallback(async () => { const { user_daily_forecast } = await api.getDailyForecasts({ token }); return user_daily_forecast; }, [api, token]) const { data: dailyForecast, // isPending } = useApiCall(dailyForecastData); const downloadImg = () => { if( !asset ) return; download(asset.url.replace('http://', 'https://'), 'image.png'); } return (
Your energy today
{aura && }
{/* */}
{buttonTextFormatter(t("aura-money_compatibility-button"))} {buttonTextFormatter(t("aura-10_breath-button"))}
{dailyForecast && dailyForecast.forecasts.map((forecast, index) => (
{forecast.category}

{forecast.body}

))}
); } export default HomePage;