diff --git a/copyparty/web/browser.css b/copyparty/web/browser.css index f81abf6e..cbf6d42d 100644 --- a/copyparty/web/browser.css +++ b/copyparty/web/browser.css @@ -2124,6 +2124,7 @@ html.a .btn { margin: .8em 0 0 .6em; padding: 0; } +.disabled, #thumbs, #au_prescan, #au_fullpre, diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 27ebae10..01f1f7b6 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -977,6 +977,8 @@ ebi('wtoggle').addEventListener('wheel', function (e) { }); ebi('up_quick').onclick = function(){ + if(!has(perms, 'write')) + return; var btn = ebi('up_quick_btn'); clmod(btn, 'on', 't'); var isOff = clgot(btn, 'on'); // button has inverted display logic @@ -8761,14 +8763,21 @@ function apply_perms(res) { var o = QSA('#ops>a[data-perm]'); for (var a = 0; a < o.length; a++) { var display = ''; + var enabled = true; var needed = o[a].getAttribute('data-perm').split(' '); for (var b = 0; b < needed.length; b++) { if (!has(perms, needed[b])) { - display = 'none'; + if(needed[b] == 'write') + enabled = false; + else + display = 'none'; } } + clmod(o[a], 'disabled', !enabled); o[a].style.display = display; } + clmod(ebi('up_quick'), 'disabled', !has(perms, 'write')); + ebi('bup_tgl').style.display = has(perms, 'write') ? '' : 'none'; var o = QSA('#ops>a[data-dep], #u2conf td[data-dep]'); for (var a = 0; a < o.length; a++)