From 8394c8e05fb2bbd6463b272458aac3e9d747e2d0 Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Thu, 17 Aug 2023 11:24:30 +0300 Subject: [PATCH] experimenting with draggable toolbar (disabled) Signed-off-by: Alex A. Naanou --- css/grid-n-view.css | 40 +++++++--- grid-n-view.html | 66 +++++++++-------- grid-n-view.js | 173 +++++++++++++++++++++++++++++++++++++------- 3 files changed, 210 insertions(+), 69 deletions(-) diff --git a/css/grid-n-view.css b/css/grid-n-view.css index 650fdff..7dc958e 100644 --- a/css/grid-n-view.css +++ b/css/grid-n-view.css @@ -242,26 +242,36 @@ body { /******************************************************** Toolbar ****/ -/* XXX make the toolbar swirchable and contextual... */ +.gallery .toolbar-anchor { + position: sticky; + + top: 0; + margin: 0 calc(var(--gallery-padding-horizontal) * -1); + + z-index: calc(var(--base-layer) + 2); +} + +/* XXX make the toolbar contextual... */ .gallery .toolbar { + --move-x: 0; + --move-y: 0; + --padding: 0.5rem; - --top: 1rem; --height: calc((var(--toolbar-button-size) + var(--padding) * 2)); + position: absolute; display: inline-block; - position: sticky; + + left: var(--move-x); + top: var(--move-y); + width: fit-content; - top: calc(var(--height) * -1 + var(--top)); + padding: var(--padding); padding-right: var(--height); padding-left: var(--height); - margin-left: calc(var(--gallery-padding-horizontal) * -1); - /* takeup no space... */ - margin-top: calc(var(--height) * -1); - translate: 0 100%; - - z-index: calc(var(--base-layer) + 2); + translate: 0 0; border: solid 1px var(--gallery-secondary-color); border-radius: calc(var(--height) / 8); @@ -270,6 +280,7 @@ body { box-shadow: 0.2em 0.2em 0.5em -0.3em rgba(0,0,0,0.8); transition: + left 0.2s, padding-right 0.2s, opacity 0.2s, translate 0.2s; @@ -282,6 +293,10 @@ body { display: none; } +.gallery .toolbar.moving { + transition: none; +} + /* sticky toolbar indicator... */ .gallery .toolbar.sticky:after { content: "lock"; @@ -305,7 +320,10 @@ body { /* collapsed toolbar (default)... */ /* XXX shoud the toolbar be vertical??? */ .gallery .toolbar:not(.shown) { - translate: calc(-100% + var(--toolbar-button-size) + var(--padding)) 100%; + translate: calc(-100% + var(--toolbar-button-size) + var(--padding)) 0; + + left: 0; + /*padding-right: calc(var(--padding) / 5);*/ padding-right: var(--height); } diff --git a/grid-n-view.html b/grid-n-view.html index 4d21d7d..f91294d 100644 --- a/grid-n-view.html +++ b/grid-n-view.html @@ -78,39 +78,41 @@ For more info see: README.md