mirror of
https://github.com/OutCast3k/coinbin.git
synced 2025-12-24 19:51:28 +01:00
commit
d6046784de
44
index.html
44
index.html
@ -37,6 +37,8 @@
|
||||
|
||||
<script type="text/javascript" src="js/coin.js"></script>
|
||||
<script type="text/javascript" src="js/coinbin.js"></script>
|
||||
|
||||
<script type="text/javascript" src="js/cookie.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@ -54,28 +56,28 @@
|
||||
<a href="#home" class="navbar-brand" id="homeBtn"><img src="images/coinbin.gif" style="height:25px;margin-top:-5px"></a>
|
||||
</div>
|
||||
<div class="collapse navbar-collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-plus"></span> New<b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="#newAddress" data-toggle="tab">Address</a></li>
|
||||
<li><a href="#newSegWit" data-toggle="tab">SegWit Address</a></li>
|
||||
<li><a href="#newMultiSig" data-toggle="tab">MultiSig Address</a></li>
|
||||
<li><a href="#newTimeLocked" data-toggle="tab">Time Locked Address</a></li>
|
||||
<li><a href="#newHDaddress" data-toggle="tab">HD Address</a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="#newTransaction" data-toggle="tab">Transaction</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#verify" data-toggle="tab"><span class="glyphicon glyphicon-ok"></span> Verify</a></li>
|
||||
<li><a href="#sign" data-toggle="tab"><span class="glyphicon glyphicon-pencil"></span> Sign</a></li>
|
||||
<li><a href="#broadcast" data-toggle="tab"><span class="glyphicon glyphicon-globe"></span> Broadcast</a></li>
|
||||
<li><a href="#wallet" data-toggle="tab"><span class="glyphicon glyphicon-briefcase"></span> Wallet</a></li>
|
||||
<li><a href="#about" data-toggle="tab"><span class="glyphicon glyphicon-info-sign"></span> About</a></li>
|
||||
<ul class="nav navbar-nav">
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-plus"></span> New<b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="#newAddress" data-toggle="tab">Address</a></li>
|
||||
<li><a href="#newSegWit" data-toggle="tab">SegWit Address</a></li>
|
||||
<li><a href="#newMultiSig" data-toggle="tab">MultiSig Address</a></li>
|
||||
<li><a href="#newTimeLocked" data-toggle="tab">Time Locked Address</a></li>
|
||||
<li><a href="#newHDaddress" data-toggle="tab">HD Address</a></li>
|
||||
<li class="divider"></li>
|
||||
<li><a href="#newTransaction" data-toggle="tab">Transaction</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#verify" data-toggle="tab"><span class="glyphicon glyphicon-ok"></span> Verify</a></li>
|
||||
<li><a href="#sign" data-toggle="tab"><span class="glyphicon glyphicon-pencil"></span> Sign</a></li>
|
||||
<li><a href="#broadcast" data-toggle="tab"><span class="glyphicon glyphicon-globe"></span> Broadcast</a></li>
|
||||
<li><a href="#wallet" data-toggle="tab"><span class="glyphicon glyphicon-briefcase"></span> Wallet</a></li>
|
||||
<li><a href="#about" data-toggle="tab"><span class="glyphicon glyphicon-info-sign"></span> About</a></li>
|
||||
|
||||
<li class="hidden"><a href="#settings" data-toggle="tab"><span class="glyphicon glyphicon-cog"></span> Settings</a></li>
|
||||
<li class="hidden"><a href="#fees" data-toggle="tab"><span class="glyphicon glyphicon-tag"></span> Fees</a></li>
|
||||
</ul>
|
||||
<li><a href="#settings" data-toggle="tab"><span class="glyphicon glyphicon-cog"></span> Settings</a></li>
|
||||
<li><a href="#fees" data-toggle="tab"><span class="glyphicon glyphicon-tag"></span> Fees</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1932,33 +1932,36 @@ $(document).ready(function() {
|
||||
});
|
||||
|
||||
$("#coinjs_coin").change(function(){
|
||||
// set cookie for use after page (re)load
|
||||
let cookie = new Cookie("coinbin_coin_option");
|
||||
cookie.setValue($(this).val());
|
||||
|
||||
var o = ($("option:selected",this).attr("rel")).split(";");
|
||||
optionSeleted = ($("option:selected",this).attr("rel")).split(";");
|
||||
|
||||
// deal with broadcasting settings
|
||||
if(o[5]=="false"){
|
||||
if(optionSeleted[5]=="false"){
|
||||
$("#coinjs_broadcast, #rawTransaction, #rawSubmitBtn, #openBtn").attr('disabled',true);
|
||||
$("#coinjs_broadcast").val("coinb.in");
|
||||
} else {
|
||||
$("#coinjs_broadcast").val(o[5]);
|
||||
$("#coinjs_broadcast").val(optionSeleted[5]);
|
||||
$("#coinjs_broadcast, #rawTransaction, #rawSubmitBtn, #openBtn").attr('disabled',false);
|
||||
}
|
||||
|
||||
// deal with unspent output settings
|
||||
if(o[6]=="false"){
|
||||
if(optionSeleted[6]=="false"){
|
||||
$("#coinjs_utxo, #redeemFrom, #redeemFromBtn, #openBtn, .qrcodeScanner").attr('disabled',true);
|
||||
$("#coinjs_utxo").val("coinb.in");
|
||||
} else {
|
||||
$("#coinjs_utxo").val(o[6]);
|
||||
$("#coinjs_utxo").val(optionSeleted[6]);
|
||||
$("#coinjs_utxo, #redeemFrom, #redeemFromBtn, #openBtn, .qrcodeScanner").attr('disabled',false);
|
||||
}
|
||||
|
||||
// deal with the reset
|
||||
$("#coinjs_pub").val(o[0]);
|
||||
$("#coinjs_priv").val(o[1]);
|
||||
$("#coinjs_multisig").val(o[2]);
|
||||
$("#coinjs_hdpub").val(o[3]);
|
||||
$("#coinjs_hdprv").val(o[4]);
|
||||
$("#coinjs_pub").val(optionSeleted[0]);
|
||||
$("#coinjs_priv").val(optionSeleted[1]);
|
||||
$("#coinjs_multisig").val(optionSeleted[2]);
|
||||
$("#coinjs_hdpub").val(optionSeleted[3]);
|
||||
$("#coinjs_hdprv").val(optionSeleted[4]);
|
||||
|
||||
// hide/show custom screen
|
||||
if($("option:selected",this).val()=="custom"){
|
||||
@ -2285,4 +2288,16 @@ $(document).ready(function() {
|
||||
return true;
|
||||
};
|
||||
|
||||
/* set network from cookie on page load */
|
||||
|
||||
function setNetwork () {
|
||||
let cookie = new Cookie("coinbin_coin_option");
|
||||
if(val = cookie.getValue())
|
||||
{
|
||||
$("#coinjs_coin").val(val)
|
||||
$("#coinjs_coin").trigger("change")
|
||||
}
|
||||
}
|
||||
setNetwork()
|
||||
|
||||
});
|
||||
|
||||
85
js/cookie.js
Normal file
85
js/cookie.js
Normal file
@ -0,0 +1,85 @@
|
||||
class Cookie {
|
||||
#name;
|
||||
#value;
|
||||
|
||||
constructor(name) {
|
||||
this.name = name;
|
||||
this.value;
|
||||
|
||||
// read the cookies value (initializes value)
|
||||
this.get();
|
||||
}
|
||||
|
||||
get() {
|
||||
var allCookies = document.cookie;
|
||||
var cookie;
|
||||
|
||||
// find out how much cookies are set to be able to pick the right one
|
||||
if(!allCookies)
|
||||
{
|
||||
// the tray is empty. leave fields as initialized
|
||||
return;
|
||||
}
|
||||
|
||||
if(allCookies.indexOf(";") > 0)
|
||||
{
|
||||
// many cookies found, pick one
|
||||
cookie = this.pickCookie(allCookies);
|
||||
} else {
|
||||
// only one cookie found. Check if its the right one
|
||||
if(this.validateCookie(allCookies))
|
||||
{
|
||||
cookie = allCookies;
|
||||
}
|
||||
}
|
||||
|
||||
// read contents of the picked cookie
|
||||
if(cookie) {
|
||||
this.value = this.readCookieContents(cookie);
|
||||
} else {
|
||||
console.log("Coudn't get cookie");
|
||||
}
|
||||
}
|
||||
|
||||
pickCookie(manyCookies) {
|
||||
manyCookies.split(";").forEach((cookie, _) => {
|
||||
if(this.validateCookie(cookie))
|
||||
{
|
||||
return cookie;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
validateCookie(cookie) {
|
||||
if(cookie.indexOf("=") >= 0)
|
||||
{
|
||||
var cookieCredentials = cookie.split("=");
|
||||
var name = cookieCredentials[0]
|
||||
return name == this.name;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
readCookieContents(cookie) {
|
||||
var cookieCredentials = cookie.split("=");
|
||||
var value = cookieCredentials[1];
|
||||
return JSON.parse(value);
|
||||
}
|
||||
|
||||
setValue(valueToBeSet) {
|
||||
// update internal record
|
||||
this.value = valueToBeSet;
|
||||
|
||||
// prepare value for storing
|
||||
var valueJSON = JSON.stringify(valueToBeSet);
|
||||
|
||||
// set cookie with expiry on browser close
|
||||
document.cookie = this.name+"="+valueJSON;
|
||||
}
|
||||
|
||||
getValue() {
|
||||
this.get();
|
||||
return this.value;
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user