diff --git a/index.html b/index.html index 691dbd5..fd52bda 100644 --- a/index.html +++ b/index.html @@ -37,6 +37,8 @@ + + @@ -54,28 +56,28 @@ diff --git a/js/coinbin.js b/js/coinbin.js index afc98f1..1e56054 100644 --- a/js/coinbin.js +++ b/js/coinbin.js @@ -1933,32 +1933,37 @@ $(document).ready(function() { $("#coinjs_coin").change(function(){ - var o = ($("option:selected",this).attr("rel")).split(";"); + var optionSeleted = ($("option:selected",this).attr("rel")).split(";"); + + let cookieSelectedCoin = new Cookie("coinbin_coin"); + cookieSelectedCoin.setCookie(optionSeleted) + + console.log(cookieSelectedCoin.cookieValue); // 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"){ diff --git a/js/cookie.js b/js/cookie.js new file mode 100644 index 0000000..1e989ab --- /dev/null +++ b/js/cookie.js @@ -0,0 +1,43 @@ +class Cookie { + constructor(name) { + this.cookieName = name; + + // read the cookies value (initializes cookieValue) + this.readCookie(); + } + + readCookie() { + var allCookies = document.cookie; + + // find the cookie that is currently being looked at. + allCookies.split(";").forEach((_, cookie) => { + var currentCookieName, currentCookieValue = cookie.split("="); + + if(currentCookieName = this.cookieName) + { + // set cookieValue to the value of this cookie + this.cookieValue = currentCookieValue; + break; + } + }); + + // default to NULL if cookie was not found + this.cookieValue = NULL; + } + + setCookie(cookieValue) { + // update internal record + this.cookieValue = currentCookieValue; + + // prepare value for storing + cookieValueJSON = JSON.stringify(cookieValue); + + // set cookie with expiry on browser close + document.cookie = this.cookieName+"="+cookieValueJSON; + } + + getCookieValue() { + this.readCookie(); + return this.cookieValue; + } +} \ No newline at end of file