From 0472ea5d9de095c8f745b3362c90e4d4186b16b1 Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Mon, 22 Aug 2016 15:07:41 -0400 Subject: [PATCH] Add support for client side settings using localStorage --- js/lbry.js | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/js/lbry.js b/js/lbry.js index a90f32c2d..cb8a6dc02 100644 --- a/js/lbry.js +++ b/js/lbry.js @@ -4,7 +4,8 @@ var lbry = { daemonConnectionString: 'http://localhost:5279/lbryapi', colors: { primary: '#155B4A' - } + }, + defaultClientSettings: {} }; lbry.jsonrpc_call = function (connectionString, method, params, callback, errorCallback, connectFailedCallback) { @@ -104,6 +105,7 @@ lbry.setDaemonSetting = function(setting, value, callback) { lbry.call('set_settings', setSettingsArgs, callback) } + lbry.getBalance = function(callback) { lbry.call("get_balance", {}, callback); @@ -214,6 +216,31 @@ lbry.checkNewVersionAvailable = function(callback) { }); } +lbry.getClientSettings = function() { + var outSettings = {}; + for (let setting of Object.keys(lbry.defaultClientSettings)) { + var localStorageVal = localStorage.getItem('setting_' + setting); + outSettings[setting] = (localStorageVal === null ? lbry.defaultClientSettings[setting] : JSON.parse(localStorageVal)); + } + return outSettings; +} + +lbry.getClientSetting = function(setting) { + var localStorageVal = localStorage.getItem('setting_' + setting); + return (localStorageVal === null ? lbry.defaultClientSettings[setting] : JSON.parse(localStorageVal)); +} + +lbry.setClientSettings = function(settings) { + for (let setting of Object.keys(settings)) { + lbry.setClientSetting(setting, settings[setting]); + } +} + +lbry.setClientSetting = function(setting, value) { + return localStorage.setItem('setting_' + setting, JSON.stringify(value)); +} + + lbry.reportBug = function(message, callback) { lbry.call('upload_log', { name_prefix: 'report',