diff --git a/webui-src/app/config/config_people.js b/webui-src/app/config/config_people.js new file mode 100644 index 0000000..b06cfff --- /dev/null +++ b/webui-src/app/config/config_people.js @@ -0,0 +1,56 @@ +const m = require('mithril'); +const rs = require('rswebui'); + +const Reputation = () => { + let addFriendIdAsContacts = undefined; + let deleteBannedAfter = undefined; + return { + oninit: (vnode) => { + rs.rsJsonApiRequest('/rsIdentity/autoAddFriendIdsAsContact', {}, + (data) => addFriendIdAsContacts = data.retval); + rs.rsJsonApiRequest('/rsIdentity/deleteBannedNodesThreshold', {}, + (data) => deleteBannedAfter = data.retval); + }, + view: (vnode) => m('.widget', [ + m('h3', 'Reputation'), + m('hr'), + m('.grid-2col', [ + m('p', + 'Automatically add identities owned by friend nodes to my contacts:' + ), + m('input[type=checkbox]', { + checked: addFriendIdAsContacts, + oninput: (e) => { + addFriendIdAsContacts = e.target.checked; + rs.rsJsonApiRequest( + '/rsIdentity/setAutoAddFriendIdsAsContact', { + enabled: addFriendIdAsContacts + }, () => {}); + }, + }), + m('p', + 'Delete banned identities after(in days, 0 means indefinitely):' + ), + m('input[type=number]', { + oninput: (e) => deleteBannedAfter = e.target.value, + value: deleteBannedAfter, + onchange: () => rs.rsJsonApiRequest( + '/rsIdentity/setDeleteBannedNodesThreshold', { + days: deleteBannedAfter + }, () => {}), + }), + ]), + ]), + } +}; + +const Layout = () => { + return { + view: (vnode) => [ + m(Reputation), + ] + }; +}; + +module.exports = Layout; + diff --git a/webui-src/app/config/config_resolver.js b/webui-src/app/config/config_resolver.js index cb2109e..082c802 100644 --- a/webui-src/app/config/config_resolver.js +++ b/webui-src/app/config/config_resolver.js @@ -26,6 +26,7 @@ let sections = { node: require('config_node'), services: require('config_services'), files: require('config_files'), + people: require('config_people'), }; const Layout = { diff --git a/webui-src/app/theme.css b/webui-src/app/theme.css index 4aeaa65..92480ed 100644 --- a/webui-src/app/theme.css +++ b/webui-src/app/theme.css @@ -105,7 +105,7 @@ hr { .grid-2col { display: grid; - grid-template-columns: 50% 50%; + grid-template-columns: auto auto; grid-row-gap: 16px; justify-content: start; }