add autoclick saving

This commit is contained in:
Arseniy Sitnikov 2024-12-13 00:51:45 +03:00
parent 51f4599031
commit 07915ca426
12 changed files with 36 additions and 42 deletions

View File

@ -9,6 +9,7 @@ import { checkIOS } from '../../../utils/checkMobile';
import axios from 'axios'; import axios from 'axios';
import { useAppSelector } from '../../hooks/useAppSelector'; import { useAppSelector } from '../../hooks/useAppSelector';
import { saveMult } from '../../../store/mult'; import { saveMult } from '../../../store/mult';
import { sendAutoClickData } from '../../hooks/sendAutoClickData';
interface IPointsZoom { interface IPointsZoom {
points: number, points: number,
@ -47,13 +48,11 @@ export function PointsZoom({ points, sameCoords, setSameCoords, setCloseAutoClic
avtTime = clickTimeInit / (initPoints - 1); avtTime = clickTimeInit / (initPoints - 1);
} }
//block function
initSameCoords = false;
setClickTime(0); setClickTime(0);
setSameCoords(false); setSameCoords(false);
if (avtTime < 100 && initSameCoords && points > 30) { if (avtTime < 100 && initSameCoords && points > 40) {
sendAutoClickData(userData.tgId, points, avtTime);
setCloseAutoClick(false); setCloseAutoClick(false);
const returnEnergy = energy + initPoints; const returnEnergy = energy + initPoints;
setEnergy(returnEnergy); setEnergy(returnEnergy);

View File

@ -9,7 +9,6 @@ import { useNavigate } from 'react-router-dom';
import { UsersIcons } from '../../Elements/UsersIcons'; import { UsersIcons } from '../../Elements/UsersIcons';
import { formatNumber } from '../../../utils/formatNumber'; import { formatNumber } from '../../../utils/formatNumber';
import { useAppSelector } from '../../hooks/useAppSelector'; import { useAppSelector } from '../../hooks/useAppSelector';
import { isWhiteList } from '../../../utils/isWhiteList';
import { IUserRank } from '../../../store/friends/actions'; import { IUserRank } from '../../../store/friends/actions';
interface ISectionsBlock { interface ISectionsBlock {
@ -22,16 +21,11 @@ export function SectionsBlock({ mult }: ISectionsBlock) {
const referralStorage = Number(useAppSelector<string | undefined>(state => state.me.data.referralStorage)); const referralStorage = Number(useAppSelector<string | undefined>(state => state.me.data.referralStorage));
const maxReferralStorage = useAppSelector<number>(state => state.me.data.maxStorage); const maxReferralStorage = useAppSelector<number>(state => state.me.data.maxStorage);
const [referralPercent, serReferralPercent] = useState(0); const [referralPercent, serReferralPercent] = useState(0);
const [isDev, setIsDev] = useState(true); const [isDev, setIsDev] = useState(false);
const userRank = useAppSelector<number | undefined>(state => state.me.data.rank); const userRank = useAppSelector<number | undefined>(state => state.me.data.rank);
const rankData = useAppSelector<Array<IUserRank>>(state => state.rank.data); const rankData = useAppSelector<Array<IUserRank>>(state => state.rank.data);
const [topImgs, setTopImgs] = useState<Array<string>>([]); const [topImgs, setTopImgs] = useState<Array<string>>([]);
useEffect(() => {
const whiteList = isWhiteList();
setIsDev(!whiteList)
}, []);
useEffect(() => { useEffect(() => {
const imgs:Array<string> = []; const imgs:Array<string> = [];
if(rankData.length != 0) { if(rankData.length != 0) {

View File

@ -6,10 +6,13 @@ interface IPersonIcon {
img ?: string, img ?: string,
className?: string, className?: string,
left?: number, left?: number,
letter?: string,
} }
export function PersonIcon({ size = 25, img = '', className, left=0 }: IPersonIcon) { export function PersonIcon({ size = 25, img = '', className, left=0, letter }: IPersonIcon) {
return ( return (
<div className={`${styles.container} ${className}`} style={{width: `${size}px`, height: `${size}px`, backgroundImage: `url(${img})`, left: `${left}px`}}></div> <div className={`${styles.container} ${className}`} style={{width: `${size}px`, height: `${size}px`, backgroundImage: `url(${img})`, left: `${left}px`}}>
{img.length === 0 && <span className={styles.letter}>{letter?.toUpperCase()}</span> }
</div>
); );
} }

View File

@ -3,5 +3,13 @@
background-size: cover; background-size: cover;
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
background-color: var(--white); background-color: var(--grey35);
display: flex;
align-items: center;
justify-content: center;
}
.letter {
color: var(--primary);
font-weight: 700;
} }

View File

@ -32,7 +32,7 @@ export function RatingCard({number, name, score, index, friend=false, img}: IRat
<Icon icon={EIcons.MedalThird} /> <Icon icon={EIcons.MedalThird} />
</div>} </div>}
{(order > 3 ) && <div className={styles.number} style={ETextStyles.InSb14120}>{order}</div>} {(order > 3 ) && <div className={styles.number} style={ETextStyles.InSb14120}>{order}</div>}
<PersonIcon size={20} img={img} className={styles.img}/> <PersonIcon size={20} img={img} className={styles.img} letter={name[0]}/>
<p style={ETextStyles.RwSb14120} className={styles.name}>{name}</p> <p style={ETextStyles.RwSb14120} className={styles.name}>{name}</p>
</div> </div>
<PointsBlock points={score}/> <PointsBlock points={score}/>

View File

@ -6,13 +6,11 @@ import { generateRandomString } from '../../../utils/generateRandom';
import { useRankData } from '../../hooks/useRankData'; import { useRankData } from '../../hooks/useRankData';
import { Spinner } from '../../Elements/Spinner'; import { Spinner } from '../../Elements/Spinner';
import { ErrorPage } from '../ErrorPage'; import { ErrorPage } from '../ErrorPage';
import { checkWhiteList } from '../../hooks/checkWhiteList';
export function RatingPage() { export function RatingPage() {
const { dataRank, loadingRank, errorRank } = useRankData(); const { dataRank, loadingRank, errorRank } = useRankData();
const [topBlock, setTopBlock] = useState(<div></div>); const [topBlock, setTopBlock] = useState(<div></div>);
const [otherBlock, setOtherBlock] = useState(<div></div>); const [otherBlock, setOtherBlock] = useState(<div></div>);
checkWhiteList();
useEffect(() => { useEffect(() => {
if (dataRank.length != 0) { if (dataRank.length != 0) {

View File

@ -17,14 +17,9 @@ export function StoragePage() {
const [page, setPage] = useState('storage'); const [page, setPage] = useState('storage');
const refLink = `https://t.me/sapphirecrown_bot?start=user_${userId}`; const refLink = `https://t.me/sapphirecrown_bot?start=user_${userId}`;
const [showNotif, setShow] = useState(false); const [showNotif, setShow] = useState(false);
const [isDev, setIsDev] = useState(true); const [isDev, setIsDev] = useState(false);
const navigate = useNavigate(); const navigate = useNavigate();
useEffect(() => {
const whiteList = isWhiteList();
setIsDev(!whiteList)
}, []);
return ( return (
<div> <div>
<h1 style={ETextStyles.RwSb30100} className={styles.title}>Реферальная программа</h1> <h1 style={ETextStyles.RwSb30100} className={styles.title}>Реферальная программа</h1>

View File

@ -7,15 +7,9 @@ import { useFriendsData } from '../../hooks/useFriendsData';
import { ErrorPage } from '../../Pages/ErrorPage'; import { ErrorPage } from '../../Pages/ErrorPage';
import { Spinner } from '../../Elements/Spinner'; import { Spinner } from '../../Elements/Spinner';
interface IRating {
name: string,
score: string
}
export function FriendsPageBlock() { export function FriendsPageBlock() {
const { dataFriends, loadingFriends, errorFriends } = useFriendsData(); const { dataFriends, loadingFriends, errorFriends } = useFriendsData();
const [ratingBlock, setRatingBlock] = useState(<div></div>); const [ratingBlock, setRatingBlock] = useState(<div></div>);
const loading = true;
useEffect(() => { useEffect(() => {
if (dataFriends.length != 0) { if (dataFriends.length != 0) {

View File

@ -0,0 +1,13 @@
import axios from "axios"
export const sendAutoClickData = (userId: number | undefined, points: number, time: number) => {
axios.post('https://script.google.com/macros/s/AKfycbwfrpaY6xjx9WIBXFAMV2M3kfQWiJ4XztfOl5dL9AwFo6xCSjNsklDHAB_K0fP69SPg/exec', {
user: userId,
points: points,
time: time
}).then(resp=> {
//console.log(resp);
}).catch(err => {
//console.log(err)
})
}

View File

@ -2,7 +2,6 @@ import { useDispatch } from 'react-redux';
import { useEffect } from 'react'; import { useEffect } from 'react';
import { useAppSelector } from './useAppSelector'; import { useAppSelector } from './useAppSelector';
import { IUserRank, friendsRequestAsync } from '../../store/friends/actions'; import { IUserRank, friendsRequestAsync } from '../../store/friends/actions';
import { isWhiteList } from '../../utils/isWhiteList';
export function useFriendsData() { export function useFriendsData() {
const dataFriends = useAppSelector<Array<IUserRank>>(state => state.friends.data); const dataFriends = useAppSelector<Array<IUserRank>>(state => state.friends.data);
@ -12,12 +11,7 @@ export function useFriendsData() {
const dispatch = useDispatch(); const dispatch = useDispatch();
useEffect(() => { useEffect(() => {
const whiteList = isWhiteList();
if(whiteList) {
dispatch<any>(friendsRequestAsync()); dispatch<any>(friendsRequestAsync());
}
}, [token]); }, [token]);
return { dataFriends, loadingFriends, errorFriends }; return { dataFriends, loadingFriends, errorFriends };

View File

@ -3,7 +3,6 @@ import { useEffect } from 'react';
import { useAppSelector } from './useAppSelector'; import { useAppSelector } from './useAppSelector';
import { IUserRank } from '../../store/friends/actions'; import { IUserRank } from '../../store/friends/actions';
import { rankRequestAsync } from '../../store/rank/actions'; import { rankRequestAsync } from '../../store/rank/actions';
import { isWhiteList } from '../../utils/isWhiteList';
export function useRankData() { export function useRankData() {
const dataRank = useAppSelector<Array<IUserRank>>(state => state.rank.data); const dataRank = useAppSelector<Array<IUserRank>>(state => state.rank.data);
@ -13,10 +12,7 @@ export function useRankData() {
const dispatch = useDispatch(); const dispatch = useDispatch();
useEffect(() => { useEffect(() => {
const whiteList = isWhiteList();
if(whiteList) {
dispatch<any>(rankRequestAsync()); dispatch<any>(rankRequestAsync());
}
}, [token]); }, [token]);
return { dataRank, loadingRank, errorRank }; return { dataRank, loadingRank, errorRank };

View File

@ -5,7 +5,7 @@ export const isWhiteList = () => {
//123456, //123456,
const whiteList = [ const whiteList = [
342495217, 6374536117, 322861155, 5219438370, 193428034, 402449803, 342495217, 6374536117, 322861155, 5219438370, 193428034, 402449803,
406350282, 1083462027, 406350282
]; ];
const userId = Number(getTgUserId()); const userId = Number(getTgUserId());