diff --git a/copyparty/web/browser.css b/copyparty/web/browser.css index 0b4a7b25..cb58e71c 100644 --- a/copyparty/web/browser.css +++ b/copyparty/web/browser.css @@ -735,16 +735,28 @@ input[type="checkbox"]:checked+label { overflow-wrap: break-word; background: #383838; border: 1px solid #444; + border-top: 1px solid #555; + box-shadow: 0 .1em .2em #222; border-radius: .3em; - padding: .3em .6em; + padding: .3em; margin: .5em; } #ggrid a img { + border-radius: .2em; max-width: var(--grid-sz); max-height: var(--grid-sz); - margin: 0 auto .5em auto; + margin: 0 auto; display: block; } +#ggrid a span { + padding: .2em .3em; + display: block; +} +#ggrid a:hover { + background: #444; + border-color: #555; + color: #fd9; +} #pvol, #barbuf, #barpos, diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index e3f8c589..6f6b37b6 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -831,8 +831,8 @@ var thegrid = (function () { } html.push('' + // /.cpr/dd/1.png - ao.innerHTML + ''); + '">' + + ao.innerHTML + ''); } lfiles.style.display = 'none'; gfiles.style.display = 'block'; @@ -1383,8 +1383,10 @@ var treectl = (function () { nodes = sortfiles(nodes); for (var a = 0; a < nodes.length; a++) { var r = nodes[a], - ln = ['' + r.lead + '' + esc(uricom_dec(r.href)[0]) + '', r.sz]; + hname = esc(uricom_dec(r.href)[0]), + sortv = (r.href.slice(-1) == '/' ? '\t' : '') + hname, + ln = ['' + r.lead + '' + hname + '', r.sz]; for (var b = 0; b < res.taglist.length; b++) { var k = res.taglist[b], @@ -1999,6 +2001,22 @@ var msel = (function () { })(); +(function () { + try { + var tr = ebi('files').tBodies[0].rows; + for (var a = 0; a < tr.length; a++) { + var td = tr[a].cells[1], + href = td.firstChild.getAttribute('href'), + isdir = href.split('?')[0].slice(-1)[0] == '/', + txt = href.textContent; + + td.setAttribute('sortv', (isdir ? '\t' : '') + txt); + } + } + catch (ex) { } +})(); + + function ev_row_tgl(e) { ev(e); filecols.toggle(this.parentElement.parentElement.getElementsByTagName('span')[0].textContent); diff --git a/copyparty/web/util.js b/copyparty/web/util.js index ce27579b..da2bf863 100644 --- a/copyparty/web/util.js +++ b/copyparty/web/util.js @@ -135,7 +135,7 @@ function clmod(obj, cls, add) { function sortfiles(nodes) { - var sopts = jread('fsort', [["lead", -1, ""], ["href", 1, ""]]); + var sopts = jread('fsort', [["href", 1, ""]]); try { var is_srch = false; @@ -163,8 +163,12 @@ function sortfiles(nodes) { if ((v + '').indexOf('')[1]; - else if (name == "href" && v) + else if (name == "href" && v) { + if (v.slice(-1) == '/') + v = '\t' + v; + v = uricom_dec(v)[0] + } nodes[b]._sv = v; }