diff --git a/client/app.js b/client/app.js index b5101db..69cd814 100644 --- a/client/app.js +++ b/client/app.js @@ -254,11 +254,11 @@ document.body.append(html.node`
-
- thread: meow +
+ thread: meow
-
+
diff --git a/client/index.html b/client/index.html index 30f2aff..1024bd1 100644 --- a/client/index.html +++ b/client/index.html @@ -61,6 +61,10 @@ &::placeholder { color: #aaa; } + &[type='radio'] { + position: relative; + top: 2px; + } } #register { margin-inline: 14px; @@ -155,11 +159,14 @@ display: flex; flex-direction: column; } - #title, #buttons { - margin: 4px 2px; + #titlebar, #buttonbar { + margin: 2px; display: flex; justify-content: space-between; } + #title { + margin-bottom: 5px; + } .tab { padding: 5px 7px; background-color: #1f1f1f; diff --git a/src/event/edit_thread.js b/src/event/edit_thread.js index 3c5e9b1..ed21cf4 100644 --- a/src/event/edit_thread.js +++ b/src/event/edit_thread.js @@ -97,6 +97,15 @@ const edit_thread = async (msg, respond) => { if (!await setPermission('everyone', 'post', 'false')) return; } + permissions.everyone.view.value = permissions.everyone.view.value === 'true'; + permissions.everyone.post.value = permissions.everyone.post.value === 'true'; + if (!permissions.members) permissions.members = {}; + if (!permissions.members.view) + permissions.members.view = { value: 'true', mutable: true }; + if (!permissions.members.post) + permissions.members.post = { value: 'true', mutable: true }; + permissions.members.view.value = permissions.members.view.value === 'true'; + permissions.members.post.value = permissions.members.post.value === 'true'; if (!msg.permissions || !msg.permissions.view_limited) { for (let username in vybe.users) { for (let socket of vybe.users[username].sockets) { @@ -115,7 +124,7 @@ const edit_thread = async (msg, respond) => { } else { for (let member of (await db.query( - `select user.name from thread + `select user.name, user.id from thread join member on thread.id = member.thread join user on user.id = member.user where thread.id = ?`, @@ -131,6 +140,7 @@ const edit_thread = async (msg, respond) => { is_member: true, view: true, post: true, + admin: member.id === msg.auth_user.id && perms.admin, ...permissions } }); diff --git a/src/event/get_thread.js b/src/event/get_thread.js index f150a64..e72e446 100644 --- a/src/event/get_thread.js +++ b/src/event/get_thread.js @@ -49,7 +49,7 @@ const get_thread = async (msg, respond) => { function makeBool(type, permission) { if (perms[type]) { if (perms[type][permission]) - perms[type][permission].value = perms[type][permission].value === 'true' ? true : false; + perms[type][permission].value = perms[type][permission].value === 'true'; else perms[type][permission] = { value: false, mutable: true }; } else