JSFiddle - React, Tailwind, and code Playground

by idleberg

HTML

<canvas id="my-canvas"></canvas>
    <button id="btn-panel-toggle">Hide Panel</button>
    <div id="panel">
        <div class="controls">
            <div class="song-controls">
                <label>
                    <input placeholder="Soundcloud Track URL" id="sc-url" type="text" value="http://soundcloud.com/lone-1/lone-airglow-fires"/>
                </label>
                <button id="btn-play">Play</button>
            </div>
            <div class="code-controls">
                <button id="btn-runpreset">Run Preset</button>
                <select id="dim-factor" title="Canvas Size Factor">
                    <option value="1">1x</option>
                    <option value="2">2x</option>
                    <option value="4">4x</option>
                    <option value="8">8x</option>
                </select>
            </div>
        </div>
        <div id="preset-code">
        </div>
    </div>

CSS

body {
    overflow: hidden;
    background-color: grey;
}

button, select {
    background-color: rgba(255, 255, 255, 0.3);
    border-radius: 5px;
    border: 1px solid transparent;
    padding: 5px;
    -webkit-appearance: none;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}

button:hover, input:hover, select:hover {
    border: 1px solid rgba(255, 255, 255, 0.6);
}

button:hover, select:hover {
    cursor: pointer;
}

button:active {
    background-color: rgba(255, 255, 255, 0.9);
}

input {
    background-color: rgba(0, 0, 0, 0.6);
    border-radius: 5px;
    border: 1px solid transparent;
    padding: 5px;
    color: rgba(255, 255, 255, 0.6);
    box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.9);
}

input:hover {
    cursor: text;
}

#my-canvas {
    position: absolute;
    top: 0px;
    left:0px;
}

#panel {
    position: absolute;
    top: 100px;
    left:100px;
    width: 650px;
    background-color: transparent;
    border-radius: 5px;
    padding: 15px;
    cursor: move;
    background-color: rgba(192, 192, 192, 0.6);
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}

#panel .controls {
    padding: 5px 0px;
}

#panel .song-controls {
    float:right;
}

#btn-panel-toggle {
    position: absolute;
    top: 10px;
    right: 10px;
}

#preset-code .CodeMirror {
    /* Set height, width, borders, and global font properties here */
    font-family: monospace;
    height: 300px;
    background-color: transparent;
}

JavaScript

$(function() {
    
    var i = null;
    
    $("body").mousemove(function() {
        clearTimeout(i);
        $("#panel,#btn-panel-toggle,#fps").fadeIn(200);
        var i = setTimeout('$("#panel,#btn-panel-toggle,#fps").fadeOut(800);', 3000);
    })
});