Changeset b13f93b


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

Files:
7 added
15 edited

Legend:

Unmodified
Added
Removed
  • components/LoginScreen.jsx

    race7865 rb13f93b  
    7777        axios.post(`/api/postgre`, {
    7878            action: 'login',
    79             // username: 'drama',
    80             // password: 'drama'
    8179            username: styleState.style.loginScreenInfo.username,
    8280            password: styleState.style.loginScreenInfo.password,
  • components/Notification.jsx

    race7865 rb13f93b  
    2424    }
    2525
     26    if (styleState.style.notification.show === true) {
     27        setTimeout(() => {
     28            close();
     29        }, 3000);
     30    }
     31
    2632    return (
    2733        <div className="notification" style={{display: display, backgroundColor: bg}}>
  • 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 (
  • components/poker/PokerSections.jsx

    race7865 rb13f93b  
    11import React from 'react'
    22
     3import Cards from './sections/Cards'
     4import CardsInTheMiddle from './sections/CardsInTheMiddle'
     5import Chairs from './sections/Chairs'
     6import Messages from './sections/Messages'
     7import PlayButtons from './sections/PlayButtons'
     8import PickATable from './sections/PickATable'
     9
     10import { useSelector, useDispatch } from 'react-redux'
     11
    312const PokerSections = () => {
    4   return (
    5     <div>
    6        
    7     </div>
    8   )
     13  const playerState = useSelector(state => state.player);
     14
     15  if (playerState.pokerGame.player.table.length > 0) {
     16    return (
     17      <>
     18          <Messages/>
     19
     20          <Chairs/>
     21
     22          <Cards/>
     23
     24          <CardsInTheMiddle/>
     25
     26          <PlayButtons/>
     27      </>
     28    )
     29  }
     30  else {
     31    return (
     32      <>
     33        <PickATable/>
     34      </>
     35    )
     36  }
    937}
    1038
  • package-lock.json

    race7865 rb13f93b  
    2020        "react-icons": "^4.3.1",
    2121        "react-redux": "^8.0.1",
     22        "socket.io": "^4.5.1",
     23        "socket.io-client": "^4.5.1",
    2224        "uuid": "^8.3.2"
    2325      },
     
    377379      "dev": true
    378380    },
     381    "node_modules/@socket.io/component-emitter": {
     382      "version": "3.1.0",
     383      "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
     384      "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
     385    },
     386    "node_modules/@types/component-emitter": {
     387      "version": "1.2.11",
     388      "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
     389      "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ=="
     390    },
     391    "node_modules/@types/cookie": {
     392      "version": "0.4.1",
     393      "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
     394      "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
     395    },
     396    "node_modules/@types/cors": {
     397      "version": "2.8.12",
     398      "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
     399      "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
     400    },
    379401    "node_modules/@types/hoist-non-react-statics": {
    380402      "version": "3.3.1",
     
    391413      "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
    392414      "dev": true
     415    },
     416    "node_modules/@types/node": {
     417      "version": "18.0.0",
     418      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.0.tgz",
     419      "integrity": "sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA=="
    393420    },
    394421    "node_modules/@types/prop-types": {
     
    533560      }
    534561    },
     562    "node_modules/accepts": {
     563      "version": "1.3.8",
     564      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
     565      "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
     566      "dependencies": {
     567        "mime-types": "~2.1.34",
     568        "negotiator": "0.6.3"
     569      },
     570      "engines": {
     571        "node": ">= 0.6"
     572      }
     573    },
    535574    "node_modules/acorn": {
    536575      "version": "8.7.1",
     
    717756      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
    718757      "dev": true
     758    },
     759    "node_modules/base64id": {
     760      "version": "2.0.0",
     761      "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
     762      "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
     763      "engines": {
     764        "node": "^4.5.0 || >= 5.9"
     765      }
    719766    },
    720767    "node_modules/brace-expansion": {
     
    830877      }
    831878    },
     879    "node_modules/component-emitter": {
     880      "version": "1.3.0",
     881      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
     882      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
     883    },
    832884    "node_modules/concat-map": {
    833885      "version": "0.0.1",
     
    836888      "dev": true
    837889    },
     890    "node_modules/cookie": {
     891      "version": "0.4.2",
     892      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
     893      "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
     894      "engines": {
     895        "node": ">= 0.6"
     896      }
     897    },
    838898    "node_modules/core-js-pure": {
    839899      "version": "3.22.4",
     
    845905        "type": "opencollective",
    846906        "url": "https://opencollective.com/core-js"
     907      }
     908    },
     909    "node_modules/cors": {
     910      "version": "2.8.5",
     911      "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
     912      "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
     913      "dependencies": {
     914        "object-assign": "^4",
     915        "vary": "^1"
     916      },
     917      "engines": {
     918        "node": ">= 0.10"
    847919      }
    848920    },
     
    882954      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
    883955      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
    884       "dev": true,
    885956      "dependencies": {
    886957        "ms": "2.1.2"
     
    9621033      "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
    9631034      "dev": true
     1035    },
     1036    "node_modules/engine.io": {
     1037      "version": "6.2.0",
     1038      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
     1039      "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
     1040      "dependencies": {
     1041        "@types/cookie": "^0.4.1",
     1042        "@types/cors": "^2.8.12",
     1043        "@types/node": ">=10.0.0",
     1044        "accepts": "~1.3.4",
     1045        "base64id": "2.0.0",
     1046        "cookie": "~0.4.1",
     1047        "cors": "~2.8.5",
     1048        "debug": "~4.3.1",
     1049        "engine.io-parser": "~5.0.3",
     1050        "ws": "~8.2.3"
     1051      },
     1052      "engines": {
     1053        "node": ">=10.0.0"
     1054      }
     1055    },
     1056    "node_modules/engine.io-client": {
     1057      "version": "6.2.2",
     1058      "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.2.tgz",
     1059      "integrity": "sha512-8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ==",
     1060      "dependencies": {
     1061        "@socket.io/component-emitter": "~3.1.0",
     1062        "debug": "~4.3.1",
     1063        "engine.io-parser": "~5.0.3",
     1064        "ws": "~8.2.3",
     1065        "xmlhttprequest-ssl": "~2.0.0"
     1066      }
     1067    },
     1068    "node_modules/engine.io-parser": {
     1069      "version": "5.0.4",
     1070      "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
     1071      "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
     1072      "engines": {
     1073        "node": ">=10.0.0"
     1074      }
    9641075    },
    9651076    "node_modules/es-abstract": {
     
    22482359      "version": "2.1.2",
    22492360      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
    2250       "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
    2251       "dev": true
     2361      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
    22522362    },
    22532363    "node_modules/nanoid": {
     
    22672377      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
    22682378      "dev": true
     2379    },
     2380    "node_modules/negotiator": {
     2381      "version": "0.6.3",
     2382      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
     2383      "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
     2384      "engines": {
     2385        "node": ">= 0.6"
     2386      }
    22692387    },
    22702388    "node_modules/next": {
     
    23212439      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
    23222440      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
    2323       "dev": true,
    23242441      "engines": {
    23252442        "node": ">=0.10.0"
     
    30023119      }
    30033120    },
     3121    "node_modules/socket.io": {
     3122      "version": "4.5.1",
     3123      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz",
     3124      "integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==",
     3125      "dependencies": {
     3126        "accepts": "~1.3.4",
     3127        "base64id": "~2.0.0",
     3128        "debug": "~4.3.2",
     3129        "engine.io": "~6.2.0",
     3130        "socket.io-adapter": "~2.4.0",
     3131        "socket.io-parser": "~4.0.4"
     3132      },
     3133      "engines": {
     3134        "node": ">=10.0.0"
     3135      }
     3136    },
     3137    "node_modules/socket.io-adapter": {
     3138      "version": "2.4.0",
     3139      "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
     3140      "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
     3141    },
     3142    "node_modules/socket.io-client": {
     3143      "version": "4.5.1",
     3144      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.1.tgz",
     3145      "integrity": "sha512-e6nLVgiRYatS+AHXnOnGi4ocOpubvOUCGhyWw8v+/FxW8saHkinG6Dfhi9TU0Kt/8mwJIAASxvw6eujQmjdZVA==",
     3146      "dependencies": {
     3147        "@socket.io/component-emitter": "~3.1.0",
     3148        "debug": "~4.3.2",
     3149        "engine.io-client": "~6.2.1",
     3150        "socket.io-parser": "~4.2.0"
     3151      },
     3152      "engines": {
     3153        "node": ">=10.0.0"
     3154      }
     3155    },
     3156    "node_modules/socket.io-client/node_modules/socket.io-parser": {
     3157      "version": "4.2.1",
     3158      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
     3159      "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
     3160      "dependencies": {
     3161        "@socket.io/component-emitter": "~3.1.0",
     3162        "debug": "~4.3.1"
     3163      },
     3164      "engines": {
     3165        "node": ">=10.0.0"
     3166      }
     3167    },
     3168    "node_modules/socket.io-parser": {
     3169      "version": "4.0.5",
     3170      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz",
     3171      "integrity": "sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==",
     3172      "dependencies": {
     3173        "@types/component-emitter": "^1.2.10",
     3174        "component-emitter": "~1.3.0",
     3175        "debug": "~4.3.1"
     3176      },
     3177      "engines": {
     3178        "node": ">=10.0.0"
     3179      }
     3180    },
    30043181    "node_modules/source-map-js": {
    30053182      "version": "1.0.2",
     
    32623439      "dev": true
    32633440    },
     3441    "node_modules/vary": {
     3442      "version": "1.1.2",
     3443      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
     3444      "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
     3445      "engines": {
     3446        "node": ">= 0.8"
     3447      }
     3448    },
    32643449    "node_modules/which": {
    32653450      "version": "2.0.2",
     
    33073492      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
    33083493      "dev": true
     3494    },
     3495    "node_modules/ws": {
     3496      "version": "8.2.3",
     3497      "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
     3498      "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
     3499      "engines": {
     3500        "node": ">=10.0.0"
     3501      },
     3502      "peerDependencies": {
     3503        "bufferutil": "^4.0.1",
     3504        "utf-8-validate": "^5.0.2"
     3505      },
     3506      "peerDependenciesMeta": {
     3507        "bufferutil": {
     3508          "optional": true
     3509        },
     3510        "utf-8-validate": {
     3511          "optional": true
     3512        }
     3513      }
     3514    },
     3515    "node_modules/xmlhttprequest-ssl": {
     3516      "version": "2.0.0",
     3517      "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
     3518      "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
     3519      "engines": {
     3520        "node": ">=0.4.0"
     3521      }
    33093522    },
    33103523    "node_modules/xtend": {
     
    35273740      "dev": true
    35283741    },
     3742    "@socket.io/component-emitter": {
     3743      "version": "3.1.0",
     3744      "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
     3745      "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
     3746    },
     3747    "@types/component-emitter": {
     3748      "version": "1.2.11",
     3749      "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
     3750      "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ=="
     3751    },
     3752    "@types/cookie": {
     3753      "version": "0.4.1",
     3754      "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
     3755      "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
     3756    },
     3757    "@types/cors": {
     3758      "version": "2.8.12",
     3759      "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
     3760      "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
     3761    },
    35293762    "@types/hoist-non-react-statics": {
    35303763      "version": "3.3.1",
     
    35413774      "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
    35423775      "dev": true
     3776    },
     3777    "@types/node": {
     3778      "version": "18.0.0",
     3779      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.0.tgz",
     3780      "integrity": "sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA=="
    35433781    },
    35443782    "@types/prop-types": {
     
    36313869      }
    36323870    },
     3871    "accepts": {
     3872      "version": "1.3.8",
     3873      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
     3874      "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
     3875      "requires": {
     3876        "mime-types": "~2.1.34",
     3877        "negotiator": "0.6.3"
     3878      }
     3879    },
    36333880    "acorn": {
    36343881      "version": "8.7.1",
     
    37684015      "dev": true
    37694016    },
     4017    "base64id": {
     4018      "version": "2.0.0",
     4019      "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
     4020      "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="
     4021    },
    37704022    "brace-expansion": {
    37714023      "version": "1.1.11",
     
    38464098      }
    38474099    },
     4100    "component-emitter": {
     4101      "version": "1.3.0",
     4102      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
     4103      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
     4104    },
    38484105    "concat-map": {
    38494106      "version": "0.0.1",
     
    38524109      "dev": true
    38534110    },
     4111    "cookie": {
     4112      "version": "0.4.2",
     4113      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
     4114      "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="
     4115    },
    38544116    "core-js-pure": {
    38554117      "version": "3.22.4",
     
    38584120      "dev": true
    38594121    },
     4122    "cors": {
     4123      "version": "2.8.5",
     4124      "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
     4125      "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
     4126      "requires": {
     4127        "object-assign": "^4",
     4128        "vary": "^1"
     4129      }
     4130    },
    38604131    "cross-spawn": {
    38614132      "version": "7.0.3",
     
    38894160      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
    38904161      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
    3891       "dev": true,
    38924162      "requires": {
    38934163        "ms": "2.1.2"
     
    39434213      "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
    39444214      "dev": true
     4215    },
     4216    "engine.io": {
     4217      "version": "6.2.0",
     4218      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
     4219      "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
     4220      "requires": {
     4221        "@types/cookie": "^0.4.1",
     4222        "@types/cors": "^2.8.12",
     4223        "@types/node": ">=10.0.0",
     4224        "accepts": "~1.3.4",
     4225        "base64id": "2.0.0",
     4226        "cookie": "~0.4.1",
     4227        "cors": "~2.8.5",
     4228        "debug": "~4.3.1",
     4229        "engine.io-parser": "~5.0.3",
     4230        "ws": "~8.2.3"
     4231      }
     4232    },
     4233    "engine.io-client": {
     4234      "version": "6.2.2",
     4235      "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.2.tgz",
     4236      "integrity": "sha512-8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ==",
     4237      "requires": {
     4238        "@socket.io/component-emitter": "~3.1.0",
     4239        "debug": "~4.3.1",
     4240        "engine.io-parser": "~5.0.3",
     4241        "ws": "~8.2.3",
     4242        "xmlhttprequest-ssl": "~2.0.0"
     4243      }
     4244    },
     4245    "engine.io-parser": {
     4246      "version": "5.0.4",
     4247      "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
     4248      "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg=="
    39454249    },
    39464250    "es-abstract": {
     
    49125216      "version": "2.1.2",
    49135217      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
    4914       "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
    4915       "dev": true
     5218      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
    49165219    },
    49175220    "nanoid": {
     
    49255228      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
    49265229      "dev": true
     5230    },
     5231    "negotiator": {
     5232      "version": "0.6.3",
     5233      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
     5234      "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
    49275235    },
    49285236    "next": {
     
    49525260      "version": "4.1.1",
    49535261      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
    4954       "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
    4955       "dev": true
     5262      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
    49565263    },
    49575264    "object-inspect": {
     
    54165723      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
    54175724      "dev": true
     5725    },
     5726    "socket.io": {
     5727      "version": "4.5.1",
     5728      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz",
     5729      "integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==",
     5730      "requires": {
     5731        "accepts": "~1.3.4",
     5732        "base64id": "~2.0.0",
     5733        "debug": "~4.3.2",
     5734        "engine.io": "~6.2.0",
     5735        "socket.io-adapter": "~2.4.0",
     5736        "socket.io-parser": "~4.0.4"
     5737      }
     5738    },
     5739    "socket.io-adapter": {
     5740      "version": "2.4.0",
     5741      "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
     5742      "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
     5743    },
     5744    "socket.io-client": {
     5745      "version": "4.5.1",
     5746      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.1.tgz",
     5747      "integrity": "sha512-e6nLVgiRYatS+AHXnOnGi4ocOpubvOUCGhyWw8v+/FxW8saHkinG6Dfhi9TU0Kt/8mwJIAASxvw6eujQmjdZVA==",
     5748      "requires": {
     5749        "@socket.io/component-emitter": "~3.1.0",
     5750        "debug": "~4.3.2",
     5751        "engine.io-client": "~6.2.1",
     5752        "socket.io-parser": "~4.2.0"
     5753      },
     5754      "dependencies": {
     5755        "socket.io-parser": {
     5756          "version": "4.2.1",
     5757          "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
     5758          "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
     5759          "requires": {
     5760            "@socket.io/component-emitter": "~3.1.0",
     5761            "debug": "~4.3.1"
     5762          }
     5763        }
     5764      }
     5765    },
     5766    "socket.io-parser": {
     5767      "version": "4.0.5",
     5768      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz",
     5769      "integrity": "sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==",
     5770      "requires": {
     5771        "@types/component-emitter": "^1.2.10",
     5772        "component-emitter": "~1.3.0",
     5773        "debug": "~4.3.1"
     5774      }
    54185775    },
    54195776    "source-map-js": {
     
    56025959      "dev": true
    56035960    },
     5961    "vary": {
     5962      "version": "1.1.2",
     5963      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
     5964      "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
     5965    },
    56045966    "which": {
    56055967      "version": "2.0.2",
     
    56365998      "dev": true
    56375999    },
     6000    "ws": {
     6001      "version": "8.2.3",
     6002      "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
     6003      "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
     6004      "requires": {}
     6005    },
     6006    "xmlhttprequest-ssl": {
     6007      "version": "2.0.0",
     6008      "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
     6009      "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A=="
     6010    },
    56386011    "xtend": {
    56396012      "version": "4.0.2",
  • package.json

    race7865 rb13f93b  
    2222    "react-icons": "^4.3.1",
    2323    "react-redux": "^8.0.1",
     24    "socket.io": "^4.5.1",
     25    "socket.io-client": "^4.5.1",
    2426    "uuid": "^8.3.2"
    2527  },
  • pages/api/blackjack/gameStates.js

    race7865 rb13f93b  
    2929 */
    3030function checkDeckSize(game) {
    31     if (game.deck.length === 0) {
    32       game.deck = [...deck];
    33     }
     31  if (game.deck.length === 0) {
     32    game.deck = [...deck];
    3433  }
     34}
    3535 
    3636/**
  • pages/api/poker/index.js

    race7865 rb13f93b  
     1import axios from 'axios';
     2
     3require('dotenv').config();
     4
     5import { v4 as uuidv4 } from 'uuid';
     6
     7const sampleTable = {
     8    id: '',
     9    name: '',
     10    status: '_1_just_created',
     11    creator: '',
     12    started: false,
     13    round: 0,
     14    turnIdx: 0,
     15    lastBet: 0,
     16    turnsSinceLastBet: 0,
     17    players: [],
     18    deck: [],
     19    cardsOnTable: [],
     20}
     21
     22const samplePlayer = {
     23    id: '',
     24    table: '',
     25    status: '_1_just_entered',
     26    displayName: '',
     27    cards: [],
     28    betAmount: 0,
     29    isSatDown: false,
     30    isCoordinator: false,
     31    isFolded: false,
     32}
     33
     34let tables = []
     35// contures -> { status, round, turnIdx, lastBet, turnsSinceLastBet,
     36//
     37//              players -> { id, table, status, displayName, cards,
     38//                          betAmount, isSatDown, isCoordinator },
     39//
     40//              cardsOnTable }
     41
     42const singleDeck = ["SA", "S2", "S3", "S4", "S5", "S6", "S7", "S8", "S9", "SX", "SJ", "SQ", "SK",
     43                    "HA", "H2", "H3", "H4", "H5", "H6", "H7", "H8", "H9", "HX", "HJ", "HQ", "HK",
     44                    "CA", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "CX", "CJ", "CQ", "CK",
     45                    "DA", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "DX", "DJ", "DQ", "DK"    ];
     46
     47/* We are using 5 decks */
     48const deck = singleDeck.concat(singleDeck).concat(singleDeck).concat(singleDeck).concat(singleDeck);
     49
     50/**
     51 * Replace deck if empty
     52 */
     53function checkDeckSize(tableId) {
     54    const tableIdx = tables.map(e=>e.id).indexOf(tableId);
     55
     56    if (tables[tableIdx] !== undefined) {
     57        if (tables[tableIdx].deck.length === 0) {
     58            tables[tableIdx].deck = [...deck];
     59        }
     60    }
     61}
     62
     63/**
     64 * Draw a SINGLE random card
     65 */
     66function drawASingleCard(tableId) {
     67    const tableIdx = tables.map(e=>e.id).indexOf(tableId);
     68
     69    if (tables[tableIdx] !== undefined) {
     70        checkDeckSize(tableId);
     71       
     72        let idx = Math.floor(Math.random() * tables[tableIdx].deck.length);
     73        let card = tables[tableIdx].deck[idx];
     74
     75        tables[tableIdx].deck.splice(idx, 1);
     76
     77        return card;
     78    }
     79
     80    return undefined;
     81}
     82
     83function setNextPlayerIdx(tableId) {
     84    const tableIdx = tables.map(e=>e.id).indexOf(tableId);
     85
     86    if (tables[tableIdx] !== undefined) {
     87        const table = tables[tableIdx];
     88
     89        while (true) {
     90            table.turnIdx++;
     91            table.turnIdx %= table.players.length;
     92           
     93            if (table.players[table.turnIdx] !== undefined && table.players[table.turnIdx].isSatDown && !table.players[table.turnIdx].isFolded) {
     94                return ;
     95            }
     96        }
     97    }
     98}
     99
     100function getCardsOnTable(tableId) {
     101    const tableIdx = tables.map(e=>e.id).indexOf(tableId);
     102
     103    if (tables[tableIdx] !== undefined) {
     104        const table = tables[tableIdx];
     105
     106        if (table.round === 2) {
     107            for (let i = 0; i < 3; i++) {
     108                const card = drawASingleCard(table.id);
     109                           
     110                if (card !== undefined) {
     111                    table.cards.push(card);
     112                }
     113            }
     114        }
     115    }
     116}
     117
     118/**
     119 * ********************* BEGIN OF FUNCTIONS *********************
     120 */
     121
     122function createTable(playerId, playerName, tableName) {
     123    const tableId = uuidv4();
     124
     125    const table = {
     126        id: tableId,
     127        name: tableName,
     128        status: '_1_just_created',
     129        creator: playerName,
     130        started: false,
     131        round: 0,
     132        turnIdx: 0,
     133        lastBet: 20,
     134        turnsSinceLastBet: 0,
     135        deck: [...deck],
     136        players: [{
     137            id: playerId,
     138            table: tableId,
     139            status: '_1_just_entered',
     140            displayName: playerName,
     141            cards: [],
     142            betAmount: 0,
     143            isSatDown: false,
     144            isCoordinator: true,
     145            isFolded: false,
     146        }],
     147        cards: [],
     148    }
     149
     150    tables.push(table)
     151
     152    return table;
     153}
     154
     155function getRestrictedTablesArray() {
     156    let result = [];
     157
     158    tables.forEach(table => {
     159        let tmpPlayers = [];
     160        table.players.forEach(player => {
     161            tmpPlayers.push({
     162                ...player,
     163                id: '',
     164                table: '',
     165                cards: '',
     166            })
     167        });
     168
     169        let tmp = {
     170            ...table,
     171            deck: [],
     172            players: tmpPlayers,
     173        }
     174
     175        result.push({...tmp});
     176    })
     177
     178    return result;
     179}
     180
     181function getRestrictedTableArray(tableId, session_id) {
     182    let result = {...sampleTable};
     183
     184    let tableIdx = tables.map(e=>e.id).indexOf(tableId);
     185
     186    if (tableIdx !== -1) {
     187        let table = tables[tableIdx];
     188
     189        let tmpPlayers = [];
     190        table.players.forEach(player => {
     191            if (player.id === session_id) {
     192                tmpPlayers.push({
     193                    ...player,
     194                    id: '',
     195                    table: '',
     196                })
     197            }
     198            else {
     199                tmpPlayers.push({
     200                    ...player,
     201                    id: '',
     202                    table: '',
     203                    cards: player.cards.length > 0 ? ['back', 'back'] : '',
     204                })
     205            }
     206        });
     207
     208        result = {
     209            ...table,
     210            players: tmpPlayers,
     211        }
     212    }
     213
     214    return result;
     215}
     216
     217function getTable(tableId) {
     218    const tableIdx = tables.map(e=>e.id).indexOf(tableId);
     219
     220    if (tableIdx !== -1) {
     221        return tables[tableIdx];
     222    }
     223
     224    return undefined;
     225}
     226
     227function getTableAndPlayer(session_id) {
     228    for (let tableIdx = 0; tableIdx < tables.length; tableIdx++) {
     229        const playerIdx = tables[tableIdx].players.map(e=>e.id).indexOf(session_id);
     230
     231        if (playerIdx !== -1) {
     232            return {
     233                success: true,
     234                table: tables[tableIdx],
     235                player: tables[tableIdx].players[playerIdx],
     236            }
     237        }
     238    }
     239
     240    return {
     241        success: false,
     242        table: sampleTable,
     243        player: samplePlayer,
     244    };
     245}
     246
     247/**
     248 * ********************* END OF FUNCTIONS *********************
     249 */
     250
     251/**
     252 * ********************* BEGIN OF REQUEST HANDLER *********************
     253 */
     254export default async function handler(req, res) {
     255    /**
     256     * GET method
     257     */
     258    if (req.method === 'GET') {
     259       
     260        /**
     261         * /---------------------- GET ----------------------/
     262         * Creates the table and enters the user inside
     263         * @action game_action
     264         * @param session_id
     265         * @param specificAction
     266         * @param betAmount
     267         */
     268        if (req.query.action === 'game_action' && req.query?.session_id && req.query?.specificAction && req.query?.betAmount) {
     269            const { success, table, player } = getTableAndPlayer(req.query.session_id)
     270
     271            if (success && table.started) {
     272                if (table.players.map(e=>e.id).indexOf(req.query.session_id) !== table.turnIdx) {
     273                    res.end();
     274                    return ;
     275                }
     276
     277                let okayToGo = false;
     278
     279                const satDownPlayers = table.players.filter(e=>e.isSatDown === true);
     280                const remainingPlayers = satDownPlayers.filter(e=>e.folded === false);
     281
     282                if (req.query.specificAction === 'check') {
     283
     284                }
     285                else if (req.query.specificAction === 'call') {
     286                    player.betAmount += table.lastBet;
     287                    table.turnsSinceLastBet++;
     288                    okayToGo = true;
     289
     290                    if (table.turnsSinceLastBet === remainingPlayers.length) {
     291                        table.round++;
     292                        table.lastBet = 0;
     293
     294                        getCardsOnTable(table.id);
     295                    }
     296                }
     297                else if (req.query.specificAction === 'raise') {
     298                   
     299                }
     300                else if (req.query.specificAction === 'fold') {
     301                    player.folded = true;
     302                }
     303
     304                if (okayToGo) {
     305                    setNextPlayerIdx(table.id);
     306                }
     307            }
     308           
     309            res.end();
     310        }
     311
     312        /**
     313         * /---------------------- GET ----------------------/
     314         * Creates the table and enters the user inside
     315         * @action start_game
     316         * @param session_id
     317         */
     318        if (req.query.action === 'start_game' && req.query?.session_id) {
     319            const { success, table } = getTableAndPlayer(req.query.session_id)
     320
     321            if (success && !table.started) {
     322                table.started = true;
     323                table.round = 1;
     324
     325                const satDownPlayers = table.players.filter(e=>e.isSatDown === true);
     326
     327                table.turnIdx = Math.floor(Math.random(0, satDownPlayers.length))
     328
     329                table.players.forEach(player => {
     330                    if (player.isSatDown) {
     331                        for (let i = 0; i < 2; i++) {
     332                            const card = drawASingleCard(table.id);
     333                           
     334                            if (card !== undefined) {
     335                                player.cards.push(card);
     336                            }
     337                        }
     338                    }
     339                })
     340            }
     341           
     342            res.end();
     343        }
     344
     345        /**
     346         * /---------------------- GET ----------------------/
     347         * Creates the table and enters the user inside
     348         * @action sit_down
     349         * @param session_id
     350         * @param tableId
     351         */
     352         if (req.query.action === 'sit_down' && req.query?.session_id && req.query?.tableId) {
     353            const { success, table, player } = getTableAndPlayer(req.query.session_id)
     354
     355            if (success && !table.started) {
     356                player.isSatDown = true;
     357            }
     358
     359            res.end();
     360        }
     361
     362        /**
     363         * /---------------------- GET ----------------------/
     364         * Creates the table and enters the user inside
     365         * @action join_a_table
     366         * @param session_id
     367         * @param tableId
     368         * @param displayName
     369         */
     370         if (req.query.action === 'join_a_table' && req.query?.session_id && req.query?.tableId && req.query?.displayName) {
     371            if (req.query.tableId.length > 0) {
     372                const { success } = getTableAndPlayer(req.query.session_id);
     373
     374                if (!success) {
     375                    const table = getTable(req.query.tableId)
     376
     377                    if (!table.started) {
     378                        table.players.push({
     379                            ...samplePlayer,
     380                            id: req.query.session_id,
     381                            table: req.query.tableId,
     382                            displayName: req.query.displayName
     383                        })
     384                    }
     385                }
     386            }
     387
     388            res.end();
     389        }
     390
     391        /**
     392         * /---------------------- GET ----------------------/
     393         * Creates the table and enters the user inside
     394         * @action create_a_table
     395         * @param session_id
     396         * @param displayName
     397         * @param tableName
     398         */
     399        if (req.query.action === 'create_a_table' && req.query?.session_id && req.query?.displayName && req.query?.tableName) {
     400            const { success } = getTableAndPlayer(req.query.session_id);
     401
     402            if (!success) {
     403                createTable(req.query.session_id, req.query.displayName, req.query.tableName);
     404            }
     405
     406            res.end();
     407        }
     408
     409        /**
     410         * /---------------------- GET ----------------------/
     411         * Creates the table and enters the user inside
     412         * @action update_state
     413         * @param session_id
     414         */
     415        if (req.query.action === 'update_state' && req.query?.session_id) {
     416            const session_id = req.query.session_id;
     417
     418            const { table, player } = getTableAndPlayer(session_id);
     419
     420            res.json({
     421                success: true,
     422                pokerGame: {
     423                    tables: getRestrictedTablesArray(),
     424                    table: getRestrictedTableArray(table.id, req.query.session_id),
     425                    player: player,
     426                }
     427            })
     428        }
     429
     430        /**
     431         * /---------------------- GET ----------------------/
     432         * If the player is not in an existing room, create a room for them.
     433         * If they are reconnecting, get the room they were in.
     434         * @action get_player_info_on_enter
     435         * @param session_id
     436         */
     437        if (req.query.action === 'get_player_info_on_enter' && req.query?.session_id) {
     438            const session_id = req.query.session_id;
     439
     440            axios.get(`${process.env.HOME_URL}/api/postgre?action=check_if_logged_in&session_id=${session_id}`).then(postgreRes => {
     441                if (postgreRes.data?.success) {
     442                    res.json({
     443                        success: true,
     444                        displayName: postgreRes.data?.displayName,
     445                        session_id: postgreRes.data?.session_id,
     446                        credits: postgreRes.data?.credits,
     447                    })
     448                }
     449                else {
     450                    res.json({
     451                        success: false,
     452                    })
     453                }
     454            });
     455        }
     456    }
     457}
     458/**
     459 * ********************* END OF REQUEST HANDLER *********************
     460 */
  • pages/api/roulette/index.js

    race7865 rb13f93b  
    138138     */
    139139    if (req.method === 'GET') {
    140        
    141140        /**
    142141         * /---------------------- GET ----------------------/
  • redux/reducers/playerSlice.js

    race7865 rb13f93b  
    2121    },
    2222    pokerGame: {
    23         status: '_1_waiting_for_players',
    24         turnIdx: 0,
    25         playerCards: ['c4', 'c2'],
    26         cardsOnTable: ['c3', 'c1', 'c5'],
    27         players: [
    28             {
    29                 status: 'disconnected',
    30                 displayName: 'Pero',
    31                 betAmount: 33,
    32             },
    33             {
    34                 status: 'playing',
    35                 displayName: 'Johnny',
    36                 betAmount: 29,
    37             },
    38             {
    39                 status: 'onTurn',
    40                 displayName: 'Waterlo',
    41                 betAmount: 199,
    42             },
    43         ]
    44     }
    45     // pokerGame: {
    46     //     status: '',
    47     //     turnIdx: 0,
    48     //     players: [],
    49     // }
     23        tables: [],
     24        table: {
     25            id: '',
     26            name: '',
     27            status: '',
     28            creator: '',
     29            started: false,
     30            round: 0,
     31            turnIdx: 0,
     32            lastBet: 0,
     33            turnsSinceLastBet: 0,
     34            players: [{
     35                id: '',
     36                table: '',
     37                status: '',
     38                displayName: '',
     39                cards: [],
     40                betAmount: 0,
     41                isSatDown: false,
     42                iSCoordinator: false,
     43            }],
     44            cards: [],
     45        },
     46        player: {
     47            status: '',
     48            cards: [],
     49            table: '',
     50            isSatDown: false,
     51            isCoordinator: false,
     52        },
     53    },
    5054}
    5155
     
    6367            state.rouletteGame = action.payload;
    6468        },
     69        setPokerGame: (state, action) => {
     70            state.pokerGame = action.payload;
     71        },
    6572    }
    6673})
    6774
    68 export const { setPlayer, setBlackjackGame, setRouletteGame } = playerSlice.actions
     75export const { setPlayer, setBlackjackGame, setRouletteGame, setPokerGame } = playerSlice.actions
    6976
    7077export default playerSlice.reducer
  • redux/reducers/styleSlice.js

    race7865 rb13f93b  
    107107            raise: {
    108108                chosenCredits: 0,
    109             }
     109            },
     110            tableName: '',
    110111        },
    111112        callAmount: 0,
    112113        texts: {
    113             text1: 'A new card has been dealt!',
    114             text2: 'Player Pero\'s Turn (00:13)',
    115             text3: 'Pero has disconnected. They have 30 seconds to reconnect.'
     114            text1: '',
     115            text2: '',
     116            text3: ''
    116117        }
    117118    }
     
    130131        setRoulette: (state, action) => {
    131132            state.roulette = action.payload;
     133        },
     134        setPoker: (state, action) => {
     135            state.poker = action.payload;
    132136        }
    133137    }
    134138})
    135139
    136 export const { setStyle, setBlackjack, setRoulette } = styleSlice.actions
     140export const { setStyle, setBlackjack, setRoulette, setPoker } = styleSlice.actions
    137141
    138142export default styleSlice.reducer
  • styles/globals.css

    race7865 rb13f93b  
    5151  margin: auto;
    5252  margin-top: 20px;
     53  position: relative;
     54  z-index: 5;
    5355}
    5456
     
    178180  */
    179181.notification {
     182  z-index: 30;
    180183  position: fixed;
    181184  top: 40px;
     
    341344  background: linear-gradient(to right, #0B932E, #097625);
    342345  color: #ead24d;
     346  z-index: 10;
    343347}
    344348
     
    655659}
    656660
    657 .blackjackCards .card {
     661.card {
    658662  aspect-ratio: 400/560;
    659663  height: 150px;
     
    9961000  * File <- Poker Main
    9971001  */
     1002.pokerMainContainer .pokerPickATableContainer {
     1003  position: absolute;
     1004  left: 0;
     1005  top: 0;
     1006  width: 100vw;
     1007  height: 100vh;
     1008  background-color: #111;
     1009  display: -webkit-box;
     1010  display: -ms-flexbox;
     1011  display: flex;
     1012  -webkit-box-orient: vertical;
     1013  -webkit-box-direction: normal;
     1014      -ms-flex-direction: column;
     1015          flex-direction: column;
     1016  -webkit-box-pack: center;
     1017      -ms-flex-pack: center;
     1018          justify-content: center;
     1019  -webkit-box-align: center;
     1020      -ms-flex-align: center;
     1021          align-items: center;
     1022  gap: 5rem;
     1023}
     1024
     1025.pokerMainContainer .pokerPickATableContainer .createATable > input {
     1026  margin-bottom: 2rem;
     1027  padding-left: 4px;
     1028  padding-right: 4px;
     1029  font-size: 1.5rem;
     1030  margin-right: 1rem;
     1031  border-radius: .5rem;
     1032}
     1033
     1034.pokerMainContainer .pokerPickATableContainer > div:not(.createATable) > h3 {
     1035  margin-bottom: 1rem;
     1036}
     1037
     1038.pokerMainContainer .pokerPickATableContainer > div:not(.createATable) > div {
     1039  display: -webkit-box;
     1040  display: -ms-flexbox;
     1041  display: flex;
     1042  -webkit-box-orient: vertical;
     1043  -webkit-box-direction: normal;
     1044      -ms-flex-direction: column;
     1045          flex-direction: column;
     1046  -webkit-box-align: center;
     1047      -ms-flex-align: center;
     1048          align-items: center;
     1049  gap: 2rem;
     1050  width: 100vw;
     1051  max-height: 45vh;
     1052  padding-block: 2rem;
     1053  overflow-x: hidden;
     1054  overflow-y: scroll;
     1055}
     1056
     1057.pokerMainContainer .pokerPickATableContainer > div:not(.createATable) > div > div {
     1058  -webkit-box-shadow: 0 5px 25px #4d99eaaa;
     1059          box-shadow: 0 5px 25px #4d99eaaa;
     1060  width: 60vw;
     1061  padding: 1rem 3rem;
     1062  border-radius: .5rem;
     1063  cursor: pointer;
     1064  display: -ms-grid;
     1065  display: grid;
     1066  -ms-grid-columns: (minmax(0, 1fr))[4];
     1067      grid-template-columns: repeat(4, minmax(0, 1fr));
     1068  place-items: center;
     1069  -webkit-transition: all .2s ease-out;
     1070  transition: all .2s ease-out;
     1071}
     1072
     1073.pokerMainContainer .pokerPickATableContainer > div:not(.createATable) > div > div:hover {
     1074  -webkit-transform: scale(1.05);
     1075          transform: scale(1.05);
     1076  -webkit-box-shadow: 0 10px 35px #4d99eaaa;
     1077          box-shadow: 0 10px 35px #4d99eaaa;
     1078}
     1079
     1080.pokerMainContainer .pokerChairsContainer .pokerChair {
     1081  position: absolute;
     1082  -webkit-transform: translate(-50%, -50%);
     1083          transform: translate(-50%, -50%);
     1084  width: 110px;
     1085  aspect-ratio: 1;
     1086  border-radius: 50%;
     1087  border: 5px solid #ead24daa;
     1088  background-color: black;
     1089  display: -ms-grid;
     1090  display: grid;
     1091  place-items: center;
     1092  font-size: .8rem;
     1093}
     1094
     1095.pokerMainContainer .pokerChairsContainer .pokerChair > div p {
     1096  margin-block: 2px;
     1097}
     1098
     1099.pokerMainContainer .pokerChairsContainer .pokerChair .pokerPlayerCardsContainer {
     1100  position: relative;
     1101}
     1102
     1103.pokerMainContainer .pokerChairsContainer .pokerChair .pokerPlayerCardsContainer > div {
     1104  position: absolute;
     1105  top: -2vh;
     1106  -webkit-transform: translate(-50%, -50%);
     1107          transform: translate(-50%, -50%);
     1108  display: -webkit-box;
     1109  display: -ms-flexbox;
     1110  display: flex;
     1111}
     1112
     1113.pokerMainContainer .pokerChairsContainer .pokerChair .pokerPlayerCardsContainer > div .card {
     1114  height: 80px;
     1115  margin-inline: -1rem;
     1116  position: relative;
     1117}
     1118
     1119.pokerMainContainer .pokerChairsContainer .pokerChair .pokerPlayerCardsContainer > div .card:first-child {
     1120  -webkit-transform: rotateZ(-5deg);
     1121          transform: rotateZ(-5deg);
     1122}
     1123
     1124.pokerMainContainer .pokerChairsContainer .pokerChair .pokerPlayerCardsContainer > div .card:last-child {
     1125  -webkit-transform: rotateZ(5deg);
     1126          transform: rotateZ(5deg);
     1127}
     1128
     1129.pokerMainContainer .pokerPlayButtonsContainer {
     1130  position: absolute;
     1131  top: 59vh;
     1132  left: 50vw;
     1133  -webkit-transform: translate(-50%, -50%);
     1134          transform: translate(-50%, -50%);
     1135  display: -webkit-box;
     1136  display: -ms-flexbox;
     1137  display: flex;
     1138  -webkit-box-pack: center;
     1139      -ms-flex-pack: center;
     1140          justify-content: center;
     1141  gap: 1rem;
     1142}
     1143
     1144.pokerMainContainer .pokerPlayButtonsContainer button {
     1145  min-width: 110px;
     1146}
     1147
     1148.pokerMainContainer .cardsInTheMiddleContainer {
     1149  position: absolute;
     1150  top: 45vh;
     1151  left: 50vw;
     1152  -webkit-transform: translate(-50%, -50%);
     1153          transform: translate(-50%, -50%);
     1154  display: -webkit-box;
     1155  display: -ms-flexbox;
     1156  display: flex;
     1157  -webkit-box-pack: center;
     1158      -ms-flex-pack: center;
     1159          justify-content: center;
     1160}
     1161
     1162.pokerMainContainer .cardsInTheMiddleContainer .card {
     1163  height: 130px;
     1164  position: relative;
     1165  margin-inline: 2px;
     1166}
     1167
     1168.pokerMainContainer .pokerMessagesContainer {
     1169  position: absolute;
     1170  top: 5vh;
     1171  left: 50vw;
     1172  -webkit-transform: translateX(-50%);
     1173          transform: translateX(-50%);
     1174}
     1175
     1176.pokerMainContainer .pokerMessagesContainer > p:first-child {
     1177  font-style: italic;
     1178  color: #c1fbaa;
     1179}
     1180
     1181.pokerMainContainer .pokerMessagesContainer > p:not(:first-child):not(:last-child) {
     1182  font-size: 1.2rem;
     1183  margin-top: 1rem;
     1184}
     1185
     1186.pokerMainContainer .pokerMessagesContainer > p:last-child {
     1187  margin-top: .5rem;
     1188  color: #ccc;
     1189}
    9981190/*# sourceMappingURL=globals.css.map */
  • styles/globals.css.map

    race7865 rb13f93b  
    11{
    22    "version": 3,
    3     "mappings": "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",
     3    "mappings": "AAAA,OAAO,CAAC,6FAAI;AAEZ,AAAA,IAAI;AACJ,IAAI,CAAC;EACH,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,CAAC;EAIT,WAAW,EAAE,mBAAmB;EAEhC,QAAQ,EAAE,MAAM;CACjB;;AAED,AAAA,CAAC,CAAC;EACA,KAAK,EAAE,OAAO;EACd,eAAe,EAAE,IAAI;CACtB;;AAED,AAAA,CAAC,CAAC;EACA,UAAU,EAAE,UAAU;CACvB;;AAGD,AAAA,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;EACR,MAAM,EAAE,CAAC;CACV;;AAED,AAAA,IAAI,CAAC;EACH,KAAK,EAAE,KAAK;EAEZ,cAAc,EAAE,GAAG;EAEnB,KAAK,EAAE,KAAK;EACZ,MAAM,EAAE,KAAK;EAEb,MAAM,EAAE,IAAI;EAEZ,QAAQ,EAAE,MAAM;EAEhB,eAAe,EAAE,KAAK;EACtB,iBAAiB,EAAE,SAAS;EAC5B,mBAAmB,EAAE,MAAM;EAE3B,UAAU,EAAE,MAAM;CACnB;;AAED;;IAEI;AACJ,AAAA,MAAM,AAAA,OAAO,CAAC;EACZ,OAAO,EAAE,IAAI;EACb,eAAe,EAAE,aAAa;EAC9B,WAAW,EAAE,MAAM;EAEnB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,IAAI;EAEhB,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,CAAC;CA0CX;;AApDD,AAYE,MAZI,AAAA,OAAO,CAYX,KAAK,CAAC;EACJ,KAAK,EAAE,IAAI;EACX,YAAY,EAAE,CAAC;EACf,aAAa,EAAE,IAAI;EAEnB,gBAAgB,EAAE,uBAAuB;EACzC,eAAe,EAAE,KAAK;EAEtB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,wBAAwB;EAE1C,MAAM,EAAE,OAAO;CAChB;;AAvBH,AAyBE,MAzBI,AAAA,OAAO,CAyBX,EAAE,CAAC;EACD,MAAM,EAAE,OAAO;CAChB;;AA3BH,AA8BI,MA9BE,AAAA,OAAO,CA6BX,GAAG,CACD,EAAE,CAAC;EACD,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,GAAG;EACnB,eAAe,EAAE,IAAI;CAStB;;AA1CL,AAmCM,MAnCA,AAAA,OAAO,CA6BX,GAAG,CACD,EAAE,CAKA,EAAE,CAAC;EACD,YAAY,EAAE,IAAI;CAKnB;;AAzCP,AAsCQ,MAtCF,AAAA,OAAO,CA6BX,GAAG,CACD,EAAE,CAKA,EAAE,AAGC,WAAW,CAAC;EACX,YAAY,EAAE,CAAC;CAChB;;AAxCT,AA8CQ,MA9CF,AAAA,OAAO,CA6BX,GAAG,AAeA,qBAAqB,CACpB,EAAE,CACA,EAAE,CAAC;EACD,MAAM,EAAE,OAAO;CAChB;;AAMT;;;;IAII;AACJ,AAAA,cAAc,CAAC;EACb,KAAK,EAAE,KAAK;EAEZ,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,MAAM;EACtB,eAAe,EAAE,MAAM;EACvB,WAAW,EAAE,MAAM;EAEnB,UAAU,EAAE,IAAI;EAEhB,OAAO,EAAE,aAAa;EAEtB,gBAAgB,EAAE,kBAAiB;CAYpC;;AAxBD,AAcE,cAdY,CAcZ,EAAE,CAAC;EACD,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,OAAO;EACpB,SAAS,EAAE,MAAM;CAClB;;AAlBH,AAoBE,cApBY,CAoBZ,EAAE,CAAC;EACD,UAAU,EAAE,IAAI;EAChB,WAAW,EAAE,OAAO;CACrB;;AAGH;;;;IAII;AACJ,AAAA,MAAM,CAAC;EACL,OAAO,EAAE,EAAE;EAEX,KAAK,EAAE,KAAK;EAEZ,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,MAAM;EACtB,eAAe,EAAE,MAAM;EACvB,WAAW,EAAE,MAAM;EAEnB,OAAO,EAAE,aAAa;EAEtB,gBAAgB,EAAE,kBAAiB;EAEnC,QAAQ,EAAE,QAAQ;EAElB,SAAS,EAAE,gBAAgB;EAE3B,UAAU,EAAE,YAAY;CAiBzB;;AAnCD,AAoBE,MApBI,CAoBJ,EAAE,CAAC;EACD,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,OAAO;EACpB,SAAS,EAAE,MAAM;CAClB;;AAxBH,AA0BE,MA1BI,CA0BJ,EAAE,CAAC;EACD,UAAU,EAAE,IAAI;EAChB,WAAW,EAAE,OAAO;CACrB;;AA7BH,AA+BE,MA/BI,CA+BJ,MAAM,CAAC;EACL,KAAK,EAAE,KAAK;EACZ,UAAU,EAAE,IAAI;CACjB;;AAGH;;;;IAII;AACJ,AAAA,aAAa,CAAC;EACZ,OAAO,EAAE,EAAE;EAEX,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,IAAI;EACT,KAAK,EAAE,IAAI;EAEX,KAAK,EAAE,KAAK;EACZ,UAAU,EAAE,KAAK;EAEjB,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,MAAM;EACtB,eAAe,EAAE,MAAM;EACvB,WAAW,EAAE,QAAQ;EAsBrB,SAAS,EAAE,IAAI;EAEf,OAAO,EAAE,IAAI;EACb,aAAa,EAAE,IAAI;EAEnB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB;CAC3C;;AAzCD,AAeE,aAfW,CAeX,GAAG,CAAC;EACF,MAAM,EAAE,OAAO;CAChB;;AAjBH,AAmBE,aAnBW,GAmBT,GAAG,CAAC;EACJ,IAAI,EAAE,CAAC;EAEP,KAAK,EAAE,IAAI;EAEX,OAAO,EAAE,IAAI;EACb,eAAe,EAAE,MAAM;EACvB,WAAW,EAAE,MAAM;EAEnB,SAAS,EAAE,MAAM;EAEjB,aAAa,EAAE,MAAM;EAErB,UAAU,EAAE,MAAM;CACnB;;AAUH;;;;IAII;AACJ,AAAA,YAAY,CAAC;EACX,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,GAAG;EACnB,eAAe,EAAE,aAAa;EAC9B,WAAW,EAAE,MAAM;EAEnB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,IAAI;CA2EjB;;AAnFD,AAUE,YAVU,CAUV,WAAW,CAAC;EACV,UAAU,EAAE,cAAc;EAC1B,MAAM,EAAE,OAAO;EAEf,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,MAAM;EACtB,eAAe,EAAE,MAAM;EACvB,WAAW,EAAE,MAAM;CAyDpB;;AA1EH,AAmBI,YAnBQ,CAUV,WAAW,CAST,YAAY,CAAC;EACX,UAAU,EAAE,cAAc;EAE1B,KAAK,EAAE,IAAI;EACX,YAAY,EAAE,CAAC;EAEf,aAAa,EAAE,IAAI;EAEnB,UAAU,EAAE,iDAAiD;EAC7D,OAAO,EAAE,GAAG;EAEZ,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,MAAM;CASvB;;AAxCL,AAiCM,YAjCM,CAUV,WAAW,CAST,YAAY,CAcV,OAAO,CAAC;EACN,aAAa,EAAE,IAAI;EACnB,KAAK,EAAE,GAAG;EACV,eAAe,EAAE,KAAK;EACtB,MAAM,EAAE,IAAI;EACZ,YAAY,EAAE,CAAC;CAChB;;AAvCP,AA0CI,YA1CQ,CAUV,WAAW,CAgCT,EAAE,CAAC;EACD,UAAU,EAAE,cAAc;EAE1B,WAAW,EAAE,OAAO;EACpB,UAAU,EAAE,IAAI;EAEhB,OAAO,EAAE,CAAC;CACX;;AAjDL,AAmDI,YAnDQ,CAUV,WAAW,CAyCT,EAAE,AAAA,QAAQ,CAAC;EACT,KAAK,EAAE,KAAK;EACZ,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,KAAK;EACZ,GAAG,EAAE,IAAI;EACT,IAAI,EAAE,IAAI;EACV,SAAS,EAAE,qBAAqB;EAEhC,SAAS,EAAE,IAAI;EAEf,OAAO,EAAE,EAAE;CACZ;;AA9DL,AAiEM,YAjEM,CAUV,WAAW,AAsDR,MAAM,CACL,YAAY,CAAC;EACX,SAAS,EAAE,UAAU;EACrB,OAAO,EAAE,CAAC;CACX;;AApEP,AAsEM,YAtEM,CAUV,WAAW,AAsDR,MAAM,CAML,EAAE,CAAC;EACD,OAAO,EAAE,CAAC;CACX;;AAxEP,AA8EM,YA9EM,AA4ET,MAAM,CACL,WAAW,CACT,YAAY,CAAC;EACX,OAAO,EAAE,YAAY;CACtB;;AAKP;;IAEI;AACJ,AAAA,WAAW,CAAC;EACV,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,CAAC;EACN,IAAI,EAAE,CAAC;EAEP,KAAK,EAAE,KAAK;EACZ,MAAM,EAAE,KAAK;EAEb,UAAU,EAAE,2CAA2C;EACvD,KAAK,EAAE,OAAO;EAEd,OAAO,EAAE,EAAE;CACZ;;AAED,AACE,YADU,GACR,GAAG,CAAC;EACJ,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,IAAI;EACT,IAAI,EAAE,IAAI;EACV,SAAS,EAAE,qBAAqB;CACjC;;AAGH,AACE,oBADkB,GAChB,GAAG,CAAC;EACJ,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,MAAM;EAClB,KAAK,EAAE,WAAW;EAElB,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,MAAM;EACtB,eAAe,EAAE,MAAM;EACvB,WAAW,EAAE,MAAM;CAgBpB;;AAzBH,AAWI,oBAXgB,GAChB,GAAG,GAUD,IAAI,CAAC;EACL,aAAa,EAAE,KAAK;EAEpB,SAAS,EAAE,MAAM;CAClB;;AAfL,AAiBI,oBAjBgB,GAChB,GAAG,GAgBD,KAAK,CAAC;EACN,aAAa,EAAE,IAAI;EAEnB,YAAY,EAAE,GAAG;EACjB,aAAa,EAAE,GAAG;EAElB,SAAS,EAAE,IAAI;CAChB;;AAIL,AACE,YADU,CACV,GAAG,CAAC;EACF,MAAM,EAAE,OAAO;EACf,SAAS,EAAE,MAAM;EACjB,KAAK,EAAE,KAAK;CACb;;AALH,AAQI,YARQ,GAOR,GAAG,CACH,EAAE,CAAC;EACD,SAAS,EAAE,MAAM;EACjB,aAAa,EAAE,IAAI;CACpB;;AAXL,AAaI,YAbQ,GAOR,GAAG,CAMH,CAAC,CAAC;EACA,OAAO,EAAE,IAAI;EACb,eAAe,EAAE,aAAa;EAE9B,SAAS,EAAE,MAAM;EACjB,aAAa,EAAE,IAAI;CASpB;;AA3BL,AAoBM,YApBM,GAOR,GAAG,CAMH,CAAC,AAOE,UAAW,CAAA,EAAE,EAAE;EACd,KAAK,EAAE,KAAK;CACb;;AAtBP,AAwBM,YAxBM,GAOR,GAAG,CAMH,CAAC,CAWC,IAAI,CAAC;EACH,WAAW,EAAE,IAAI;CAClB;;AAKP,AACE,oBADkB,CAClB,GAAG,CAAC;EACF,MAAM,EAAE,OAAO;EACf,SAAS,EAAE,MAAM;EACjB,KAAK,EAAE,KAAK;CACb;;AALH,AAQI,oBARgB,GAOhB,GAAG,CACH,EAAE,CAAC;EACD,SAAS,EAAE,MAAM;EACjB,aAAa,EAAE,IAAI;CACpB;;AAXL,AAaI,oBAbgB,GAOhB,GAAG,CAMH,CAAC,CAAC;EACA,aAAa,EAAE,IAAI;EACnB,KAAK,EAAE,KAAK;CACb;;AAhBL,AAkBI,oBAlBgB,GAOhB,GAAG,CAWH,MAAM,CAAC;EACL,KAAK,EAAE,IAAI;CACZ;;AAIL,AAAA,YAAY,CAAC;EACX,MAAM,EAAE,OAAO;EAEf,gBAAgB,EAAE,OAAO;EACzB,OAAO,EAAE,YAAY;EACrB,aAAa,EAAE,IAAI;EAEnB,KAAK,EAAE,OAAO;EACd,SAAS,EAAE,iBAAiB;EAC5B,WAAW,EAAE,GAAG;EAChB,cAAc,EAAE,OAAO;CACxB;;AAED;;IAEI;AACJ,AACE,cADY,CACZ,EAAE,CAAC;EACD,SAAS,EAAE,IAAI;CAChB;;AAGH;;IAEI;AAEJ;;IAEI;AACJ,AAAA,cAAc,CAAC;EACb,UAAU,EAAE,2CAA2C;EACvD,KAAK,EAAE,OAAO;EAEd,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,IAAI;EAEnB,SAAS,EAAE,MAAM;EACjB,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,QAAQ;EAEjB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB;EAE1C,MAAM,EAAE,OAAO;EACf,UAAU,EAAE,cAAc;CAW3B;;AA1BD,AAiBE,cAjBY,AAiBX,MAAM,CAAC;EACN,SAAS,EAAE,UAAU,CAAC,cAAc;CAErC;;AApBH,AAsBE,cAtBY,AAsBX,OAAO,CAAC;EACP,UAAU,EAAE,WAAW;EACvB,SAAS,EAAE,QAAQ,CAAC,cAAc;CACnC;;AAGH,AAAA,gBAAgB,CAAC;EACf,UAAU,EAAE,2CAA2C;EACvD,KAAK,EAAE,KAAK;EAEZ,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,IAAI;EAEnB,SAAS,EAAE,MAAM;EACjB,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,QAAQ;EAEjB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB;EAE1C,MAAM,EAAE,OAAO;EACf,UAAU,EAAE,cAAc;CAW3B;;AA1BD,AAiBE,gBAjBc,AAiBb,MAAM,CAAC;EACN,SAAS,EAAE,UAAU,CAAC,cAAc;CAErC;;AApBH,AAsBE,gBAtBc,AAsBb,OAAO,CAAC;EACP,UAAU,EAAE,WAAW;EACvB,SAAS,EAAE,QAAQ,CAAC,cAAc;CACnC;;AAGH,AAAA,eAAe,CAAC;EACd,UAAU,EAAE,2CAA2C;EACvD,KAAK,EAAE,KAAK;EAEZ,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,IAAI;EAEnB,SAAS,EAAE,MAAM;EACjB,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,QAAQ;EAEjB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB;EAE1C,MAAM,EAAE,OAAO;EACf,UAAU,EAAE,cAAc;CAU3B;;AAzBD,AAiBE,eAjBa,AAiBZ,MAAM,CAAC;EACN,UAAU,EAAE,2CAA2C;CACxD;;AAnBH,AAqBE,eArBa,AAqBZ,OAAO,CAAC;EACP,UAAU,EAAE,WAAW;EACvB,UAAU,EAAE,2CAA2C;CACxD;;AAGH;;IAEI;AACJ,AAAA,cAAc,CAAC;EACb,kBAAkB,EAAE,IAAI;EACxB,KAAK,EAAE,KAAK;EACZ,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,OAAO;EACnB,OAAO,EAAE,IAAI;EACb,aAAa,EAAE,IAAI;EACnB,kBAAkB,EAAE,GAAG;EACvB,UAAU,EAAE,WAAW;EAEvB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB;CAChD;;AAED,AAAA,cAAc,AAAA,MAAM,CAAC;EACnB,OAAO,EAAE,CAAC;CACX;;AAED,AAAA,cAAc,AAAA,sBAAsB,CAAC;EACnC,kBAAkB,EAAE,IAAI;EACxB,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,GAAG;EAClB,UAAU,EAAE,4BAA4B;EACxC,eAAe,EAAE,OAAO;EACxB,gBAAgB,EAAE,OAAO;EACzB,MAAM,EAAE,OAAO;CAChB;;AAED,AAAA,cAAc,AAAA,kBAAkB,CAAC;EAC/B,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,GAAG;EAClB,UAAU,EAAE,4BAA4B;EACxC,eAAe,EAAE,OAAO;EACxB,gBAAgB,EAAE,OAAO;EACzB,MAAM,EAAE,OAAO;CAChB;;AAED;;IAEI;AAEJ,WAAW;AACX,AAAA,mBAAmB,CAAC;EAClB,KAAK,EAAE,IAAI;CACZ;;AAED,WAAW;AACX,AAAA,yBAAyB,CAAC;EACxB,UAAU,EAAE,OAAO;CACpB;;AAED,YAAY;AACZ,AAAA,yBAAyB,CAAC;EACxB,UAAU,EAAE,OAAO;CACpB;;AAED,qBAAqB;AACrB,AAAA,yBAAyB,AAAA,MAAM,CAAC;EAC9B,UAAU,EAAE,OAAO;CACpB;;AAED;;IAEI;AACJ,AAAA,iBAAiB,CAAC;EAChB,QAAQ,EAAE,QAAQ;EAElB,IAAI,EAAE,CAAC;EACP,GAAG,EAAE,IAAI;EAET,KAAK,EAAE,KAAK;EACZ,MAAM,EAAE,IAAI;EAEZ,QAAQ,EAAE,MAAM;CAkBjB;;AA3BD,AAWE,iBAXe,GAWb,GAAG,CAAC;EACJ,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,GAAG;EACnB,eAAe,EAAE,MAAM;EACvB,WAAW,EAAE,MAAM;EAEnB,UAAU,EAAE,eAAe;CAS5B;;AA1BH,AAmBI,iBAnBa,GAWb,GAAG,GAQD,MAAM,CAAC;EACP,KAAK,EAAE,KAAK;CACb;;AArBL,AAuBI,iBAvBa,GAWb,GAAG,GAYD,MAAM,AAAA,UAAW,CAAA,CAAC,EAAE;EACpB,WAAW,EAAE,IAAI;CAClB;;AAIL,AAAA,KAAK,CAAC;EACJ,YAAY,EAAE,OAAO;EACrB,MAAM,EAAE,KAAK;EAEb,eAAe,EAAE,OAAO;EAExB,QAAQ,EAAE,QAAQ;EAElB,UAAU,EAAE,eAAe;EAE3B,aAAa,EAAE,IAAI;EAEnB,MAAM,EAAE,eAAe;CACxB;;AAED,AAAA,oBAAoB,CAAC;EACnB,QAAQ,EAAE,QAAQ;EAElB,SAAS,EAAE,qBAAqB;EAEhC,IAAI,EAAE,IAAI;EACV,GAAG,EAAE,MAAM;CACZ;;AAED,AAAA,uBAAuB,CAAC;EACtB,OAAO,EAAE,EAAE;EAEX,cAAc,EAAE,iBAAiB;EAEjC,QAAQ,EAAE,KAAK;EACf,IAAI,EAAE,IAAI;EACV,GAAG,EAAE,IAAI;EAET,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EAEZ,OAAO,EAAE,IAAI;EAEb,SAAS,EAAE,qBAAqB;EAEhC,UAAU,EAAE,+CAA+C;EAE3D,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB;EAE1C,aAAa,EAAE,IAAI;EAEnB,UAAU,EAAE,MAAM;CA0CnB;;AAhED,AAwBE,uBAxBqB,CAwBrB,uBAAuB,CAAC;EAKtB,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,MAAM;EACtB,KAAK,EAAE,IAAI;CAgCZ;;AA/DH,AAyBI,uBAzBmB,CAwBrB,uBAAuB,AACpB,YAAY,CAAC;EACZ,UAAU,EAAE,KAAK;CAClB;;AA3BL,AAiCI,uBAjCmB,CAwBrB,uBAAuB,CASrB,EAAE,CAAC;EACD,aAAa,EAAE,IAAI;EAEnB,KAAK,EAAE,OAAO;CACf;;AArCL,AAuCI,uBAvCmB,CAwBrB,uBAAuB,GAenB,GAAG,CAAC;EACJ,UAAU,EAAE,IAAI;CAsBjB;;AA9DL,AA0CM,uBA1CiB,CAwBrB,uBAAuB,GAenB,GAAG,CAGH,CAAC,CAAC;EACA,aAAa,EAAE,IAAI;EAEnB,OAAO,EAAE,SAAS;EAClB,aAAa,EAAE,GAAG;EAElB,MAAM,EAAE,OAAO;EAEf,UAAU,EAAE,eAAe;CAW5B;;AA7DP,AAoDQ,uBApDe,CAwBrB,uBAAuB,GAenB,GAAG,CAGH,CAAC,CAUC,IAAI,CAAC;EACH,SAAS,EAAE,MAAM;EACjB,KAAK,EAAE,OAAO;CACf;;AAvDT,AAyDQ,uBAzDe,CAwBrB,uBAAuB,GAenB,GAAG,CAGH,CAAC,AAeE,MAAM,CAAC;EACN,KAAK,EAAE,OAAO;EACd,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB;CAC3C;;AAMT,AAAA,oCAAoC,CAAC;EACnC,OAAO,EAAE,EAAE;EAEX,cAAc,EAAE,iBAAiB;EAEjC,QAAQ,EAAE,KAAK;EACf,IAAI,EAAE,IAAI;EACV,GAAG,EAAE,IAAI;EAET,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EAEZ,OAAO,EAAE,IAAI;EAEb,SAAS,EAAE,qBAAqB;EAEhC,UAAU,EAAE,+CAA+C;EAE3D,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB;EAE1C,aAAa,EAAE,IAAI;CAepB;;AAnCD,AAsBE,oCAtBkC,CAsBlC,CAAC,CAAC;EACA,aAAa,EAAE,IAAI;EAEnB,OAAO,EAAE,SAAS;EAClB,aAAa,EAAE,GAAG;EAElB,UAAU,EAAE,eAAe;CAM5B;;AAlCH,AA8BI,oCA9BgC,CAsBlC,CAAC,CAQC,IAAI,CAAC;EACH,SAAS,EAAE,MAAM;EACjB,KAAK,EAAE,KAAK;CACb;;AAIL;;IAEI;AACJ,AAAA,sBAAsB,CAAC;EACrB,gBAAgB,EAAE,OAAO;CAC1B;;AAED,AAAA,gBAAgB,CAAC;EACf,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,GAAG;EACR,IAAI,EAAE,GAAG;EAET,SAAS,EAAE,qBAAqB;EAEhC,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EAEZ,MAAM,EAAE,mBAAmB,EAAE,IAAI;CAClC;;AAED,AAAA,iBAAiB,CAAC;EAChB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,GAAG;EACR,IAAI,EAAE,GAAG;EAET,UAAU,EAAE,mBAAmB;EAE/B,KAAK,EAAE,KAAK;EACZ,MAAM,EAAE,IAAI;CACb;;AAED,AAAA,iBAAiB,CAAC;EAChB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,GAAG;EAER,KAAK,EAAE,KAAK;EAEZ,UAAU,EAAE,MAAM;EAElB,SAAS,EAAE,MAAM;CAClB;;AAED,AAAA,yBAAyB,CAAC;EACxB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,GAAG;EACR,KAAK,EAAE,EAAE;EAET,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EAEZ,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAsB;EAE3C,OAAO,EAAE,IAAI;EAEb,OAAO,EAAE,IAAI;EACb,kBAAkB,EAAE,yBAAyB;EAE7C,UAAU,EAAE,MAAM;EAClB,UAAU,EAAE,MAAM;CAMnB;;AAtBD,AAkBE,yBAlBuB,CAkBvB,CAAC,CAAC;EACA,SAAS,EAAE,UAAU;EACrB,UAAU,EAAE,KAAK;CAClB;;AAGH,AAAA,cAAc,CAAC;EACb,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,uBAAuB;EAC5B,IAAI,EAAE,WAAW;EAEjB,SAAS,EAAE,qBAAqB;EAEhC,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,MAAM;EACtB,eAAe,EAAE,MAAM;EACvB,WAAW,EAAE,MAAM;EACnB,GAAG,EAAE,GAAG;EAER,SAAS,EAAE,MAAM;EAEjB,KAAK,EAAE,KAAK;CACb;;AAED,AAAA,iBAAiB,CAAC;EAChB,OAAO,EAAE,EAAE;EAEX,cAAc,EAAE,MAAM;EACtB,eAAe,EAAE,MAAM;EACvB,WAAW,EAAE,MAAM;EAEnB,QAAQ,EAAE,KAAK;EACf,IAAI,EAAE,CAAC;EACP,GAAG,EAAE,CAAC;EAEN,KAAK,EAAE,KAAK;EACZ,MAAM,EAAE,KAAK;EAEb,UAAU,EAAE,SAAS;CAetB;;AA7BD,AAgBE,iBAhBe,CAgBf,CAAC,CAAC;EACA,aAAa,EAAE,IAAI;EAEnB,OAAO,EAAE,SAAS;EAClB,aAAa,EAAE,GAAG;EAElB,UAAU,EAAE,eAAe;CAM5B;;AA5BH,AAwBI,iBAxBa,CAgBf,CAAC,CAQC,IAAI,CAAC;EACH,SAAS,EAAE,MAAM;EACjB,KAAK,EAAE,OAAO;CACf;;AAIL;;IAEI;AACJ,AAAA,KAAK,CAAC;EACJ,SAAS,EAAE,mBAAmB;EAC9B,yBAAyB,EAAE,WAAW;CACvC;;AAED,UAAU,CAAV,OAAU;EACR,EAAE;IACA,SAAS,EAAE,qBAAqB,CAAC,aAAa;;EAEhD,GAAG;IACD,SAAS,EAAE,qBAAqB,CAAC,0BAA0B;;EAE7D,GAAG;IACD,SAAS,EAAE,qBAAqB,CAAC,0BAA0B;;EAE7D,GAAG;IACD,SAAS,EAAE,qBAAqB,CAAC,0BAA0B;;EAE7D,GAAG;IACD,SAAS,EAAE,qBAAqB,CAAC,0BAA0B;;EAE7D,GAAG;IACD,SAAS,EAAE,qBAAqB,CAAC,0BAA0B;;EAE7D,GAAG;IACD,SAAS,EAAE,qBAAqB,CAAC,2BAA2B;;EAE9D,GAAG;IACD,SAAS,EAAE,qBAAqB,CAAC,2BAA2B;;EAE9D,GAAG;IACD,SAAS,EAAE,qBAAqB,CAAC,2BAA2B;;EAE9D,GAAG;IACD,SAAS,EAAE,qBAAqB,CAAC,2BAA2B;;EAE9D,IAAI;IACF,SAAS,EAAE,qBAAqB,CAAC,2BAA2B;;;;AAIhE;;IAEI;AACJ,AACE,mBADiB,CACjB,yBAAyB,CAAC;EACxB,QAAQ,EAAE,QAAQ;EAClB,IAAI,EAAE,CAAC;EACP,GAAG,EAAE,CAAC;EACN,KAAK,EAAE,KAAK;EACZ,MAAM,EAAE,KAAK;EAEb,gBAAgB,EAAE,IAAI;EAEtB,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,MAAM;EACtB,eAAe,EAAE,MAAM;EACvB,WAAW,EAAE,MAAM;EACnB,GAAG,EAAE,IAAI;CA0DV;;AAxEH,AAiBM,mBAjBa,CACjB,yBAAyB,CAevB,aAAa,GACT,KAAK,CAAC;EACN,aAAa,EAAE,IAAI;EAEnB,YAAY,EAAE,GAAG;EACjB,aAAa,EAAE,GAAG;EAElB,SAAS,EAAE,MAAM;EAEjB,YAAY,EAAE,IAAI;EAElB,aAAa,EAAE,KAAK;CACrB;;AA5BP,AAgCM,mBAhCa,CACjB,yBAAyB,GA8BrB,GAAG,AAAA,IAAK,CAAA,aAAa,IACnB,EAAE,CAAC;EACH,aAAa,EAAE,IAAI;CACpB;;AAlCP,AAoCM,mBApCa,CACjB,yBAAyB,GA8BrB,GAAG,AAAA,IAAK,CAAA,aAAa,IAKnB,GAAG,CAAC;EACJ,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,MAAM;EACtB,WAAW,EAAE,MAAM;EACnB,GAAG,EAAE,IAAI;EAET,KAAK,EAAE,KAAK;EACZ,UAAU,EAAE,IAAI;EAChB,aAAa,EAAE,IAAI;EAEnB,UAAU,EAAE,MAAM;EAClB,UAAU,EAAE,MAAM;CAuBnB;;AAtEP,AAiDQ,mBAjDW,CACjB,yBAAyB,GA8BrB,GAAG,AAAA,IAAK,CAAA,aAAa,IAKnB,GAAG,GAaD,GAAG,CAAC;EACJ,UAAU,EAAE,oBAAoB;EAEhC,KAAK,EAAE,IAAI;EAEX,OAAO,EAAE,SAAS;EAClB,aAAa,EAAE,KAAK;EAEpB,MAAM,EAAE,OAAO;EAEf,OAAO,EAAE,IAAI;EACb,qBAAqB,EAAE,yBAAyB;EAChD,WAAW,EAAE,MAAM;EAEnB,UAAU,EAAE,gBAAgB;CAM7B;;AArET,AAiEU,mBAjES,CACjB,yBAAyB,GA8BrB,GAAG,AAAA,IAAK,CAAA,aAAa,IAKnB,GAAG,GAaD,GAAG,AAgBF,MAAM,CAAC;EACN,SAAS,EAAE,WAAW;EACtB,UAAU,EAAE,qBAAqB;CAClC;;AApEX,AA2EI,mBA3Ee,CA0EjB,qBAAqB,CACnB,WAAW,CAAC;EACV,QAAQ,EAAE,QAAQ;EAElB,SAAS,EAAE,qBAAqB;EAEhC,KAAK,EAAE,KAAK;EACZ,YAAY,EAAE,CAAC;EAEf,aAAa,EAAE,GAAG;EAElB,MAAM,EAAE,mBAAmB;EAC3B,gBAAgB,EAAE,KAAK;EAEvB,OAAO,EAAE,IAAI;EACb,WAAW,EAAE,MAAM;EAEnB,SAAS,EAAE,KAAK;CAoCjB;;AA/HL,AA8FQ,mBA9FW,CA0EjB,qBAAqB,CACnB,WAAW,GAkBP,GAAG,CACH,CAAC,CAAC;EACA,YAAY,EAAE,GAAG;CAClB;;AAhGT,AAmGM,mBAnGa,CA0EjB,qBAAqB,CACnB,WAAW,CAwBT,0BAA0B,CAAC;EACzB,QAAQ,EAAE,QAAQ;CA0BnB;;AA9HP,AAsGQ,mBAtGW,CA0EjB,qBAAqB,CACnB,WAAW,CAwBT,0BAA0B,GAGtB,GAAG,CAAC;EACJ,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,IAAI;EAET,SAAS,EAAE,qBAAqB;EAEhC,OAAO,EAAE,IAAI;CAiBd;;AA7HT,AA8GU,mBA9GS,CA0EjB,qBAAqB,CACnB,WAAW,CAwBT,0BAA0B,GAGtB,GAAG,CAQH,KAAK,CAAC;EACJ,MAAM,EAAE,IAAI;EAEZ,aAAa,EAAE,KAAK;EAEpB,QAAQ,EAAE,QAAQ;CASnB;;AA5HX,AAqHY,mBArHO,CA0EjB,qBAAqB,CACnB,WAAW,CAwBT,0BAA0B,GAGtB,GAAG,CAQH,KAAK,AAOF,YAAY,CAAC;EACZ,SAAS,EAAE,cAAc;CAC1B;;AAvHb,AAyHY,mBAzHO,CA0EjB,qBAAqB,CACnB,WAAW,CAwBT,0BAA0B,GAGtB,GAAG,CAQH,KAAK,AAWF,WAAW,CAAC;EACX,SAAS,EAAE,aAAa;CACzB;;AA3Hb,AAkIE,mBAlIiB,CAkIjB,0BAA0B,CAAC;EACzB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,IAAI;EACT,IAAI,EAAE,IAAI;EAEV,SAAS,EAAE,qBAAqB;EAEhC,OAAO,EAAE,IAAI;EACb,eAAe,EAAE,MAAM;EACvB,GAAG,EAAE,IAAI;CAKV;;AAhJH,AA6II,mBA7Ie,CAkIjB,0BAA0B,CAWxB,MAAM,CAAC;EACL,SAAS,EAAE,KAAK;CACjB;;AA/IL,AAkJE,mBAlJiB,CAkJjB,0BAA0B,CAAC;EACzB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,IAAI;EACT,IAAI,EAAE,IAAI;EAEV,SAAS,EAAE,qBAAqB;EAEhC,OAAO,EAAE,IAAI;EACb,eAAe,EAAE,MAAM;CAQxB;;AAlKH,AA4JI,mBA5Je,CAkJjB,0BAA0B,CAUxB,KAAK,CAAC;EACJ,MAAM,EAAE,KAAK;EAEb,QAAQ,EAAE,QAAQ;EAClB,aAAa,EAAE,GAAG;CACnB;;AAjKL,AAoKE,mBApKiB,CAoKjB,uBAAuB,CAAC;EACtB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,GAAG;EACR,IAAI,EAAE,IAAI;EAEV,SAAS,EAAE,gBAAgB;CAgB5B;;AAzLH,AA2KI,mBA3Ke,CAoKjB,uBAAuB,GAOnB,CAAC,AAAA,YAAY,CAAC;EACd,UAAU,EAAE,MAAM;EAClB,KAAK,EAAE,OAAO;CACf;;AA9KL,AAgLI,mBAhLe,CAoKjB,uBAAuB,GAYnB,CAAC,AAAA,IAAK,CAAA,YAAY,CAAC,IAAK,CAAA,WAAW,EAAE;EACrC,SAAS,EAAE,MAAM;EACjB,UAAU,EAAE,IAAI;CACjB;;AAnLL,AAqLI,mBArLe,CAoKjB,uBAAuB,GAiBnB,CAAC,AAAA,WAAW,CAAC;EACb,UAAU,EAAE,KAAK;EACjB,KAAK,EAAE,IAAI;CACZ",
    44    "sources": [
    55        "globals.scss"
  • styles/globals.scss

    race7865 rb13f93b  
    5757  margin: auto;
    5858  margin-top: 20px;
     59
     60  position: relative;
     61  z-index: 5;
    5962
    6063  .logo {
     
    179182  */
    180183.notification {
     184  z-index: 30;
     185
    181186  position: fixed;
    182187  top: 40px;
     
    322327  background: linear-gradient(to right, #0B932E, #097625);
    323328  color: #ead24d;
     329
     330  z-index: 10;
    324331}
    325332
     
    631638}
    632639
    633 .blackjackCards {
    634   .card {   
    635     aspect-ratio: 400/560;
    636     height: 150px;
    637 
    638     background-size: contain;
    639 
    640     position: absolute;
    641 
    642     transition: .5s ease-in-out;
    643 
    644     border-radius: 10px;
    645 
    646     border: 1px solid black;
    647   }
     640.card {   
     641  aspect-ratio: 400/560;
     642  height: 150px;
     643
     644  background-size: contain;
     645
     646  position: absolute;
     647
     648  transition: .5s ease-in-out;
     649
     650  border-radius: 10px;
     651
     652  border: 1px solid black;
    648653}
    649654
     
    923928  */
    924929.pokerMainContainer {
     930  .pokerPickATableContainer {
     931    position: absolute;
     932    left: 0;
     933    top: 0;
     934    width: 100vw;
     935    height: 100vh;
     936
     937    background-color: #111;
     938
     939    display: flex;
     940    flex-direction: column;
     941    justify-content: center;
     942    align-items: center;
     943    gap: 5rem;
     944
     945    .createATable {
     946      &>input {
     947        margin-bottom: 2rem;
    925948 
    926 }
     949        padding-left: 4px;
     950        padding-right: 4px;
     951       
     952        font-size: 1.5rem;
     953
     954        margin-right: 1rem;
     955
     956        border-radius: .5rem;
     957      }
     958    }
     959
     960    &>div:not(.createATable) {
     961      &>h3 {
     962        margin-bottom: 1rem;
     963      }
     964
     965      &>div {
     966        display: flex;
     967        flex-direction: column;
     968        align-items: center;
     969        gap: 2rem;
     970 
     971        width: 100vw;
     972        max-height: 45vh;
     973        padding-block: 2rem;
     974
     975        overflow-x: hidden;
     976        overflow-y: scroll;
     977
     978        &>div {
     979          box-shadow: 0 5px 25px #4d99eaaa;
     980
     981          width: 60vw;
     982
     983          padding: 1rem 3rem;
     984          border-radius: .5rem;
     985
     986          cursor: pointer;
     987
     988          display: grid;
     989          grid-template-columns: repeat(4, minmax(0, 1fr));
     990          place-items: center;
     991
     992          transition: all .2s ease-out;
     993
     994          &:hover {
     995            transform: scale(1.05);
     996            box-shadow: 0 10px 35px #4d99eaaa;
     997          }
     998        }
     999      }
     1000    }
     1001  }
     1002
     1003  .pokerChairsContainer {
     1004    .pokerChair {
     1005      position: absolute;
     1006
     1007      transform: translate(-50%, -50%);
     1008
     1009      width: 110px;
     1010      aspect-ratio: 1;
     1011
     1012      border-radius: 50%;
     1013
     1014      border: 5px solid #ead24daa;
     1015      background-color: black;
     1016
     1017      display: grid;
     1018      place-items: center;
     1019
     1020      font-size: .8rem;
     1021
     1022      &.onTurn {
     1023        border: 5px solid #ead24d;
     1024      }
     1025
     1026      &.folded {
     1027        border: 5px solid rgba(71, 64, 24, 0.667);
     1028      }
     1029
     1030      &>div {
     1031        p {
     1032          margin-block: 2px;
     1033        }
     1034      }
     1035
     1036      .pokerPlayerCardsContainer {
     1037        position: relative;
     1038
     1039        &>div {
     1040          position: absolute;
     1041          top: -2vh;
     1042
     1043          transform: translate(-50%, -50%);
     1044
     1045          display: flex;
     1046
     1047          .card {
     1048            height: 80px;
     1049
     1050            margin-inline: -1rem;
     1051
     1052            position: relative;
     1053
     1054            &:first-child {
     1055              transform: rotateZ(-5deg);
     1056            }
     1057           
     1058            &:last-child {
     1059              transform: rotateZ(5deg);
     1060            }
     1061          }
     1062        }
     1063      }
     1064    }
     1065  }
     1066
     1067  .pokerPlayButtonsContainer {
     1068    position: absolute;
     1069    top: 59vh;
     1070    left: 50vw;
     1071
     1072    transform: translate(-50%, -50%);
     1073
     1074    display: flex;
     1075    justify-content: center;
     1076    gap: 1rem;
     1077
     1078    button {
     1079      min-width: 110px;
     1080    }
     1081  }
     1082
     1083  .cardsInTheMiddleContainer {
     1084    position: absolute;
     1085    top: 45vh;
     1086    left: 50vw;
     1087
     1088    transform: translate(-50%, -50%);
     1089
     1090    display: flex;
     1091    justify-content: center;
     1092
     1093    .card {
     1094      height: 130px;
     1095
     1096      position: relative;
     1097      margin-inline: 2px;
     1098    }
     1099  }
     1100
     1101  .pokerMessagesContainer {
     1102    position: absolute;
     1103    top: 5vh;
     1104    left: 50vw;
     1105
     1106    transform: translateX(-50%);
     1107
     1108    &>p:first-child {
     1109      font-style: italic;
     1110      color: #c1fbaa;
     1111    }
     1112
     1113    &>p:not(:first-child):not(:last-child) {
     1114      font-size: 1.2rem;
     1115      margin-top: 1rem;
     1116    }
     1117
     1118    &>p:last-child {
     1119      margin-top: .5rem;
     1120      color: #ccc;
     1121    }
     1122  }
     1123}
  • yarn.lock

    race7865 rb13f93b  
    160160  "version" "1.1.3"
    161161
     162"@socket.io/component-emitter@~3.1.0":
     163  "integrity" "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
     164  "resolved" "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz"
     165  "version" "3.1.0"
     166
     167"@types/component-emitter@^1.2.10":
     168  "integrity" "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ=="
     169  "resolved" "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz"
     170  "version" "1.2.11"
     171
     172"@types/cookie@^0.4.1":
     173  "integrity" "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
     174  "resolved" "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz"
     175  "version" "0.4.1"
     176
     177"@types/cors@^2.8.12":
     178  "integrity" "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
     179  "resolved" "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz"
     180  "version" "2.8.12"
     181
    162182"@types/hoist-non-react-statics@^3.3.1":
    163183  "integrity" "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA=="
     
    172192  "resolved" "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz"
    173193  "version" "0.0.29"
     194
     195"@types/node@>=10.0.0":
     196  "integrity" "sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA=="
     197  "resolved" "https://registry.npmjs.org/@types/node/-/node-18.0.0.tgz"
     198  "version" "18.0.0"
    174199
    175200"@types/prop-types@*":
     
    241266    "eslint-visitor-keys" "^3.0.0"
    242267
     268"accepts@~1.3.4":
     269  "integrity" "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw=="
     270  "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz"
     271  "version" "1.3.8"
     272  dependencies:
     273    "mime-types" "~2.1.34"
     274    "negotiator" "0.6.3"
     275
    243276"acorn-jsx@^5.3.2":
    244277  "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="
     
    355388  "version" "1.0.2"
    356389
     390"base64id@~2.0.0", "base64id@2.0.0":
     391  "integrity" "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="
     392  "resolved" "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz"
     393  "version" "2.0.0"
     394
    357395"brace-expansion@^1.1.7":
    358396  "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="
     
    420458    "delayed-stream" "~1.0.0"
    421459
     460"component-emitter@~1.3.0":
     461  "integrity" "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
     462  "resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz"
     463  "version" "1.3.0"
     464
    422465"concat-map@0.0.1":
    423466  "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
     
    425468  "version" "0.0.1"
    426469
     470"cookie@~0.4.1":
     471  "integrity" "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="
     472  "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz"
     473  "version" "0.4.2"
     474
    427475"core-js-pure@^3.20.2":
    428476  "integrity" "sha512-4iF+QZkpzIz0prAFuepmxwJ2h5t4agvE8WPYqs2mjLJMNNwJOnpch76w2Q7bUfCPEv/V7wpvOfog0w273M+ZSw=="
     
    430478  "version" "3.22.4"
    431479
     480"cors@~2.8.5":
     481  "integrity" "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g=="
     482  "resolved" "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz"
     483  "version" "2.8.5"
     484  dependencies:
     485    "object-assign" "^4"
     486    "vary" "^1"
     487
    432488"cross-spawn@^7.0.2":
    433489  "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w=="
     
    468524    "ms" "^2.1.1"
    469525
    470 "debug@^4.1.1", "debug@^4.3.2", "debug@^4.3.4":
     526"debug@^4.1.1", "debug@^4.3.2", "debug@^4.3.4", "debug@~4.3.1", "debug@~4.3.2":
    471527  "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ=="
    472528  "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
     
    523579  "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz"
    524580  "version" "9.2.2"
     581
     582"engine.io-client@~6.2.1":
     583  "integrity" "sha512-8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ=="
     584  "resolved" "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.2.tgz"
     585  "version" "6.2.2"
     586  dependencies:
     587    "@socket.io/component-emitter" "~3.1.0"
     588    "debug" "~4.3.1"
     589    "engine.io-parser" "~5.0.3"
     590    "ws" "~8.2.3"
     591    "xmlhttprequest-ssl" "~2.0.0"
     592
     593"engine.io-parser@~5.0.3":
     594  "integrity" "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg=="
     595  "resolved" "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz"
     596  "version" "5.0.4"
     597
     598"engine.io@~6.2.0":
     599  "integrity" "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg=="
     600  "resolved" "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz"
     601  "version" "6.2.0"
     602  dependencies:
     603    "@types/cookie" "^0.4.1"
     604    "@types/cors" "^2.8.12"
     605    "@types/node" ">=10.0.0"
     606    "accepts" "~1.3.4"
     607    "base64id" "2.0.0"
     608    "cookie" "~0.4.1"
     609    "cors" "~2.8.5"
     610    "debug" "~4.3.1"
     611    "engine.io-parser" "~5.0.3"
     612    "ws" "~8.2.3"
    525613
    526614"es-abstract@^1.19.0", "es-abstract@^1.19.1", "es-abstract@^1.19.2", "es-abstract@^1.19.5":
     
    12561344  "version" "1.52.0"
    12571345
    1258 "mime-types@^2.1.12":
     1346"mime-types@^2.1.12", "mime-types@~2.1.34":
    12591347  "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="
    12601348  "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
     
    12991387  "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
    13001388  "version" "1.4.0"
     1389
     1390"negotiator@0.6.3":
     1391  "integrity" "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
     1392  "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz"
     1393  "version" "0.6.3"
    13011394
    13021395"next@>=10.2.0", "next@12.1.6":
     
    13231416    "@next/swc-win32-x64-msvc" "12.1.6"
    13241417
    1325 "object-assign@^4.1.1":
     1418"object-assign@^4", "object-assign@^4.1.1":
    13261419  "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
    13271420  "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
     
    17371830  "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"
    17381831  "version" "3.0.0"
     1832
     1833"socket.io-adapter@~2.4.0":
     1834  "integrity" "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
     1835  "resolved" "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz"
     1836  "version" "2.4.0"
     1837
     1838"socket.io-client@^4.5.1":
     1839  "integrity" "sha512-e6nLVgiRYatS+AHXnOnGi4ocOpubvOUCGhyWw8v+/FxW8saHkinG6Dfhi9TU0Kt/8mwJIAASxvw6eujQmjdZVA=="
     1840  "resolved" "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.1.tgz"
     1841  "version" "4.5.1"
     1842  dependencies:
     1843    "@socket.io/component-emitter" "~3.1.0"
     1844    "debug" "~4.3.2"
     1845    "engine.io-client" "~6.2.1"
     1846    "socket.io-parser" "~4.2.0"
     1847
     1848"socket.io-parser@~4.0.4":
     1849  "integrity" "sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig=="
     1850  "resolved" "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz"
     1851  "version" "4.0.5"
     1852  dependencies:
     1853    "@types/component-emitter" "^1.2.10"
     1854    "component-emitter" "~1.3.0"
     1855    "debug" "~4.3.1"
     1856
     1857"socket.io-parser@~4.2.0":
     1858  "integrity" "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g=="
     1859  "resolved" "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz"
     1860  "version" "4.2.1"
     1861  dependencies:
     1862    "@socket.io/component-emitter" "~3.1.0"
     1863    "debug" "~4.3.1"
     1864
     1865"socket.io@^4.5.1":
     1866  "integrity" "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ=="
     1867  "resolved" "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz"
     1868  "version" "4.5.1"
     1869  dependencies:
     1870    "accepts" "~1.3.4"
     1871    "base64id" "~2.0.0"
     1872    "debug" "~4.3.2"
     1873    "engine.io" "~6.2.0"
     1874    "socket.io-adapter" "~2.4.0"
     1875    "socket.io-parser" "~4.0.4"
    17391876
    17401877"source-map-js@^1.0.1":
     
    18922029  "version" "2.3.0"
    18932030
     2031"vary@^1":
     2032  "integrity" "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
     2033  "resolved" "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
     2034  "version" "1.1.2"
     2035
    18942036"which-boxed-primitive@^1.0.2":
    18952037  "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg=="
     
    19202062  "version" "1.0.2"
    19212063
     2064"ws@~8.2.3":
     2065  "integrity" "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA=="
     2066  "resolved" "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz"
     2067  "version" "8.2.3"
     2068
     2069"xmlhttprequest-ssl@~2.0.0":
     2070  "integrity" "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A=="
     2071  "resolved" "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz"
     2072  "version" "2.0.0"
     2073
    19222074"xtend@^4.0.0":
    19232075  "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
Note: See TracChangeset for help on using the changeset viewer.