Compare commits

...

2 Commits

Author SHA1 Message Date
91df15309a Delete servers using console 2025-10-14 15:20:41 +02:00
b3636f2710 Support adding servers 2025-10-14 15:20:20 +02:00
2 changed files with 47 additions and 3 deletions

View File

@@ -53,8 +53,12 @@ class trdom_servermanager extends EventTarget {
server.refreshTorrentList();
}
addServer(name, url, user, pass) {
this.#registerServer(name, {'rpcurl': url, 'auth': `Basic ${btoa(`${user}:${pass}`)}`});
addServer(name, url, user = null, pass = '') {
let initdata = {rpcurl: url};
if (user != null) {
initdata.auth = `Basic ${btoa(`${user}:${pass}`)}`
}
this.#registerServer(name, initdata);
this.#saveServers();
}
@@ -136,7 +140,43 @@ class trdom_servermanager extends EventTarget {
switch (e.currentTarget.getAttributeNS('trweb', 'servermanagerbutton')) {
case 'add':
e.stopPropagation();
window.alert('Server add form isn\'t implemented');
let addName = window.prompt('Enter name for the new server');
if (addName != null) {
if (addName == '') {
window.alert('No name was provided, aborting');
}
else {
if (this.#servers[addName] != null) {
window.alert('Server with the provided name already exists, aborting');
}
else {
let addUrl = window.prompt('Enter server URL', 'http://localhost:9091/transmission/rpc');
if (addUrl != null) {
if (addUrl == '') {
window.alert('No URL provided, aborting');
}
else {
let addUser;
let addPass;
addUser = window.prompt('Enter username, leave empty of not required');
if (addUser == null) {
return;
}
if (addUser == '') {
addUser = null;
}
else {
addPass = window.prompt(`Enter password for user ${addUser}`);
if (addPass == null) {
return;
}
}
this.addServer(addName, addUrl, addUser, addPass);
}
}
}
}
}
break;
case 'block':
e.stopPropagation();

View File

@@ -112,6 +112,10 @@ class trweb {
addServer(name, url, user, pass) {
this.#dom_servermanager.addServer(name, url, user, pass);
}
removeServer(name) {
this.#dom_servermanager.removeServer(name);
}
}
var trinstance = new trweb('trcontainer', null, null, function(msg) {console.info(`TRWEB: ${msg}`)});