// In renderer process (web page). const {ipcRenderer} = require('electron'); class MainGUI { constructor() { this.appState = "account"; } changeAppState(newState) { this.appState = newState; $(".sidebarIconWrapper").removeClass("iconSelected"); switch(this.appState) { case "account": $("#mainNavBtnWalletsWrapper").addClass("iconSelected"); break; case "addressBook": $("#mainNavBtnAddressBoookWrapper").addClass("iconSelected"); break; case "send": $("#mainNavBtnSendWrapper").addClass("iconSelected"); break; case "transactions": $("#mainNavBtnTransactionsWrapper").addClass("iconSelected"); break; case "settings": $("#mainNavBtnSettingsWrapper").addClass("iconSelected"); break; default: // do nothing for now } } getAppState() { return this.appState; } showGeneralError(errorText) { $("#txtGeneralError").html(errorText); // create and open the dialog $("#dlgGeneralError").iziModal(); $('#dlgGeneralError').iziModal('open'); $("#btnGeneralErrorOK").click(function() { $('#dlgGeneralError').iziModal('close'); }); } showGeneralConfirmation(confirmText, callback) { $("#txtGeneralConfirm").html(confirmText); // create and open the dialog $("#dlgGeneralConfirm").iziModal(); $('#dlgGeneralConfirm').iziModal('open'); $("#btnGeneralConfirmYes").click(function() { $('#dlgGeneralConfirm').iziModal('close'); console.log(true); callback(true); }); $("#btnGeneralConfirmNo").click(function() { $('#dlgGeneralConfirm').iziModal('close'); callback(false); }); } renderTemplate(template, data, container) { var template = Handlebars.compile(ipcRenderer.sendSync('getTemplateContent', template)); if (!container) { container = $("#mainContent") } container.empty(); container.html(template(data)); } copyToClipboard(text) { var $temp = $(""); $("body").append($temp); $temp.val(text).select(); document.execCommand("copy"); $temp.remove(); } } $("#mainNavBtnTransactions").click(function() { EthoTransactions.clearFilter(); EthoMainGUI.changeAppState("transactions"); EthoTransactions.renderTransactions(); }); $("#mainNavBtnAddressBoook").click(function() { EthoMainGUI.changeAppState("addressBook"); EthoAddressBook.renderAddressBook(); }); $("#mainNavBtnSend").click(function() { EthoMainGUI.changeAppState("send"); EthoSend.renderSendState(); }); $("#mainNavBtnWallets").click(function() { EthoMainGUI.changeAppState("account"); EthoWallets.renderWalletsState(); }); $("#mainNavBtnSettings").click(function() { EthoMainGUI.changeAppState("settings"); EthoSettings.renderSettingsState(); }); EthoMainGUI = new MainGUI();