Add support for client side settings using localStorage

This commit is contained in:
Alex Liebowitz 2016-08-22 15:07:41 -04:00
parent 0a2c0586d4
commit 0472ea5d9d

View file

@ -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',