import React, { useEffect, useState } from 'react'; import styles from './routepage.module.css'; import { WrongSourcePage } from '../WrongSourcePage'; import { ClickerPage } from '../ClickerPage'; import { RatingPage } from '../RatingPage'; import { AuctionPage } from '../AuctionPage'; import { StoragePage } from '../StoragePage'; import { useTgData } from '../../hooks/useTgData'; import { StylesPage } from '../StylesPage'; import { updateStyles } from '../../../utils/updateStyles'; import { useUserData } from '../../hooks/useUserData'; import { Spinner } from '../../Elements/Spinner'; import { updateBackground } from '../../../utils/updateBackground'; import { ErrorPage } from '../ErrorPage'; import { useNavigate } from 'react-router-dom'; import { DevPage } from '../DevPage'; import { useRankData } from '../../hooks/useRankData'; import { useDispatch } from 'react-redux'; import { loadWinAuction } from '../../../store/auction/actions'; import { useAppSelector } from '../../hooks/useAppSelector'; import { checkMobile } from '../../../utils/checkMobile'; interface IRoutePage { page: string } export function RoutePage({ page }: IRoutePage) { const verified = useTgData(); const { dataUser, loadingUser, errorUser } = useUserData(); const token = useAppSelector(state => state.token); const [mobile, setMobile] = useState(false); useRankData(); const navigate = useNavigate(); const dispatch = useDispatch(); //@ts-ignore const tg = window.Telegram.WebApp; var BackButton = tg.BackButton; useEffect(() => { dispatch(loadWinAuction()); }, [token]); useEffect(() => { updateBackground(page); updateStyles(); if(page === 'main') { BackButton.hide(); } else { BackButton.show(); } }, [page]); BackButton.onClick(function () { navigate(-1); }); useEffect(() => { setMobile(checkMobile()); }, []); return (
{!mobile ? :
{!verified ? :
{ //@ts-ignore page === 'main' && (!loadingUser || dataUser.username) && !errorUser && dataUser.name && } {page === 'rating' && (!loadingUser || dataUser.username) && !errorUser && } {page === 'referral' && (!loadingUser || dataUser.username) && !errorUser && } {page === 'auction' && (!loadingUser || dataUser.username) && !errorUser && } {page === 'styles' && (!loadingUser || dataUser.username) && !errorUser && } {page === 'dev' && } {(loadingUser) &&
} {errorUser && !loadingUser && }
}
}
); }