JSFiddle - React, Tailwind, and code Playground

by Ryan Duffy

HTML

<script src="https://parse.com/downloads/javascript/parse/latest/min.js"></script>

JavaScript

Parse.initialize("vJQ94NavOWF8FLteB27syCBJa001CkdwqoYmIpx1", "Cb9JhAOSu6M8Dm3mj3NuiyzC6tVGsgZbrdKZeMQ9");

loge = function () {
  console.log.apply(console, ["error"].concat(arguments));
};

(function() {
    function notifyPlayers(players, event, data, callback) {
        callback.success();
    }
 
    var Game = {
        Pending: 0,
        Active: 10,
        Complete: 20
    };
  
    var Invitation = {
        Pending: 0,
        Accepted: 10,
        Declined: 20
    };
  
    var currentUser;
  
    function createGame(callback) {
        var game = Parse.Object("Game");
        game.set({
            status: Game.Pending,
            playerCount: 0,
            createdBy:currentUser
        });
        game.save(callback);
    }

    function newGame(playerEmails, playerIDs, callback) {
        createGame({
            success: function (game) {
                playerEmails = playerEmails || [];
                playerIDs = playerIDs || [];
  
                createPlayers(game, playerEmails, playerIDs, {
                    success: function (players) {
                        game.set("playerCount", players.length);
                        
                        var me = findMe(players);
                        if(!me) {
                            callback.error("No player created for user");
                            return;
                        }
  
                        startRound(game, players, me.id, {
                            success: function(o) {
                                notifyPlayers(o.game.players, "onInvite", {game:o.game.objectId}, {
                                    success:function() {
                                        callback.success(o);
                                    },
                                    error:function(response) {
                                        console.error("Pusher onInvite failure"+JSON.stringify(response));
                                        callback.success(o);
      ...