JSFiddle - React, Tailwind, and code Playground

by SwampFall

JavaScript

var CLIENT_ID = '638904102829-f88oril6gn7np82807r3b5uejtc049fi.apps.googleusercontent.com';
var API_KEY = 'AIzaSyCdnqaPvkOup1VHvCFvisj709yFnnH1V0k';

// Array of API discovery doc URLs for APIs used by the quickstart
var DISCOVERY_DOCS = ["https://sheets.googleapis.com/$discovery/rest?version=v4"];

// Authorization scopes required by the API; multiple scopes can be
// included, separated by spaces.
var SCOPES = "https://www.googleapis.com/auth/spreadsheets";

function handleClientLoad() {
  gapi.load('client:auth2', initClient);
}

function initClient() {
  gapi.client.init({
    apiKey: API_KEY,
    clientId: CLIENT_ID,
    discoveryDocs: DISCOVERY_DOCS,
    scope: SCOPES
  }).then(function () {
    // Listen for sign-in state changes.
    gapi.auth2.getAuthInstance().isSignedIn.listen(updateSigninStatus);

    // Handle the initial sign-in state.
    updateSigninStatus(gapi.auth2.getAuthInstance().isSignedIn.get());
    authorizeButton.onclick = handleAuthClick;
    signoutButton.onclick = handleSignoutClick;
  });
}


function getStrategies() {
  gapi.client.sheets.spreadsheets.values.get({
    spreadsheetId: '1AsGngm54DpPpYodYrENvr_Guw7ocW7aX27PRvWKcsq4',
    range: 'A:F',
  }).then(function(response) {
    let range = response.result;
    if (range.values.length > 0) {
    	let strategyZone = $("#strategyZone");
      strategyZone.html("");
      let dims = [];
      let strats = [];
      range.values.sort(function(a, b) { return a[3] - b[3]});
      for (i = 1; i < range.values.length; i++) {
        let r = range.values[i];
        let dim = r[1] + "x" + r[2];
        if (dims.indexOf(dim) < 0) {
          dims.push(dim);
          strats.push([]);
        }
        let index = dims.indexOf(dim);
        strats[index].push(r);
      }
      strats.sort(function(a, b) {return a[1] - b[1]});
      for (let i = 0; i < strats.length; i++) {
      	let div = $("<div>" + strats[i][0][1] + "x" + strats[i][0][2] + "</div>");
        for (let j = 0; j <...