Ignore:
Timestamp:
07/03/22 22:59:15 (2 years ago)
Author:
anastasovv <simon@…>
Branches:
main
Children:
3a783f2
Parents:
ace7865
Message:

Made poker tables system and round 1

File:
1 edited

Legend:

Unmodified
Added
Removed
  • components/poker/PokerHeader.jsx

    race7865 rb13f93b  
    33import Link from 'next/link'
    44
     5import { useRouter } from 'next/router'
     6
    57import { AiOutlineArrowLeft } from 'react-icons/ai'
    68
     9import { useEffect } from 'react'
    710import { useDispatch, useSelector } from 'react-redux'
    811
     12import { setPlayer, setPokerGame, setSocket } from '../../redux/reducers/playerSlice'
     13import { setStyle } from '../../redux/reducers/styleSlice'
     14
     15import axios from 'axios';
     16
    917const PokerHeader = () => {
     18    const dispatch = useDispatch();
     19
     20    const router = useRouter();
     21
    1022    const playerState = useSelector(state => state.player);
    1123    const styleState = useSelector(state => state.style);
     24
     25    useEffect(() => async function() {
     26        // display loading screen
     27        dispatch(setStyle({
     28            ...styleState.style,
     29            displayLoadingScreen: true,
     30        }));
     31
     32        let interval = setInterval(() => {
     33            axios.get(`/api/poker?action=update_state&session_id=${localStorage.CAESSINO_SESSION_ID}`).then(res => {
     34                if (res.data?.success) {
     35                    dispatch(setPokerGame(res.data?.pokerGame))
     36                }
     37            });
     38        }, 3000);
     39
     40        axios.get(`/api/poker?action=get_player_info_on_enter&session_id=${localStorage.CAESSINO_SESSION_ID}`).then(res => {
     41            if (res.data?.success) {
     42                dispatch(setPlayer({
     43                    ...playerState.player,
     44                    displayName: res.data?.displayName,
     45                    session_id: res.data?.session_id,
     46                    credits: res.data?.credits,
     47                }));
     48
     49                dispatch(setStyle({
     50                    ...styleState.style,
     51                    displayLoadingScreen: false,
     52                }))
     53            }
     54            else {
     55                dispatch(setStyle({
     56                    ...styleState.style,
     57                    notification: {
     58                        show: true,
     59                        text: 'Please login in order to play poker.',
     60                        status: 'error',
     61                    },
     62                    displayLoadingScreen: false,
     63                }))
     64
     65                router.push('/');
     66            }
     67        });
     68       
     69        return () => clearInterval(interval);
     70    }, [playerState.pokerGame.player.table])
    1271
    1372    return (
Note: See TracChangeset for help on using the changeset viewer.