mirror of
https://github.com/arnaucube/faircoin-calculator.git
synced 2026-02-06 19:06:40 +01:00
first commit
This commit is contained in:
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
node_modules
|
||||||
|
package-lock.json
|
||||||
|
data
|
||||||
5
README.md
Normal file
5
README.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# faircoin-calculator
|
||||||
|
|
||||||
|
Very simple Faircoin calculator.
|
||||||
|
|
||||||
|
The price dataset is getted from http://api.fairplayground.info/rawdata/faircoin_prices.csv
|
||||||
BIN
img/faircoin-logo.png
Normal file
BIN
img/faircoin-logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
82
index.html
Normal file
82
index.html
Normal file
@@ -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>
|
||||||
88
index.js
Normal file
88
index.js
Normal file
@@ -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");
|
||||||
|
}
|
||||||
11
package.json
Normal file
11
package.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"name": "faircoin-calculator",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"scripts": {
|
||||||
|
"prestart": "npm install",
|
||||||
|
"start": "http-server"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user