Changeset 22367db for components


Ignore:
Timestamp:
07/19/22 19:38:51 (2 years ago)
Author:
anastasovv <simon@…>
Branches:
main
Children:
41d3f60
Parents:
faff334
Message:

Added authentication with google

Location:
components
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • components/GamesHistory.jsx

    rfaff334 r22367db  
    3939                            <h5><Calculations action="calculateHandValue" cards={room.playerCards}/></h5>
    4040                        </div>
    41                         <p>Player {room.displayName} (${parseInt(room.initialBet) + parseInt(room.sideBet)})</p>
     41                        <p>Player {room?.displayName} (${parseInt(room.initialBet) + parseInt(room.sideBet)})</p>
    4242                        </div>
    4343                        <div>
    4444                        <div>
    45                             <h6><span>Outcome:</span><br/>{room.outcome}</h6>
    46                             <h6><span>Side Bet Outcome:</span><br/>{room.sideBetOutcome}</h6>
     45                            <h6><span>Played on:<br/>{room.finished}</span></h6>
     46                            { room?.outcome?.lenght > 0 && <h6><span>Outcome:</span><br/>{room.outcome}</h6> }
     47                            { room?.sideBetOutcome.lenght > 0 && <h6><span>Side Bet Outcome:</span><br/>{room.sideBetOutcome}</h6> }
    4748                        </div>
    4849                        </div>
     
    6566                        <div key={`roulettegame${gameIdx}`}>
    6667                            <h6>
     68                                <span>Played on: {game?.finished}</span><br/>
    6769                                <span>Ball on number: </span>{game?.magicNumber}&nbsp;&nbsp;&nbsp;&nbsp;
    6870                                <span>Winning bets: </span>{game?.winningBets?.join(", ")}
     
    7577                                </div>
    7678                                <div>
    77                                     <h6><span>{player.name} (${player.betAmount})</span></h6>
     79                                    <h6><span>{player.name} (</span>${player.betAmount}<span>)</span></h6>
    7880                                </div>
    7981                                <div>
     
    8183                                </div>
    8284                                <div>
    83                                     <h6><span>Outcome: {player.outcome}</span></h6>
     85                                    <h6><span>Outcome: </span>{player.outcome}</h6>
    8486                                </div>
    8587                                </div>
     
    9496                    <div key={table.id} className="livePokerGame">
    9597                        <h6>
    96                         <span>Pot: </span>{table?.pot}&nbsp;&nbsp;&nbsp;&nbsp;
    97                         <span>Winners: </span>{table?.winners?.map(e=>e.displayName)?.join(", ")}
     98                        <span>Played on: {table?.finished}</span><br/>
     99                        <span>Pot: </span>${table?.pot}&nbsp;&nbsp;&nbsp;&nbsp;
     100                        <span>Winners: </span>{table?.winners?.map(e=>e?.displayName)?.join(", ")}
    98101                        </h6>
    99102                        <div className="cardsOnTable" style={{marginTop: '2rem'}}>
     
    106109                        <div key={player.id} className="playerInLivePokerGame">
    107110                            <div>
    108                             <h6><span>Player {player.displayName} (${player.betAmount})</span></h6>
     111                            <h6><span>Player {player?.displayName} (</span>${player.betAmount}<span>)</span></h6>
    109112                            </div>
    110113                            <div className="cards">
  • components/Header.jsx

    rfaff334 r22367db  
    1111import axios from 'axios';
    1212
     13import { signOut, useSession } from 'next-auth/react';
     14
    1315const Header = () => {
     16  const { data: googleSession } = useSession();
     17
     18  useEffect(() => {
     19    if (googleSession && (!localStorage.CAESSINO_SESSION_ID || localStorage.CAESSINO_SESSION_ID === "")) {
     20      axios.post(`/api/postgre`, {
     21        action: 'login_via_google',
     22        googleSession: googleSession,
     23      })
     24        .then(res => {
     25          if (res.data?.success) {
     26            localStorage.CAESSINO_SESSION_ID = res.data?.session?.id;
     27
     28            dispatch(setPlayer({
     29                ...playerState.player,
     30                username: res.data?.session?.username,
     31                displayName: res.data?.session?.displayName,
     32                credits: res.data?.session.credits,
     33                session_id: res.data?.session?.id,
     34            }));
     35
     36            dispatch(setStyle({
     37                ...styleState.style,
     38                displayLoadingScreen: false,
     39                displayLoginScreen: false,
     40                loginScreenInfo: {
     41                    username: '',
     42                    password: '',
     43                },
     44                notification: {
     45                    show: true,
     46                    text: 'Successfully logged in.',
     47                    status: 'success',
     48                },
     49                inlineAlertText: '',
     50            }));
     51          }
     52      });
     53    }
     54  }, [googleSession])
     55
     56
    1457  const dispatch = useDispatch();
    1558
     
    5093          credits: 0,
    5194        }))
     95        signOut();
    5296      }
    5397    })
  • components/LoginScreen.jsx

    rfaff334 r22367db  
    77import { setPlayer } from '../redux/reducers/playerSlice';
    88import { setStyle } from '../redux/reducers/styleSlice';
     9
     10import { FcGoogle } from 'react-icons/fc';
     11import { signIn } from 'next-auth/react';
    912
    1013import axios from 'axios';
     
    146149                        <button className="secondaryButton" onClick={() => login()}>Log In</button>
    147150                    </div>
     151                    <button onClick={() => signIn()} className="primaryButton" style={{marginTop: '10rem', color: '#eee', padding: '.6rem 2rem'}}><FcGoogle style={{padding: '.2rem', background: '#eee', borderRadius: '50%', fontSize: '2rem', marginBottom: '-.4rem'}}/> Log In With Google</button>
    148152                </div>
    149153            </div>
  • components/admin/LiveGames.jsx

    rfaff334 r22367db  
    7171                    <h5><Calculations action="calculateHandValue" cards={room.playerCards}/></h5>
    7272                  </div>
    73                   <p>Player {room.displayName} (${parseInt(room.initialBet) + parseInt(room.sideBet)})</p>
     73                  <p>Player {room?.displayName} (${parseInt(room.initialBet) + parseInt(room.sideBet)})</p>
    7474                </div>
    7575                <div>
    7676                  <div>
    7777                      <h6><span>Status:</span><br/>{room.status}</h6>
    78                       <h6><span>Outcome:</span><br/>{room.outcome}</h6>
    79                       <h6><span>Side Bet Outcome:</span><br/>{room.sideBetOutcome}</h6>
     78                      { room?.outcome?.length > 0 && <h6><span>Outcome:</span><br/>{room.outcome}</h6> }
     79                      { room?.sideBetOutcome?.length > 0 && <h6><span>Side Bet Outcome:</span><br/>{room.sideBetOutcome}</h6> }
    8080                  </div>
    8181                </div>
     
    9999                <span>Status: </span>{adminInformationState.adminInformation?.liveGames?.roulette?.status}&nbsp;&nbsp;&nbsp;&nbsp;
    100100                <span>Time to start: </span>{adminInformationState.adminInformation?.liveGames?.roulette?.timeToStart}&nbsp;&nbsp;&nbsp;&nbsp;
    101                 <span>Ball on number: </span>{adminInformationState.adminInformation?.liveGames?.roulette?.magicNumber}&nbsp;&nbsp;&nbsp;&nbsp;
    102                 <span>Winning bets: </span>{adminInformationState.adminInformation?.liveGames?.roulette?.winningBets?.join(", ")}
     101                { adminInformationState.adminInformation?.liveGames?.roulette?.magicNumber != -1 && <><span>Ball on number: </span>{adminInformationState.adminInformation?.liveGames?.roulette?.magicNumber}&nbsp;&nbsp;&nbsp;&nbsp;</> }
     102                { adminInformationState.adminInformation?.liveGames?.roulette?.magicNumber != -1 && <><span>Winning bets: </span>{adminInformationState.adminInformation?.liveGames?.roulette?.winningBets?.join(", ")}</> }
    103103              </h6>
    104104              <h6 style={{marginTop: '2rem'}}><span>Players:</span></h6>
     
    109109                  </div>
    110110                  <div>
    111                     <h6><span>{player.name} (${player.betAmount})</span></h6>
     111                    <h6><span>{player.name} (${player?.betAmount})</span></h6>
    112112                  </div>
    113113                  <div>
    114                     <h6><span>Betted on: </span>{player.whichBets.join(", ")}</h6>
     114                    { player?.whichBets?.length > 0 && <h6><span>Betted on: </span>{player?.whichBets?.join(", ")}</h6> }
    115115                  </div>
    116116                  <div>
    117                     <h6><span>Outcome: {player.outcome}</span></h6>
     117                    { adminInformationState.adminInformation?.liveGames?.roulette?.magicNumber != -1 && player?.whichBets?.length > 0 && <h6><span>Outcome: </span>{player.outcome}</h6> }
    118118                  </div>
    119119                </div>
     
    129129                  <span>Round: </span>{table?.round}/4&nbsp;&nbsp;&nbsp;&nbsp;
    130130                  <span>Started: </span>{table?.started}&nbsp;&nbsp;&nbsp;&nbsp;
    131                   <span>Player on turn: </span>{table?.turnIdx}&nbsp;&nbsp;&nbsp;&nbsp;
    132                   <span>Pot: </span>{table?.pot}&nbsp;&nbsp;&nbsp;&nbsp;
    133                   <span>Winners: </span>{table?.winners?.map(e=>e.displayName)?.join(", ")}
     131                  <span>Player on turn: </span>{table.players[table.turnIdx]?.displayName ?? '-'}&nbsp;&nbsp;&nbsp;&nbsp;
     132                  <span>Pot: </span>${table?.pot}&nbsp;&nbsp;&nbsp;&nbsp;
     133                  { table?.winners?.length > 0 && <><span>Winners: </span>{table?.winners?.map(e=>e?.displayName)?.join(", ")}</> }
    134134                </h6>
    135135                <div className="cardsOnTable" style={{marginTop: '2rem'}}>
     
    142142                  <div key={player.id} className="playerInLivePokerGame">
    143143                    <div>
    144                       <h6><span>Player {player.displayName} (${player.betAmount})</span></h6>
     144                      <h6><span>Player {player?.displayName} (${player.betAmount})</span></h6>
    145145                    </div>
    146146                    <div className="cards">
     
    150150                    </div>
    151151                    <div>
    152                       <h6><span>Hand: </span><Calculations action="getBestHandDetails" cards={player.cards} cards2={table.cards}/></h6>
     152                      { table?.cards?.length > 0 && <h6><span>Hand: </span><Calculations action="getBestHandDetails" cards={player.cards} cards2={table.cards}/></h6> }
    153153                    </div>
    154154                  </div>
  • components/blackjack/BlackjackHeader.jsx

    rfaff334 r22367db  
     1/* eslint-disable @next/next/no-html-link-for-pages */
    12import React from 'react'
    23
     
    6263                            dispatch(setBlackjackGame(newRes.data?.blackjackGame))
    6364
    64                             if (newRes.data?.blackjackGame?.credits !== playerState.player.credits && parseInt(newRes.data?.blackjackGame?.credits) > 0) {
     65                            if (newRes.data?.blackjackGame?.credits !== playerState.player.credits && parseInt(newRes.data?.blackjackGame?.credits) >= 0) {
    6566                                dispatch(setPlayer({
    6667                                    ...playerState.player,
     
    138139    return (
    139140        <header className="header">
    140             <Link href="/" passHref>
     141            <a href="/">
    141142                <h2>
    142143                    <AiOutlineArrowLeft />
    143144                </h2>
    144             </Link>
     145            </a>
    145146            <nav>
    146147                <ul>
  • components/poker/PokerHeader.jsx

    rfaff334 r22367db  
     1/* eslint-disable @next/next/no-html-link-for-pages */
    12import React from 'react'
    23
     
    4950                            dispatch(setPokerGame(newRes.data?.pokerGame))
    5051       
    51                             if (newRes.data?.pokerGame?.player?.credits !== playerState.player.credits && newRes.data?.pokerGame?.player?.credits > 0) {
     52                            if (newRes.data?.pokerGame?.player?.credits !== playerState.player.credits && newRes.data?.pokerGame?.player?.credits >= 0) {
    5253                                dispatch(setPlayer({
    5354                                    ...playerState.player,
     
    110111        <header className="header">
    111112            <div style={{display: 'flex', alignItems: 'center'}}>
    112                 <Link href="/" passHref>
     113                <a href="/">
    113114                    <h2>
    114115                        <AiOutlineArrowLeft />
    115116                    </h2>
    116                 </Link>
     117                </a>
    117118                { playerState.pokerGame?.player?.table?.length > 0 && <button style={{marginBottom: '4px', marginLeft: '32px', fontSize: '16px'}} className="tertiaryButton" onClick={() => leaveTable()}>Leave Table</button> }
    118119            </div>
  • components/roulette/RouletteHeader.jsx

    rfaff334 r22367db  
     1/* eslint-disable @next/next/no-html-link-for-pages */
    12import React from 'react'
    23
     
    7677                            }
    7778
    78                             if (newRes.data?.rouletteGame?.player?.credits !== playerState.player.credits && newRes.data?.rouletteGame?.player?.credits > 0) {
     79                            if (newRes.data?.rouletteGame?.player?.credits !== playerState.player.credits && newRes.data?.rouletteGame?.player?.credits >= 0) {
    7980                                dispatch(setPlayer({
    8081                                    ...playerState.player,
     
    146147    return (
    147148        <header className="header">
    148             <Link href="/" passHref>
     149            <a href="/">
    149150                <h2>
    150151                    <AiOutlineArrowLeft />
    151152                </h2>
    152             </Link>
     153            </a>
    153154            <nav>
    154155                <ul>
Note: See TracChangeset for help on using the changeset viewer.