X-Git-Url: https://git.cworth.org/git?p=lmno.games;a=blobdiff_plain;f=tictactoe%2Ftictactoe.jsx;h=934faa8e0cc63e37adc530c22beea642f7782fb7;hp=eff7eff32f6df572437130d0ec2c0e8ecf8c2a7b;hb=d1b224fb4410e5ae5a06a5a8edc707524f1c2b73;hpb=f0c30f7cd59ecfca24e6a7332910f87a6b2045e6 diff --git a/tictactoe/tictactoe.jsx b/tictactoe/tictactoe.jsx index eff7eff..934faa8 100644 --- a/tictactoe/tictactoe.jsx +++ b/tictactoe/tictactoe.jsx @@ -1,3 +1,30 @@ +function undisplay(element) { + element.style.display="none"; +} + +function add_message(severity, message) { + message = `
+× +${message} +
`; + const message_area = document.getElementById('message-area'); + message_area.insertAdjacentHTML('beforeend', message); +} + +const events = new EventSource("events"); + +events.onerror = function(event) { + if (event.target.readyState === EventSource.CLOSED) { + add_message("danger", "Connection to server lost."); + } +}; + +events.addEventListener("move", event => { + const square = JSON.parse(event.data); + + window.game.receiveMove(square); +}); + function Square(props) { return ( - - ); - }); - let status; if (winner) { status = "Winner: " + winner; @@ -112,7 +154,6 @@ class Game extends React.Component {
{status}
-
    {moves}
); @@ -121,7 +162,9 @@ class Game extends React.Component { // ======================================== -ReactDOM.render(, document.getElementById("tictactoe")); +ReactDOM.render( window.game = me} + />, document.getElementById("tictactoe")); function calculateWinner(squares) { const lines = [