JSFiddle - React, Tailwind, and code Playground

HTML

<div id="wynik" style="margin:0 auto; width:640px;">
		<p><button onclick="document.location.reload(true); newGame();" type="button">Nowa Gra!</button></p>
		<div id="result"></div>
	</div>
    <div style="margin:0 auto; width:640px; height:480px; border: 4px solid #000000;">  
		<img id="sorry" src="sorry.jpg" style="display:none;"/>  
		<canvas id="myCanvas" width="640" height="480" onclick="onCanvasClick(event);">  
		</canvas>
    </div>

JavaScript

window.onload = onReady;
		
    var can;
    var ctx;		
    var img;
    var clickX;
    var clickY;
    var selected1;
    var selected2;		
	// wielkość kafelka
    var blockSize   = 160;
    var piecesArray// = new Array();


			Storage.prototype.setObj = function(key, obj) {
				return this.setItem(key, JSON.stringify(obj))
			}
			Storage.prototype.getObj = function(key) {
				return JSON.parse(this.getItem(key))
			}
	
			function onReady()
			{
					if (localStorage["piecesArray"])
					{
						piecesArray = new Array();
						piecesArray.length = 0; 
						piecesArray = localStorage.getObj("piecesArray");
					}
					else
					{
						piecesArray = new Array();
					}
				can = document.getElementById('myCanvas');
				ctx        = can.getContext('2d');			
				img        = new Image();
				img.onload = onImage1Load;
				img.src    = "http://www.niagaraparks.com/images/wallpaper/niagarafalls_640x480.jpg";	
			}

	function onImage1Load()
	{
        if(!piecesArray.length) {
		var r;
		for(var i = 0; i < 4; i++)
		{
		    for(var j = 0; j < 3; j++)
		    {
		        r = new Rectangle(i * blockSize, j * blockSize, i*blockSize + blockSize, j * blockSize + blockSize);
		        piecesArray.push(r);
		    }				
		}

		scrambleArray(piecesArray, 30);
        }
		drawImage();

	}

	function Rectangle(left, top, right, bottom)
	{
		this.left = left;
		this.top  = top;
		this.right = right;
		this.bottom = bottom;
			
		this.width = right - left;
		this.height = bottom - top;

	}

	function scrambleArray(ar, times)
	{
		var count = 0;
		var temp;
		var index1;
		var index2;

		while(count < times)
		{
		    index1 = Math.floor(Math.random()*piecesArray.length);
		    index2 = Math.floor(Math.random()*piecesArray.length);
				
		    temp = piecesArray[index1];
		    piecesArray[index1] = piecesArray[index2];
		    piecesArray[index2] = temp;
				
		    count++;
		}

	}

	function drawImage()
	{
		var r;
		for(var i = 0; i < 4; i++)
		{
		    for(var j = 0; j < 3;...