From 19bc962ad5d2221ade2a77ac8c8baa42d774fef2 Mon Sep 17 00:00:00 2001 From: ed Date: Sun, 25 Jul 2021 10:50:11 +0200 Subject: [PATCH] add toasts --- copyparty/web/browser.css | 25 ++++++++++++++++++++----- copyparty/web/browser.js | 3 +++ copyparty/web/util.js | 25 +++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 5 deletions(-) diff --git a/copyparty/web/browser.css b/copyparty/web/browser.css index aeebdb24..3adae1f4 100644 --- a/copyparty/web/browser.css +++ b/copyparty/web/browser.css @@ -25,20 +25,34 @@ html, body { body { padding-bottom: 5em; } -#tt { +#tt, #toast { position: fixed; max-width: 34em; background: #222; border: 0 solid #777; + box-shadow: 0 .2em .5em #222; + border-radius: .4em; + z-index: 9001; +} +#tt { overflow: hidden; margin-top: 1em; padding: 0 1.3em; height: 0; opacity: .1; transition: opacity 0.14s, height 0.14s, padding 0.14s; - box-shadow: 0 .2em .5em #222; - border-radius: .4em; - z-index: 9001; +} +#toast { + top: 1.4em; + right: -1em; + padding: 1em 1.3em; + border-width: .4em 0; + transform: translateX(100%); + transition: all .3s cubic-bezier(.2, 1.2, .5, 1);; +} +#toast.vis { + right: 1.3em; + transform: unset; } #tt.b { padding: 0 2em; @@ -995,7 +1009,8 @@ html.light { background: #eee; text-shadow: none; } -html.light #tt { +html.light #tt, +html.light #toast { background: #fff; border-color: #888 #000 #777 #000; box-shadow: 0 .3em 1em rgba(0,0,0,0.4); diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 253a3545..373993b8 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -1514,6 +1514,8 @@ var fileman = (function () { if (!confirm('Last chance! Delete?')) return; + + toast.show(req.length + ' deletes left', 2000); }; r.cut = function (e) { @@ -1531,6 +1533,7 @@ var fileman = (function () { cl.add(inv ? 'c2' : 'c1'); } + toast.show('cut ' + sel.length + ' items', 1000); jwrite('fman_clip', vsel); r.tx(); }; diff --git a/copyparty/web/util.js b/copyparty/web/util.js index e3e2617c..cf37e61a 100644 --- a/copyparty/web/util.js +++ b/copyparty/web/util.js @@ -629,3 +629,28 @@ var tt = (function () { return r; })(); + + +var toast = (function () { + var r = {}, + te = null, + obj = mknod('div'); + + obj.setAttribute('id', 'toast'); + obj.onclick = r.hide; + document.body.appendChild(obj);; + + r.hide = function () { + clearTimeout(te); + clmod(obj, 'vis'); + }; + + r.show = function (txt, ms) { + clearTimeout(te); + te = setTimeout(r.hide, ms); + obj.innerHTML = txt; + clmod(obj, 'vis', 1000); + }; + + return r; +})();