Index: components/poker/sections/Messages.jsx
===================================================================
--- components/poker/sections/Messages.jsx	(revision b13f93b3ae8e02def0043ff767c69e28939b36ff)
+++ components/poker/sections/Messages.jsx	(revision 189cd8fbb5d5a78dbc96b7dd32349d209b87bd13)
@@ -17,6 +17,6 @@
         turnMessage = `It\'s ${playerState.pokerGame.table.players[playerState.pokerGame.table.turnIdx].displayName}\'s turn.`;
 
-        if (playerState.pokerGame.table.lastBet > 0) {
-            callMessage = `${playerState.pokerGame.table.players[playerState.pokerGame.table.turnIdx].displayName} must at least call $${playerState.pokerGame.table.lastBet}`;
+        if (parseInt(playerState.pokerGame.table.lastBet) > 0) {
+            callMessage = `${playerState.pokerGame.table.players[playerState.pokerGame.table.turnIdx].displayName} must at least call $${Math.min(playerState.player.credits, playerState.pokerGame.table.lastBet)}`;
         }
     }
@@ -24,8 +24,12 @@
     return (
         <div className="pokerMessagesContainer">
-            { playerState.pokerGame.table.started && <p>Round {playerState.pokerGame.table.round}/5{roundMessage}</p> }
+            { playerState.pokerGame.table.started && playerState.pokerGame.table.ended && playerState.pokerGame.table.winners.length === 1 && <p>Game over - {playerState.pokerGame.table.winners[0]?.displayName} won ${playerState.pokerGame.table.winners[0]?.wonAmount} with a {playerState.pokerGame.table.winners[0]?.hand?.hand} combination! Congratulations.</p> }
+            { playerState.pokerGame.table.started && playerState.pokerGame.table.ended && playerState.pokerGame.table.winners.length > 1 && <p>Game over - {playerState.pokerGame.table.winners.map(e=>e.displayName).join(", ")} drew!</p> }
+            { playerState.pokerGame.table.started && playerState.pokerGame.table.ended && <p>New game will start soon.</p> }
+
+            { playerState.pokerGame.table.started && !playerState.pokerGame.table.ended && <p>Round {playerState.pokerGame.table.round}/4{roundMessage}</p> }
             { !playerState.pokerGame.table.started && <p>Waiting for coordinator {playerState.pokerGame.table.creator} to start the game.</p> }
-            { playerState.pokerGame.table.started && <p>{turnMessage}</p> }
-            { playerState.pokerGame.table.started && <p>{callMessage}</p> }
+            { playerState.pokerGame.table.started && !playerState.pokerGame.table.ended && <p>{turnMessage}</p> }
+            { playerState.pokerGame.table.started && !playerState.pokerGame.table.ended && <p>{callMessage}</p> }
         </div>
     )
Index: components/poker/sections/PlayButtons.jsx
===================================================================
--- components/poker/sections/PlayButtons.jsx	(revision b13f93b3ae8e02def0043ff767c69e28939b36ff)
+++ components/poker/sections/PlayButtons.jsx	(revision 189cd8fbb5d5a78dbc96b7dd32349d209b87bd13)
@@ -4,5 +4,5 @@
 
 import axios from 'axios';
