const preact = require('preact'); const range = require('lodash/range'); const { stringSort } = require('./../utils'); const molecule = require('./molecule'); const SpawnButton = require('./spawn.button'); const idSort = stringSort('id'); const COLOURS = [ '#a52a2a', '#1FF01F', '#3498db', ]; function CrypList(args) { const { cryps, selectedCryps, setSelectedCryps, sendPlayerMmCrypsSet, sendInstanceJoin, sendCrypSpawn } = args; if (!cryps) return
; // redux limitation + suggested workaround // so much for dumb components function selectCryp(id) { // remove const i = selectedCryps.findIndex(sid => sid === id); if (i > -1) { selectedCryps[i] = null; return setSelectedCryps(selectedCryps); } // window insert const insert = selectedCryps.findIndex(j => j === null); if (insert === -1) return setSelectedCryps([id, null, null]); selectedCryps[insert] = id; return setSelectedCryps(selectedCryps); } const instanceJoinHidden = !selectedCryps.every(c => !!c); const mmSet = ( ); const instanceJoin = ( ); const crypPanels = cryps.sort(idSort).map(cryp => { const colour = selectedCryps.indexOf(cryp.id); const selected = colour > -1; const borderColour = selected ? COLOURS[colour] : '#000000'; return (