From 601082cebe43acc9fd603c13c1a6fc46ca154eb0 Mon Sep 17 00:00:00 2001 From: Joshua Seigler Date: Fri, 9 Sep 2016 21:59:40 -0400 Subject: [PATCH] feat: add Dash logo --- app.js | 130 ++++++++++++++++++++++--------------------- assets/Dash-logo.svg | 2 + style.css | 6 +- 3 files changed, 73 insertions(+), 65 deletions(-) create mode 100644 assets/Dash-logo.svg diff --git a/app.js b/app.js index 1fbd645..937e65a 100644 --- a/app.js +++ b/app.js @@ -1,71 +1,73 @@ 'use strict'; -var socket = io("https://blockchain.masternode.io/"); -var transactionList = document.getElementById('transactionList'); +(function() { + function playSound(url){ + var audio = document.createElement('audio'); + audio.style.display = "none"; + audio.src = url; + audio.autoplay = true; + audio.loop = false; + audio.onended = function(){ + audio.remove() //Remove when played. + }; + document.body.appendChild(audio); + } -function playSound(url){ - var audio = document.createElement('audio'); - audio.style.display = "none"; - audio.src = url; - audio.autoplay = true; - audio.loop = false; - audio.onended = function(){ - audio.remove() //Remove when played. + var onTransaction = function(data) { + console.log(data); + playSound('assets/bell.mp3'); + var tx = document.createElement('div'); + tx.className = 'tx'; + var txValue = document.createElement('a'); + txValue.className = 'txValue'; + txValue.href = 'https://blockchain.masternode.io/tx/' + data.txid; + txValue.target = '_blank'; + txValue.setAttribute('rel', 'noopener'); + var txOutputs = document.createElement('div'); + txOutputs.className = 'txOutputs'; + txValue.appendChild(document.createTextNode(data.valueOut)); + tx.appendChild(txValue); + tx.appendChild(txOutputs); + var transactions = data.vout.sort(function(a, b) { // sort descending by tx value + return b[Object.keys(b)[0]] - a[Object.keys(a)[0]]; + }); + transactions.forEach(function(value, index, array) { + var txOut = document.createElement('div'); + var outputSatoshis = value[Object.keys(value)[0]]; + txOut.className = 'txOut'; + txOut.style.width = (outputSatoshis * 0.00001).toFixed(4) + 'px'; + txOut.title = (value[Object.keys(value)[0]] * 0.00000001); + txOutputs.appendChild(txOut); + }); + transactionList.insertBefore(tx, transactionList.firstChild); }; - document.body.appendChild(audio); -} -var onTransaction = function(data) { - console.log(data); - playSound('assets/bell.mp3'); - var tx = document.createElement('div'); - tx.className = 'tx'; - var txValue = document.createElement('a'); - txValue.className = 'txValue'; - txValue.href = 'https://blockchain.masternode.io/tx/' + data.txid; - txValue.target = '_blank'; - txValue.setAttribute('rel', 'noopener'); - var txOutputs = document.createElement('div'); - txOutputs.className = 'txOutputs'; - txValue.appendChild(document.createTextNode(data.valueOut)); - tx.appendChild(txValue); - tx.appendChild(txOutputs); - var transactions = data.vout.sort(function(a, b) { // sort descending by tx value - return b[Object.keys(b)[0]] - a[Object.keys(a)[0]]; + var onBlock = function(data) { + console.log(data); + playSound('assets/whoosh.mp3'); + var newBlock = document.createElement('a'); + newBlock.className = 'blockDivider'; + newBlock.href = 'https://blockchain.masternode.io/block/' + data; + newBlock.target = '_blank'; + newBlock.setAttribute('rel', 'noopener'); + newBlock.appendChild(document.createTextNode(data)); + transactionList.insertBefore(newBlock, transactionList.firstChild); + }; + + var socket = io("https://blockchain.masternode.io/"); + var transactionList = document.getElementById('transactionList'); + + socket.on('connect', function() { + document.getElementById('connectionStatus').className = 'is-connected'; + // Join the room. + socket.emit('subscribe', 'inv'); + }) + socket.on('tx', onTransaction); + socket.on('block', onBlock); + socket.on('disconnect', function() { + document.getElementById('connectionStatus').className = 'is-disconnected'; }); - transactions.forEach(function(value, index, array) { - var txOut = document.createElement('div'); - var outputSatoshis = value[Object.keys(value)[0]]; - txOut.className = 'txOut'; - txOut.style.width = (outputSatoshis * 0.00001).toFixed(4) + 'px'; - txOut.title = (value[Object.keys(value)[0]] * 0.00000001); - txOutputs.appendChild(txOut); + socket.on('reconnecting', function() { + document.getElementById('connectionStatus').className = 'is-connecting'; }); - transactionList.insertBefore(tx, transactionList.firstChild); -}; - -var onBlock = function(data) { - console.log(data); - playSound('assets/whoosh.mp3'); - var newBlock = document.createElement('a'); - newBlock.className = 'blockDivider'; - newBlock.href = 'https://blockchain.masternode.io/block/' + data; - newBlock.target = '_blank'; - newBlock.setAttribute('rel', 'noopener'); - newBlock.appendChild(document.createTextNode(data)); - transactionList.insertBefore(newBlock, transactionList.firstChild); -}; - -socket.on('connect', function() { - document.getElementById('connectionStatus').className = 'is-connected'; - // Join the room. - socket.emit('subscribe', 'inv'); -}) -socket.on('tx', onTransaction); -socket.on('block', onBlock); -socket.on('disconnect', function() { - document.getElementById('connectionStatus').className = 'is-disconnected'; -}); -socket.on('reconnecting', function() { - document.getElementById('connectionStatus').className = 'is-connecting'; -}); +})(); diff --git a/assets/Dash-logo.svg b/assets/Dash-logo.svg new file mode 100644 index 0000000..e999cc9 --- /dev/null +++ b/assets/Dash-logo.svg @@ -0,0 +1,2 @@ + +image/svg+xml diff --git a/style.css b/style.css index 407ab98..ce51381 100644 --- a/style.css +++ b/style.css @@ -4,7 +4,11 @@ body { box-sizing: border-box; font-family: sans-serif; font-size: 140%; - background-image: linear-gradient(to bottom right, hsl(208, 73%, 43%), hsl(208, 86.5%, 21.5%)); + background-image: url('assets/Dash-logo.svg'), linear-gradient(to bottom right, hsl(208, 73%, 43%), hsl(208, 86.5%, 21.5%)); + background-size: 50vmin auto, cover; + background-position: center; + background-attachment: fixed; + background-repeat: no-repeat; background-color: hsl(208, 73%, 43%); color: white; min-height: 100vh;