-import { setPokerGame } from '../../../redux/reducers/playerSlice';
+import { setPoker } from '../../../redux/reducers/styleSlice';
 
 const PlayButtons = () => {
@@ -10,4 +10,5 @@
 
   const playerState = useSelector(state => state.player);
+  const styleState = useSelector(state => state.style);
 
   function sitDown() {
@@ -20,5 +21,5 @@
 
   const checkClass = playerState.pokerGame.table.lastBet === 0 ? 'secondaryButton' : 'tertiaryButton';
-  const callClass = 'secondaryButton'
+  const callClass = playerState.pokerGame.table.lastBet > 0 ? 'secondaryButton' : 'tertiaryButton'
   const raiseClass = playerState.pokerGame.table.round >= 2 ? 'secondaryButton' : 'tertiaryButton';
   const foldClass = 'secondaryButton';
@@ -33,5 +34,11 @@
 
   function raise() {
-    axios.get(`/api/poker?action=game_action&session_id=${localStorage.CAESSINO_SESSION_ID}&specificAction=raise&betAmount=0`);
+    dispatch(setPoker({
+        ...styleState.poker,
+        displays: {
+            ...styleState.poker.displays,
+            raiseModal: true,
+        },
+    }))
   }
 
@@ -40,5 +47,5 @@
   }
 
-  if (playerState.pokerGame.table.started && playerState.pokerGame.player.isSatDown) {
+  if (playerState.pokerGame.table.started && playerState.pokerGame.player.isSatDown && parseInt(playerState.pokerGame.table.round) < 5) {
     return (
       <div className="pokerPlayButtonsContainer">
Index: components/poker/sections/Pot.jsx
===================================================================
--- components/poker/sections/Pot.jsx	(revision 189cd8fbb5d5a78dbc96b7dd32349d209b87bd13)
+++ components/poker/sections/Pot.jsx	(revision 189cd8fbb5d5a78dbc96b7dd32349d209b87bd13)
@@ -0,0 +1,15 @@
+import React from 'react'
+
+import { useSelector } from 'react-redux'
+
+const Pot = () => {
+    const playerState = useSelector(state => state.player);
+
+    return (
+        <div className="pokerPotContainer">
+            { playerState.pokerGame.table.started && <p>${playerState.pokerGame.table.pot}</p> }
+        </div>
+    )
+}
+
+export default Pot
Index: components/poker/sections/RaiseModal.jsx
===================================================================
--- components/poker/sections/RaiseModal.jsx	(revision 189cd8fbb5d5a78dbc96b7dd32349d209b87bd13)
+++ components/poker/sections/RaiseModal.jsx	(revision 189cd8fbb5d5a78dbc96b7dd32349d209b87bd13)
@@ -0,0 +1,64 @@
+import React from 'react'
+
+import { GiTwoCoins } from 'react-icons/gi'
+import { AiOutlineClose } from 'react-icons/ai'
+
+import { useSelector, useDispatch } from 'react-redux'
+
+import axios from 'axios';
+import { setPoker } from '../../../redux/reducers/styleSlice';
+
+const RaiseModal = () => {
+    const dispatch = useDispatch();
+
+    const playerState = useSelector(state => state.player);
+    const styleState = useSelector(state => state.style);
+
+    function chooseBet(e) {
+        dispatch(setPoker({
+            ...styleState.poker,
+            inputControls: {
+                ...styleState.poker.inputControls,
+                raise: {
+                    ...styleState.poker.inputControls.bet,
+                    chosenCredits: parseInt(e.target.value),
+                }
+            }
+        }));
+    }
+
+    function raise() {
+        axios.get(`/api/poker?action=game_action&session_id=${localStorage.CAESSINO_SESSION_ID}&specificAction=raise&betAmount=${styleState.poker.inputControls.raise.chosenCredits}`);
+
+        closeModal();
+    }
+
+    function closeModal() {
+        dispatch(setPoker({
+            ...styleState.poker,
+            displays: {
+                ...styleState.poker.displays,
+                raiseModal: false,
+            },
+        }))
+    }
+
+    return (
+        <div className="pokerRaiseModal" style={{display: styleState.poker.displays.raiseModal ? 'flex' : 'none'}}>
+            <p>Please select the amount you will raise.</p>
+            <div>
+                <div>
+                    <input type="range" className="primarySlider" min={0} max={playerState.player.credits} step={1} value={styleState.poker.inputControls.raise.chosenCredits} onChange={(e) => chooseBet(e)} />
+                    <div style={{marginTop: '15px', marginBottom: '-30px'}}>
+                        <span>${styleState.poker.inputControls.raise.chosenCredits}</span>
+                    </div>
+                </div>
+                <button style={{marginTop: '50px'}} className="primaryButton" onClick={() => raise()}>Raise <GiTwoCoins style={{marginTop: '3px', marginBottom: '-3px'}} /></button>
+                <br/>
+                <button style={{position: 'absolute', bottom: '10%', left: '50%', transform: 'translateX(-50%)'}} className="tertiaryButton" onClick={() => closeModal()}>Cancel <AiOutlineClose style={{marginTop: '3px', marginBottom: '-3px'}} /></button>
+            </div>
+        </div>
+    )
+}
+
+export default RaiseModal
