import {html, render} from './lit.min.js'; import * as tfrpc from '/static/tfrpc.js'; function delete_user(user) { if (confirm(`Are you sure you want to delete the user "${user}"?`)) { tfrpc.rpc.delete_user(user).then(function() { alert(`User "${user}" deleted successfully.`); }).catch(function(error) { alert(`Failed to delete user "${user}": ${JSON.stringify(error, null, 2)}.`); }); } } function global_settings_set(key, value) { tfrpc.rpc.global_settings_set(key, value).then(function() { alert(`Set "${key}" to "${value}".`); }).catch(function(error) { alert(`Failed to set "${key}": ${JSON.stringify(error, null, 2)}.`); }); } window.addEventListener('load', function() { const permission_template = (permission) => html` ${permission}`; function input_template(key, description) { if (description.type === 'boolean') { return html`
${description.description}
`; } else if (description.type === 'textarea') { return html`
${description.description}
`; } else { return html`
${description.description}
`; } } const user_template = (user, permissions) => html`
  • ${user}: ${permissions.map(x => permission_template(x))}
  • `; const users_template = (users) => html`

    Users

    `; const page_template = (data) => html`

    Global Settings

    ${Object.keys(data.settings).sort().map(x => html`${input_template(x, data.settings[x])}`)}
    ${users_template(data.users)}
    `; render(page_template(g_data), document.body); });