Changeset 433e0c5


Ignore:
Timestamp:
07/15/22 14:45:30 (22 months ago)
Author:
anastasovv <simon@โ€ฆ>
Branches:
main
Children:
55701f0
Parents:
1df3fde
Message:

Added complaints, managing credits, and lost connection screens

Files:
4 added
1 deleted
19 edited

Legend:

Unmodified
Added
Removed
  • components/Header.jsx

    r1df3fde r433e0c5  
    5454  }
    5555
     56  function complain() {
     57    dispatch(setStyle({
     58      ...styleState.style,
     59      displayComplainScreen: true,
     60    }))
     61  }
     62
    5663  function showStats() {
    5764    axios.get(`/api/postgre?action=get_stats&session_id=${localStorage.CAESSINO_SESSION_ID}`).then(res => {
     
    8794      ...styleState.style,
    8895      displayManageCreditsScreen: true,
     96      displayDepositModal: false,
     97      displayWithdrawModal: false,
    8998    }))
    9099  }
     
    144153              <>
    145154                <li onClick={() => {manageCredits()}}>Manage Credits</li>
    146                 <li onClick={() => {showStats()}}>Stats</li>
     155                <li onClick={() => {showStats()}}>Statistics</li>
     156                <li onClick={() => {complain()}}>Complain</li>
    147157                <li onClick={() => {logout()}}>Logout</li>
    148158              </>
  • components/ManageCredits.jsx

    r1df3fde r433e0c5  
    1515    const dispatch = useDispatch();
    1616
    17     function close() {
     17    function close(action = '') {
    1818        dispatch(setStyle({
    1919            ...styleState.style,
    2020            displayManageCreditsScreen: false,
     21            displayDepositModal: false,
     22            displayWithdrawModal: false,
     23            depositModalInputs: {
     24                name: '',
     25                card: '',
     26                expire: '',
     27                ccv: '',
     28                amount: '',
     29            },
     30            displayWithdrawModal: false,
     31            withdrawModalInputs: {
     32                citibank: '',
     33                iban: '',
     34                bic: '',
     35                beneficiary: '',
     36                address: '',
     37                amount: '',
     38            },
     39            inlineAlertText: '',
     40            notification: action === 'deposit' ? {
     41                show: true,
     42                text: `Deposited $${styleState.style.depositModalInputs.amount} successfully`,
     43                status: 'success',
     44            } : action === 'withdraw' ? {
     45                show: true,
     46                text: `Withdrawed $${styleState.style.withdrawModalInputs.amount} successfully`,
     47                status: 'success',
     48            } : {
     49                show: false,
     50                text: '',
     51                status: ''
     52            },
     53        }))
     54    }
     55
     56   
     57    function openDepositModal() {
     58        dispatch(setStyle({
     59            ...styleState.style,
     60            displayDepositModal: true,
     61            displayWithdrawModal: false,
     62            inlineAlertText: '',
     63        }))
     64    }
     65
     66    function openWithdrawModal() {
     67        dispatch(setStyle({
     68            ...styleState.style,
     69            displayDepositModal: false,
     70            displayWithdrawModal: true,
     71            inlineAlertText: '',
    2172        }))
    2273    }
    2374
    2475    function buyCredits() {
    25         axios.get(`/api/postgre/?action=add_credits&session_id=${localStorage.CAESSINO_SESSION_ID}&credits=${500}&dont_update_stats=true`).then(res => {
    26             if (res.data?.success) {
    27                 dispatch(setPlayer({
    28                     ...playerState.player,
    29                     credits: res.data.credits,
    30                 }))
    31             }
    32         });
     76        axios.post(`/api/postgre`, {
     77            action: 'deposit',
     78            session_id: localStorage.CAESSINO_SESSION_ID,
     79            data: styleState.style.depositModalInputs
     80        })
     81            .then(res => {
     82                if (res.data?.success) {
     83                    dispatch(setPlayer({
     84                        ...playerState.player,
     85                        credits: res.data.credits,
     86                    }))
     87
     88                    close('deposit');
     89                }
     90                else {
     91                    dispatch(setStyle({
     92                        ...styleState.style,
     93                        displayManageCreditsScreen: true,
     94                        inlineAlertText: res.data?.message,
     95                    }));
     96                }
     97            })
     98    }
     99
     100    function sellCredits() {
     101        axios.post(`/api/postgre`, {
     102            action: 'withdraw',
     103            session_id: localStorage.CAESSINO_SESSION_ID,
     104            data: styleState.style.withdrawModalInputs
     105        })
     106            .then(res => {
     107                if (res.data?.success) {
     108                    dispatch(setPlayer({
     109                        ...playerState.player,
     110                        credits: res.data.credits,
     111                    }))
     112
     113                    close('withdraw');
     114                }
     115                else {
     116                    dispatch(setStyle({
     117                        ...styleState.style,
     118                        displayManageCreditsScreen: true,
     119                        inlineAlertText: res.data?.message,
     120                    }));
     121                }
     122            })
    33123    }
    34124
     
    37127            <AiOutlineClose onClick={() => close()} style={{position: 'absolute', top: '20px', right: '20px'}}/>
    38128            <div>
    39                 <h1>Manage Credits:</h1>
    40                 <p>You currently have: ${playerState.player.credits}</p>
    41129                <div>
    42                     <button className="primaryButton" onClick={() => buyCredits()}>Buy Credits</button>
     130                    <h2>Manage (In-Game) Credits:</h2>
     131                    <p>You currently have: ${playerState.player.credits}</p>
     132                </div>
     133                <div className="main">
     134                    <div>
     135                        { styleState.style.displayDepositModal && styleState.style.inlineAlertText.length > 0 && <span className="inlineAlert">{styleState.style.inlineAlertText}</span>}
     136                        { !styleState.style.displayDepositModal && <button className="primaryButton" onClick={() => openDepositModal()}>Deposit From Credit Card<br/><span>Buy (In-Game) Credits</span></button> }
     137                        { styleState.style.displayDepositModal && (
     138                            <div className="fs-inputs-container">
     139                                <div>
     140                                    <label>Name and Surname</label>
     141                                    <input type="text" className="primaryInput" onChange={(e) => {onChangeDeposit(e, 'name')}} value={styleState.style.depositModalInputs.name} placeholder="John Doe"/>
     142                                    <label>Card Number</label>
     143                                    <input type="text" className="primaryInput" onChange={(e) => {onChangeDeposit(e, 'card')}} value={styleState.style.depositModalInputs.card} placeholder="2333 9298 9821 1111"/>
     144                                    <label>Expire Date</label>
     145                                    <input type="text" className="primaryInput" onChange={(e) => {onChangeDeposit(e, 'expire')}} value={styleState.style.depositModalInputs.expire} placeholder="07/24"/>
     146                                    <label>CCV</label>
     147                                    <input type="text" className="primaryInput" onChange={(e) => {onChangeDeposit(e, 'ccv')}} value={styleState.style.depositModalInputs.ccv} placeholder="337"/>
     148                                    <label><span>Amount</span></label>
     149                                    <input type="text" className="primaryInput" onChange={(e) => {onChangeDeposit(e, 'amount')}} value={styleState.style.depositModalInputs.amount} placeholder="500"/>
     150                                    <button className="primaryButton" onClick={() => buyCredits()}>Deposit</button>
     151                                </div>
     152                            </div>
     153                        )}
     154                    </div>
     155                    <div>
     156                        { styleState.style.displayWithdrawModal && styleState.style.inlineAlertText.length > 0 && <span className="inlineAlert">{styleState.style.inlineAlertText}</span>}
     157                        { !styleState.style.displayWithdrawModal && <button className="primaryButton" onClick={() => openWithdrawModal()}>Withdraw To Personal Account<br/><span>Sell (In-Game) Credits</span></button> }
     158                        { styleState.style.displayWithdrawModal && (
     159                            <div className="fs-inputs-container">
     160                                <div>
     161                                    <label>Bank name</label>
     162                                    <input type="text" className="primaryInput" onChange={(e) => {onChangeWithdraw(e, 'citibank')}} value={styleState.style.withdrawModalInputs.citibank} placeholder="Swedbank"/>
     163                                    <label>IBAN</label>
     164                                    <input type="text" className="primaryInput" onChange={(e) => {onChangeWithdraw(e, 'iban')}} value={styleState.style.withdrawModalInputs.iban} placeholder="SE45 5000 0000 0583 9825 7466"/>
     165                                    <label>BIC</label>
     166                                    <input type="text" className="primaryInput" onChange={(e) => {onChangeWithdraw(e, 'bic')}} value={styleState.style.withdrawModalInputs.bic} placeholder="SWEDSESSXXX"/>
     167                                    <label>Beneficiary Name</label>
     168                                    <input type="text" className="primaryInput" onChange={(e) => {onChangeWithdraw(e, 'beneficiary')}} value={styleState.style.withdrawModalInputs.beneficiary} placeholder="John Doe"/>
     169                                    <label>Bank Address</label>
     170                                    <input type="text" className="primaryInput" onChange={(e) => {onChangeWithdraw(e, 'address')}} value={styleState.style.withdrawModalInputs.address} placeholder="Landsvรคgen 40, Sundbyberg"/>
     171                                    <label><span>Amount</span></label>
     172                                    <input type="text" className="primaryInput" onChange={(e) => {onChangeWithdraw(e, 'amount')}} value={styleState.style.withdrawModalInputs.amount} placeholder="500"/>
     173                                    <button className="primaryButton" onClick={() => sellCredits()}>Withdraw</button>
     174                                </div>
     175                            </div>
     176                        )}
     177                    </div>
    43178                </div>
    44179            </div>
    45180        </div>
    46181    )
     182
     183    function onChangeDeposit(e, what) {
     184        dispatch(setStyle({
     185            ...styleState.style,
     186            depositModalInputs: {
     187                name: what === 'name' ? e.target.value : styleState.style.depositModalInputs.name,
     188                card: what === 'card' ? e.target.value : styleState.style.depositModalInputs.card,
     189                expire: what === 'expire' ? e.target.value : styleState.style.depositModalInputs.expire,
     190                ccv: what === 'ccv' ? e.target.value : styleState.style.depositModalInputs.ccv,
     191                amount: what === 'amount' ? e.target.value : styleState.style.depositModalInputs.amount,
     192            }
     193        }))
     194    }
     195
     196    function onChangeWithdraw(e, what) {
     197        dispatch(setStyle({
     198            ...styleState.style,
     199            withdrawModalInputs: {
     200                citibank: what === 'citibank' ? e.target.value : styleState.style.depositModalInputs.citibank,
     201                iban: what === 'iban' ? e.target.value : styleState.style.depositModalInputs.iban,
     202                bic: what === 'bic' ? e.target.value : styleState.style.depositModalInputs.bic,
     203                beneficiary: what === 'beneficiary' ? e.target.value : styleState.style.depositModalInputs.beneficiary,
     204                address: what === 'address' ? e.target.value : styleState.style.depositModalInputs.address,
     205                amount: what === 'amount' ? e.target.value : styleState.style.depositModalInputs.amount,
     206            }
     207        }))
     208    }
    47209}
    48210
  • components/blackjack/Blackjack.jsx

    r1df3fde r433e0c5  
    1010import Alert from '../Alert'
    1111import Notification from '../Notification'
     12import LostConnection from '../LostConnection'
    1213
    1314const Blackjack = () => {
     
    3132
    3233      <Notification/>
     34
     35      <LostConnection/>
    3336    </div>
    3437  )
  • components/poker/Poker.jsx

    r1df3fde r433e0c5  
    88import Notification from '../Notification'
    99import PokerSections from './PokerSections'
     10import LostConnection from '../LostConnection'
    1011
    1112const Poker = () => {
     
    2526
    2627      <Notification/>
     28
     29      <LostConnection/>
    2730    </div>
    2831  )
  • components/poker/PokerHeader.jsx

    r1df3fde r433e0c5  
    1010import { useDispatch, useSelector } from 'react-redux'
    1111
    12 import { setPlayer, setPokerGame, setSocket } from '../../redux/reducers/playerSlice'
     12import { setPlayer, setPokerGame } from '../../redux/reducers/playerSlice'
    1313import { setStyle } from '../../redux/reducers/styleSlice'
    1414
     
    3636                if (interval !== null) clearInterval(interval);
    3737
    38                 dispatch(setPlayer({
    39                     ...playerState.player,
    40                     displayName: res.data?.displayName,
    41                     session_id: res.data?.session_id,
    42                     credits: res.data?.credits,
    43                 }));
    44 
    45                 dispatch(setStyle({
    46                     ...styleState.style,
    47                     displayLoadingScreen: false,
    48                 }))
    49 
    5038                interval = setInterval(() => {
    5139                    axios.get(`/api/poker?action=update_state&session_id=${localStorage.CAESSINO_SESSION_ID}`).then(newRes => {
     
    5644                                dispatch(setPlayer({
    5745                                    ...playerState.player,
     46                                    displayName: res.data?.displayName,
     47                                    session_id: res.data?.session_id,
    5848                                    credits: newRes.data?.pokerGame?.player?.credits,
    5949                                }))
    6050                            }
    6151                        }
     52
     53                        dispatch(setStyle({
     54                            ...styleState.style,
     55                            displayLoadingScreen: false,
     56                            notification: {
     57                                ...styleState.style.notification,
     58                                show: false,
     59                            },
     60                            lostConnectionInfo: {
     61                                show: false,
     62                                message: ''
     63                            }
     64                        }))
     65                    }).catch(error => {
     66                        dispatch(setStyle({
     67                            ...styleState.style,
     68                            displayLoadingScreen: false,
     69                            lostConnectionInfo: {
     70                                show: true,
     71                                message: 'Game will be played until the end upon server gets live. You cannot continue your game, but the money earned / lost will be updated.'
     72                            }
     73                        }))
    6274                    });
    63                 }, 2000);
     75                }, 1000);
    6476            }
    6577            else {
  • components/poker/PokerSections.jsx

    r1df3fde r433e0c5  
    11import React from 'react'
    22
    3 import Cards from './sections/Cards'
    43import CardsInTheMiddle from './sections/CardsInTheMiddle'
    54import Chairs from './sections/Chairs'
     
    87import PickATable from './sections/PickATable'
    98
    10 import { useSelector, useDispatch } from 'react-redux'
     9import { useSelector } from 'react-redux'
    1110import Pot from './sections/Pot'
    1211import RaiseModal from './sections/RaiseModal'
     
    2120
    2221          <Chairs/>
    23 
    24           <Cards/>
    2522
    2623          <CardsInTheMiddle/>
  • components/poker/sections/PickATable.jsx

    r1df3fde r433e0c5  
    66
    77import axios from 'axios';
    8 import { setPokerGame } from '../../../redux/reducers/playerSlice';
    98
    109const PickATable = () => {
  • components/roulette/BetModal.jsx

    r1df3fde r433e0c5  
    88
    99import axios from 'axios';
    10 import { setPlayer, setRouletteGame } from '../../redux/reducers/playerSlice';
    1110
    1211const BetModal = () => {
  • components/roulette/Roulette.jsx

    r1df3fde r433e0c5  
    88import Notification from '../Notification'
    99import Sections from './Sections'
     10import LostConnection from '../LostConnection'
    1011
    1112const Roulette = () => {
     
    2526
    2627      <Notification/>
     28
     29      <LostConnection/>
    2730    </div>
    2831  )
  • components/roulette/RouletteHeader.jsx

    r1df3fde r433e0c5  
    7979                                dispatch(setPlayer({
    8080                                    ...playerState.player,
     81                                    displayName: res.data?.displayName,
     82                                    session_id: res.data?.session_id,
    8183                                    credits: newRes.data?.rouletteGame?.player?.credits,
    8284                                }))
    8385                            }
    8486                        }
     87
     88                        if (newRes.data?.extraAction && newRes.data?.extraAction !== "spin_wheel") {
     89                            dispatch(setStyle({
     90                                ...styleState.style,
     91                                displayLoadingScreen: false,
     92                                notification: {
     93                                    ...styleState.style.notification,
     94                                    show: false,
     95                                },
     96                                lostConnectionInfo: {
     97                                    show: false,
     98                                    message: ''
     99                                }
     100                            }))
     101                        }
     102                    }).catch(error => {
     103                        dispatch(setStyle({
     104                            ...styleState.style,
     105                            displayLoadingScreen: false,
     106                            lostConnectionInfo: {
     107                                show: true,
     108                                message: 'Game will resume upon reconnection to the server.'
     109                            }
     110                        }))
    85111                    });
    86112                }, 1000);
     
    97123                    showCoin: false,
    98124                }));
    99 
    100                 dispatch(setStyle({
    101                     ...styleState.style,
    102                     displayLoadingScreen: false,
    103                 }))
    104125            }
    105126            else {
  • components/roulette/Timer.jsx

    r1df3fde r433e0c5  
    11import React from 'react'
    22
    3 import { useEffect } from 'react';
    4 import { useDispatch, useSelector } from 'react-redux'
    5 import { setPlayer, setRouletteGame } from '../../redux/reducers/playerSlice';
    6 
    7 import axios from 'axios';
    8 import { setRoulette, setStyle } from '../../redux/reducers/styleSlice';
     3import { useSelector } from 'react-redux'
    94
    105const Timer = () => {
    11     const dispatch = useDispatch();
    12 
    136    const playerState = useSelector(state => state.player);
    14     const styleState = useSelector(state => state.style);
    157
    168    function getTimer() {
  • pages/api/blackjack/index.js

    r1df3fde r433e0c5  
    66import { calculateEarnings, calculateSideBetEarnings } from './calculateEarnings';
    77
    8 let rooms = []
     8import { rooms, update_rooms_to_database } from '../postgre/index'
    99
    1010/**
     
    4343          game: rooms[session_id],
    4444        })
     45
     46        update_rooms_to_database();
    4547
    4648        return ;
     
    99101              credits: postgreRes.data?.credits,
    100102            })
     103
     104            update_rooms_to_database();
    101105          }
    102106          else {
     
    150154                credits: postgreRes.data?.credits,
    151155              })
     156           
     157              update_rooms_to_database();
    152158            }
    153159            else {
     
    166172            earnings: rooms[session_id].earnings,
    167173          })
     174           
     175          update_rooms_to_database();
    168176        }
    169177
     
    212220                credits: postgreRes.data?.credits,
    213221              })
     222           
     223              update_rooms_to_database();
    214224            }
    215225            else {
     
    229239            sideBetEarnings: rooms[session_id].sideBetEarnings,
    230240          })
     241           
     242          update_rooms_to_database();
    231243        }
    232244
     
    270282              credits: postgreRes.data?.credits,
    271283            })
     284           
     285            update_rooms_to_database();
    272286          }
    273287        });
     
    308322              credits: postgreRes.data?.credits,
    309323            })
     324           
     325            update_rooms_to_database();
    310326          }
    311327          else {
     
    340356        success: true,
    341357      })
     358           
     359      update_rooms_to_database();
    342360    }
    343361
     
    390408            credits: postgreRes.data?.credits,
    391409          })
     410           
     411          update_rooms_to_database();
    392412        }
    393413        else {
  • pages/api/postgre/index.js

    r1df3fde r433e0c5  
    275275    /**
    276276     * /---------------------- POST ----------------------/
     277     * Deposits money from credit card to game account.
     278     * @action register
     279     * @param session_id
     280     * @param data
     281     */
     282    if (body?.action === 'deposit') {
     283      // checks
     284      if (body?.session_id == "undefined" || body?.session_id == "null" || body?.session_id == "") {
     285        res.json({
     286          success: false,
     287          message: 'You are not logged in. Please log in first.',
     288        });
     289        return ;
     290      }
     291      if (body?.data?.name == "undefined" || body?.data?.name == "null" || body?.data?.name == "") {
     292        res.json({
     293          success: false,
     294          message: 'Name field cannot be empty',
     295        });
     296        return ;
     297      }
     298      if (body?.data?.card == "undefined" || body?.data?.card == "null" || body?.data?.card == "") {
     299        res.json({
     300          success: false,
     301          message: 'Card numbers field cannot be empty',
     302        });
     303        return ;
     304      }
     305      if (body?.data?.expire == "undefined" || body?.data?.expire == "null" || body?.data?.expire == "") {
     306        res.json({
     307          success: false,
     308          message: 'Expiration date field cannot be empty',
     309        });
     310        return ;
     311      }
     312      if (body?.data?.ccv == "undefined" || body?.data?.ccv == "null" || body?.data?.ccv == "") {
     313        res.json({
     314          success: false,
     315          message: 'CCV field cannot be empty',
     316        });
     317        return ;
     318      }
     319      if (body?.data?.amount == "undefined" || body?.data?.amount == "null" || body?.data?.amount == "") {
     320        res.json({
     321          success: false,
     322          message: 'Amount field cannot be empty',
     323        });
     324        return ;
     325      }
     326
     327      let session = sessions.find(session => session.id === body?.session_id)
     328
     329      if (session) {
     330        if (parseInt(body.data.amount) > 0) {
     331          session.credits = session.credits + parseInt(body.data.amount)
     332
     333          pool.query('UPDATE players SET credits = $1 WHERE username = $2', [session.credits, session.username], (error, results) => {
     334            if (error) throw error;
     335           
     336            res.json({
     337              success: true,
     338              credits: session.credits
     339            })
     340          });
     341        }
     342      }
     343    }
     344
     345    /**
     346     * /---------------------- POST ----------------------/
     347     * Withdraws money from game account to personal account.
     348     * @action register
     349     * @param session_id
     350     * @param data
     351     */
     352     if (body?.action === 'withdraw') {
     353      // checks
     354      if (body?.session_id == "undefined" || body?.session_id == "null" || body?.session_id == "") {
     355        res.json({
     356          success: false,
     357          message: 'You are not logged in. Please log in first.',
     358        });
     359        return ;
     360      }
     361      if (body?.data?.citibank == "undefined" || body?.data?.citibank == "null" || body?.data?.citibank == "") {
     362        res.json({
     363          success: false,
     364          message: 'Bank name field cannot be empty',
     365        });
     366        return ;
     367      }
     368      if (body?.data?.iban == "undefined" || body?.data?.iban == "null" || body?.data?.iban == "") {
     369        res.json({
     370          success: false,
     371          message: 'IBAN code field cannot be empty',
     372        });
     373        return ;
     374      }
     375      if (body?.data?.bic == "undefined" || body?.data?.bic == "null" || body?.data?.bic == "") {
     376        res.json({
     377          success: false,
     378          message: 'BIC code field cannot be empty',
     379        });
     380        return ;
     381      }
     382      if (body?.data?.beneficiary == "undefined" || body?.data?.beneficiary == "null" || body?.data?.beneficiary == "") {
     383        res.json({
     384          success: false,
     385          message: 'Beneficiary name field cannot be empty',
     386        });
     387        return ;
     388      }
     389      if (body?.data?.address == "undefined" || body?.data?.address == "null" || body?.data?.address == "") {
     390        res.json({
     391          success: false,
     392          message: 'Bank address field cannot be empty',
     393        });
     394        return ;
     395      }
     396      if (body?.data?.amount == "undefined" || body?.data?.amount == "null" || body?.data?.amount == "") {
     397        res.json({
     398          success: false,
     399          message: 'Amount field cannot be empty',
     400        });
     401        return ;
     402      }
     403
     404      let session = sessions.find(session => session.id === body?.session_id)
     405
     406      if (session) {
     407        if (parseInt(body.data.amount) > 0) {
     408          session.credits = Math.max(session.credits - parseInt(body.data.amount), 0)
     409
     410          pool.query('UPDATE players SET credits = $1 WHERE username = $2', [session.credits, session.username], (error, results) => {
     411            if (error) throw error;
     412
     413            res.json({
     414              success: true,
     415              credits: session.credits
     416            })
     417          });
     418        }
     419      }
     420    }
     421
     422    /**
     423     * /---------------------- POST ----------------------/
     424     * Sends a complaint.
     425     * @action complain
     426     * @param session_id
     427     * @param description
     428     */
     429     if (body?.action === 'complain') {
     430      // checks
     431      if (body?.session_id == "undefined" || body?.session_id == "null" || body?.session_id == "") {
     432        res.json({
     433          success: false,
     434          message: 'You are not logged in. Please log in first.',
     435        });
     436        return ;
     437      }
     438      if (body?.description == "undefined" || body?.description == "null" || body?.description == "") {
     439        res.json({
     440          success: false,
     441          message: 'You cannot submit an empty complaint.',
     442        });
     443        return ;
     444      }
     445
     446      let session = sessions.find(session => session.id === body.session_id)
     447
     448      if (session) {
     449        // date, by, description, answered
     450        const date = new Date();
     451        pool.query('INSERT INTO complaints (date, by, description, answered) VALUES ($1, $2, $3, $4)', [date, session.username, body.description, false], (error, complaintResults) => {
     452          if (error) throw error;
     453
     454          res.json({
     455            success: true,
     456          })
     457        });
     458      }
     459    }
     460
     461    /**
     462     * /---------------------- POST ----------------------/
    277463     * Checks if the entered account info is good, and registers a new user in the database if so.
    278464     * @action register
     
    539725}
    540726load_game_from_database();
    541  
     727
     728/**
     729 *  Blackjack game data
     730 */
     731export var rooms = []
     732 
     733export function update_rooms_to_database() {
     734  let tmpRooms = [];
     735 
     736  for (let key in rooms) {
     737    if (key === "loaded") continue ;
     738
     739    tmpRooms.push(rooms[key]);
     740    tmpRooms[tmpRooms.length - 1].id = key;
     741  }
     742
     743  pool.query('UPDATE blackjack SET data = $1 WHERE identifier = $2', [JSON.stringify(tmpRooms), 'blackjack_data'], (error, results) => {
     744    if (error) throw error;
     745  });
     746}
     747     
     748export async function load_rooms_from_database() {
     749  pool.query('SELECT data FROM blackjack WHERE identifier = $1', ['blackjack_data'], (error, results) => {
     750    if (error) throw error;
     751
     752    if (results?.rows[0]?.data) {
     753      const tmpRooms = JSON.parse(results.rows[0].data);
     754
     755      tmpRooms.forEach(room => {
     756        rooms[room.id] = {...room, id: ''}
     757      })
     758     
     759      rooms["loaded"] = true;
     760    }
     761  });
     762}
     763load_rooms_from_database();
     764 
  • pages/api/roulette/index.js

    r1df3fde r433e0c5  
    55require('dotenv').config();
    66
    7 let samplePlayer = {
    8     session_id: '',
    9     name: '',
    10     whichBets: [],
    11     coinPlaced: {
    12         x: -1,
    13         y: -1,               
    14     },
    15     credits: -1,
    16     betAmount: 0,
    17     wonAmount: 0,
    18     status: '_1_',
    19     outcome: 'none',
    20     gotResults: false,
    21 }
     7import { resetGame, updateGameWithWinners, addPlayer, getPlayer, restrictGameInfo } from './gameStates'
    228
    23 function getWinningBets(magicNumber) {
    24     let winningBets = [];
    25     winningBets.push(magicNumber);
    26    
    27     if (magicNumber != 0) {
    28         if ((magicNumber <= 9 && magicNumber % 2 == 1) || (magicNumber > 10 && magicNumber <= 18 && magicNumber % 2 == 0) ||
    29             (magicNumber > 19 && magicNumber <= 27 && magicNumber % 2 == 1) || (magicNumber > 27 && magicNumber % 2 == 0)) {
    30 
    31             winningBets.push('Red');
    32         }
    33         else {
    34             winningBets.push('Black');
    35         }
    36 
    37         if (magicNumber % 2 === 0)      winningBets.push('Even');
    38         else                            winningBets.push('Odd');
    39 
    40         if (magicNumber <= 12)          winningBets.push('1-12');
    41         else if (magicNumber <= 24)     winningBets.push('13-24');
    42         else                            winningBets.push('25-36');
    43 
    44         if (magicNumber <= 18)          winningBets.push('1-18');
    45         else                            winningBets.push('19-36');
    46 
    47         if (magicNumber % 3 === 0)      winningBets.push('Remainder3');
    48         else if (magicNumber % 3 === 2) winningBets.push('Remainder2');
    49         else                            winningBets.push('Remainder1');
    50     }
    51 
    52     return winningBets;
    53 }
    54 
    55 function updateGameWithWinners() {
    56     for (let i = 0; i < game.players.length; i++) {
    57         const player = game.players[i];
    58 
    59         let playerWon = false;
    60         player.whichBets.forEach(bet => {
    61             if (game.winningBets.indexOf(bet) !== -1) {
    62                 playerWon = true;
    63             }
    64         })
    65 
    66         if (playerWon) {
    67             player.outcome = 'won';
    68         }
    69         else {
    70             player.outcome = 'lost';
    71         }
    72 
    73         player.wonAmount = calculateWinnings(player);
    74 
    75         axios.get(`${process.env.HOME_URL}/api/postgre/?action=add_credits&session_id=${player.session_id}&credits=${player.wonAmount}&game=roulette&outcome=${player.outcome}`).then(postgreRes => {
    76             if (postgreRes.data?.success) {
    77                 player.credits = postgreRes.data?.credits;
    78             }
    79         });
    80     }
    81 }
    82 
    83 function resetGame() {
    84     game.magicNumber = -1;
    85     game.winningBets = [];
    86     game.status = '_1_ongoing_timer';
    87 
    88     game.players.forEach(player => {
    89         player.whichBets = [];
    90         player.betAmount = 0;
    91         player.wonAmount = 0;
    92         player.coinPlaced = {
    93             x: -1,
    94             y: -1,               
    95         },
    96         player.outcome = 'none';
    97         player.status = '_1_no_placed_bet';
    98         player.gotResults = false;
    99     })
    100 }
    101 
    102 function calculateWinnings(player) {
    103     if (player.outcome === 'lost') return 0;
    104 
    105     let bets = player.whichBets;
    106     let bet = player.betAmount;
    107 
    108     if (bets[0] === 'Even' || bets[0] === 'Odd') return 2 * bet;
    109     else if (bets[0] === 'Red' || bets[0] === 'Black') return 2 * bet;
    110     else if (bets[0].includes('Remainder')) return 3 * bet;
    111     else if (bets[0] === '1-12' || bets[0] === '13-24' || bets[0] === '25-36') return 3 * bet;
    112     else if (bets[0] === '1-18' || bets[0] === '19-36') return 2 * bet;
    113     else if (bets.length === 4) return 9 * bet;
    114     else if (bets.length === 2) return 18 * bet;
    115     else if (bets.length === 1) return 36 * bet;
    116 
    117     return 0;
    118 }
     9import { getWinningBets } from './calculateWinnings'
    11910
    12011(function() {
     
    15142    game.winningBets = [];
    15243    game.players = [];
    153 }
    154 
    155 function addPlayer(session_id, name) {
    156     if (game.players.map(e=>e.session_id).indexOf(session_id) === -1) {
    157         game.players.push({
    158             session_id: session_id,
    159             name: name,
    160             whichBets: [],
    161             coinPlaced: {
    162                 x: -1,
    163                 y: -1,               
    164             },
    165             credits: -1,
    166             betAmount: 0,
    167             wonAmount: 0,
    168             status: '_1_no_placed_bet',
    169             outcome: 'none',
    170             gotResults: false,
    171         })
    172     }
    173 }
    174 
    175 export function getPlayer(session_id) {
    176     const playerIdx = game.players.map(e=>e.session_id).indexOf(session_id);
    177 
    178     if (playerIdx !== -1) {
    179         return {
    180             success: true,
    181             player: game.players[playerIdx],
    182         }
    183     }
    184 
    185     return {
    186         success: false,
    187         player: {...samplePlayer},
    188     };
    189 }
    190 
    191 export function restrictGameInfo() {
    192     const restrictedPlayers = game.players.map(player=>({...player, session_id: ""}))
    193 
    194     return {
    195         ...game,
    196         players: restrictedPlayers,
    197     }
    19844}
    19945
  • pages/index.js

    r1df3fde r433e0c5  
    1111import Stats from '../components/Stats'
    1212import ManageCredits from '../components/ManageCredits'
     13import ComplainScreen from '../components/Complain'
    1314
    1415export default function Home() {
     
    4950
    5051      <ManageCredits/>
     52
     53      <ComplainScreen/>
    5154    </div>
    5255  )
  • redux/reducers/styleSlice.js

    r1df3fde r433e0c5  
    5656        // manage credits
    5757        displayManageCreditsScreen: false,
     58        displayDepositModal: false,
     59        depositModalInputs: {
     60            name: '',
     61            card: '',
     62            expire: '',
     63            ccv: '',
     64            amount: '',
     65        },
     66        displayWithdrawModal: false,
     67        withdrawModalInputs: {
     68            citibank: '',
     69            iban: '',
     70            bic: '',
     71            beneficiary: '',
     72            address: '',
     73            amount: '',
     74        },
     75        // complain
     76        displayComplainScreen: false,
     77        complainScreenInfo: {
     78            setFocus: true,
     79            description: '',
     80        },
     81        // lost connection
     82        lostConnectionInfo: {
     83            show: false,
     84            message: ''
     85        }
    5886    },
    5987    // blackjack
  • styles/globals.css

    r1df3fde r433e0c5  
    418418}
    419419
     420.manageCreditsScreen .inlineAlert {
     421  font-size: 1.5rem !important;
     422  cursor: auto;
     423}
     424
    420425.manageCreditsScreen svg {
     426  z-index: 100;
    421427  cursor: pointer;
    422428  font-size: 2.5rem;
     
    424430}
    425431
    426 .manageCreditsScreen > div h1 {
     432.manageCreditsScreen > div {
     433  top: 0%;
     434  -webkit-transform: translate(-50%, 0);
     435          transform: translate(-50%, 0);
     436  width: 100%;
     437}
     438
     439.manageCreditsScreen > div h2 {
    427440  font-size: 1.5rem;
    428441  margin-bottom: 1rem;
     
    434447}
    435448
    436 .manageCreditsScreen > div button {
     449.manageCreditsScreen > div button span {
     450  color: white;
     451}
     452
     453.manageCreditsScreen > div > div:not(.main) {
     454  margin-top: 5vh;
     455  height: 15vh;
     456}
     457
     458.manageCreditsScreen > div > div.main {
     459  height: 70vh;
     460  display: -webkit-box;
     461  display: -ms-flexbox;
     462  display: flex;
     463}
     464
     465.manageCreditsScreen > div > div.main > div {
     466  -webkit-box-flex: 1;
     467      -ms-flex: 1;
     468          flex: 1;
     469  display: -webkit-box;
     470  display: -ms-flexbox;
     471  display: flex;
     472  -webkit-box-orient: vertical;
     473  -webkit-box-direction: normal;
     474      -ms-flex-direction: column;
     475          flex-direction: column;
     476  -webkit-box-pack: center;
     477      -ms-flex-pack: center;
     478          justify-content: center;
     479  -webkit-box-align: center;
     480      -ms-flex-align: center;
     481          align-items: center;
     482}
     483
     484.manageCreditsScreen > div > div.main > div .fs-inputs-container {
     485  width: 40%;
     486}
     487
     488.manageCreditsScreen > div > div.main > div .fs-inputs-container > div {
    437489  width: 100%;
     490}
     491
     492.manageCreditsScreen > div > div.main > div .fs-inputs-container > div label {
     493  color: white;
     494}
     495
     496.manageCreditsScreen > div > div.main > div .fs-inputs-container > div span {
     497  color: #ead24d;
     498}
     499
     500.manageCreditsScreen > div > div.main > div .fs-inputs-container > div input {
     501  font-size: 1.2rem;
     502  width: 100%;
     503  text-align: center;
     504}
     505
     506.complainScreen .inlineAlert {
     507  cursor: auto;
     508}
     509
     510.complainScreen > div > div textarea {
     511  width: 50vw;
     512  height: 40vh;
     513  font-size: 2rem;
     514  margin-top: 1rem;
     515  margin-bottom: 3rem;
    438516}
    439517
     
    454532.loadingScreen h1 {
    455533  font-size: 5rem;
     534}
     535
     536.lostConnectionScreen h3 {
     537  font-size: 2rem;
     538  margin-bottom: 1rem;
     539}
     540
     541.lostConnectionScreen h3:nth-child(2) {
     542  color: white;
    456543}
    457544
  • styles/globals.css.map

    r1df3fde r433e0c5  
    11{
    22    "version": 3,
    3     "mappings": "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",
     3    "mappings": "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",
    44    "sources": [
    55        "globals.scss"
  • styles/globals.scss

    r1df3fde r433e0c5  
    400400
    401401.manageCreditsScreen {
     402  .inlineAlert {
     403    font-size: 1.5rem !important;
     404    cursor: auto;
     405  }
     406
    402407  svg {
     408    z-index: 100;
    403409    cursor: pointer;
    404410    font-size: 2.5rem;
     
    407413
    408414  &>div {
    409     h1 {
     415    top: 0%;
     416    transform: translate(-50%, 0);
     417    width: 100%;
     418
     419    h2 {
    410420      font-size: 1.5rem;
    411421      margin-bottom: 1rem;
     
    418428
    419429    button {
    420       width: 100%;
     430      span {
     431        color: white;
     432      }
     433    }
     434
     435    &>div:not(.main) {
     436      margin-top: 5vh;
     437      height: 15vh;
     438    }
     439 
     440    &>div.main {
     441      height: 70vh;
     442
     443      display: flex;
     444
     445      &>div {
     446        flex: 1;
     447
     448        display: flex;
     449        flex-direction: column;
     450        justify-content: center;
     451        align-items: center;
     452
     453
     454        .fs-inputs-container {
     455          width: 40%;
     456
     457          &>div {
     458            width: 100%;
     459
     460            label {
     461              color: white;
     462            }
     463
     464            span {
     465              color: #ead24d;
     466            }
     467
     468            input {
     469              font-size: 1.2rem;
     470              width: 100%;
     471
     472              text-align: center;
     473            }
     474          }
     475        }
     476      }
     477    }
     478  }
     479}
     480
     481.complainScreen {
     482  .inlineAlert {
     483    cursor: auto;
     484  }
     485
     486  &>div {
     487    &>div {
     488      textarea {
     489        width: 50vw;
     490        height: 40vh;
     491        font-size: 2rem;
     492        margin-top: 1rem;
     493        margin-bottom: 3rem;
     494      }
    421495    }
    422496  }
     
    442516  h1 {
    443517    font-size: 5rem;
     518  }
     519}
     520
     521.lostConnectionScreen {
     522  h3 {
     523    font-size: 2rem;
     524    margin-bottom: 1rem;
     525
     526    &:nth-child(2) {
     527      color: white;
     528    }
    444529  }
    445530}
Note: See TracChangeset for help on using the changeset viewer.