first commit
arnaucode arnaucode@gmail.com
Wed, 14 Feb 2018 01:34:14 +0100
6 files changed,
189 insertions(+),
0 deletions(-)
A
README.md
@@ -0,0 +1,5 @@
+# faircoin-calculator + +Very simple Faircoin calculator. + +The price dataset is getted from http://api.fairplayground.info/rawdata/faircoin_prices.csv
A
index.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html> +<html lang="en"> + +<head> + <title>Faircoin-calculator</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> +</head> + +<body> + + <!-- github --> + <a target="_blank" href="https://github.com/arnaucode/faircoin-calculator"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub"></a> + <!-- /github --> + + <div class="container"> + <div class="row"> + <div class="col-sm-3"></div> + <div class="col-sm-6"> + <div class="card-body"> + <div class="card-title"> + <img src="img/faircoin-logo.png" class="img-fluid" /> + </div> + <div class="row"> + <div class="col-sm-12"> + <input id="inputDate" type="date"> + </div> + </div> + <br> + <div class="row"> + <div class="col-sm-5"> + <input type="number" class="form-control" id="inputFaircoin" placeholder="faircoin"> + </div> + <div class="col-sm-2"> + FC + </div> + <div class="col-sm-5"> + <button onclick="calculateEuros()" type="button" class="btn btn-outline-primary">Calculate euros</button> + </div> + </div> + <br> + <div class="row"> + <div class="col-sm-5"> + <input type="number" class="form-control" id="inputEuro" placeholder="euro"> + </div> + <div class="col-sm-2"> + € + </div> + <div class="col-sm-5"> + <button onclick="calculateFaircoins()" type="button" class="btn btn-outline-primary">Calculate faircoins</button> + </div> + </div> + <br> + <div class="row"> + <div class="col-sm-12"> + <div id="result"></div> + </div> + </div> + </div> + </div> + </div> + </div> + + <!-- bootstrap --> + <!-- jQuery first, then Popper.js, then Bootstrap JS --> + <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script> + <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script> + + <!--toastr--> + <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/css/toastr.min.css"> + <script src="http://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js"></script> + + <!-- own javascript--> + <script src="index.js"></script> + + +</body> + +</html>
A
index.js
@@ -0,0 +1,88 @@
+toastr.options = { + "positionClass": "toast-bottom-right" +}; + +var priceData = ""; + +//get the dataset +$(document).ready(function() { + $.ajax({ + type: "GET", + url: "http://api.fairplayground.info/rawdata/faircoin_prices.csv", + dataType: "text", + success: function(data) {processData(data);} + }); +}); +function csvToArray(csv) { + var a1 = csv.split("\n"); + var r = []; + for(var i=0; i<a1.length; i++) { + var a2 = a1[i].split(","); + r.push(a2); + } + return(r); +} +function processData(data) { + priceData = csvToArray(data); +}; + +function calculateEuros() { + document.getElementById("result").innerHTML=""; + var faircoins = document.getElementById("inputFaircoin").value; + var date = document.getElementById("inputDate").value; + if(!faircoins){ + toastr.warning("please, fill the faircoin input box"); + return; + } + if(!date){ + toastr.warning("no date"); + return; + } + //let's find the date in the priceData + var selectedPriceData = [] + for(var i=0; i<priceData.length; i++) { + if(priceData[i][0]==date) { + selectedPriceData = priceData[i]; + } + } + if(selectedPriceData.length<1) { + toastr.warning("selected date not found in the dataset"); + return; + } + console.log(selectedPriceData); + + var euros = faircoins * selectedPriceData[3]; + document.getElementById("inputEuro").value= euros; + document.getElementById("result").innerHTML = faircoins + "FC, are " + euros + "€"; + toastr.success(faircoins + "FC, are " + euros + "€"); +} +function calculateFaircoins() { + document.getElementById("result").innerHTML=""; + var euros = document.getElementById("inputEuro").value; + var date = document.getElementById("inputDate").value; + if(!euros){ + toastr.warning("please, fill the euro input box"); + return; + } + if(!date){ + toastr.warning("no date"); + return; + } + //let's find the date in the priceData + var selectedPriceData = [] + for(var i=0; i<priceData.length; i++) { + if(priceData[i][0]==date) { + selectedPriceData = priceData[i]; + } + } + if(selectedPriceData.length<1) { + toastr.warning("selected date not found in the dataset"); + return; + } + console.log(selectedPriceData); + + var faircoins = euros / selectedPriceData[3]; + document.getElementById("inputFaircoin").value= faircoins; + document.getElementById("result").innerHTML = euros + "€, are " + faircoins + "FC"; + toastr.success(euros + "€, are " + faircoins + "FC"); +}
A
package.json
@@ -0,0 +1,11 @@
+{ + "name": "faircoin-calculator", + "version": "1.0.0", + "description": "", + "scripts": { + "prestart": "npm install", + "start": "http-server" + }, + "dependencies": { + } +}