diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-15 22:55:25 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-15 22:55:25 +0200 |
| commit | 1f84c047914cf21df1a1de196d990d193539523d (patch) | |
| tree | a818f18127af96349b6f3da8c53212c324672b60 /packages/meshbay-hub/src/meshbay_hub/static/style.css | |
| parent | 459fc93e98f23e326c2fa77fe86ba74c2bae77f0 (diff) | |
| download | meshbay-1f84c047914cf21df1a1de196d990d193539523d.tar.gz | |
feat(hub): drop files and folders onto Files to upload them
Into the folder on screen, under the Upload button's rule. A name already
there, or one the node would refuse, cancels the whole drop with a message.
Folders are recreated level by level; files go out a few at a time. The
in-flight upload guard is keyed by folder and name.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/style.css')
| -rw-r--r-- | packages/meshbay-hub/src/meshbay_hub/static/style.css | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/style.css b/packages/meshbay-hub/src/meshbay_hub/static/style.css index 049db0f..f46e5c2 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/style.css +++ b/packages/meshbay-hub/src/meshbay_hub/static/style.css @@ -3624,6 +3624,38 @@ h2 .gn-owner, h3 .gn-owner { font-size: 0.55em; } gap: 6px; flex-shrink: 0; } + +/* Dropping files onto Files (files-app.js). Fixed and click-through: the drag + events belong to the window, and nothing pinned may move while it shows. */ +.drop-overlay { + position: fixed; + inset: 0; + z-index: 900; + pointer-events: none; + display: flex; + align-items: center; + justify-content: center; + padding: 16px; + background: color-mix(in srgb, var(--accent) 10%, transparent); + outline: 3px dashed var(--accent); + outline-offset: -12px; +} +.drop-overlay.refused { + background: color-mix(in srgb, var(--text-dim) 10%, transparent); + outline-color: var(--border); +} +.drop-overlay-label { + max-width: min(90vw, 480px); + padding: 10px 16px; + border: 1px solid var(--border); + border-radius: 8px; + background: var(--bg-surface); + color: var(--text); + text-align: center; + word-break: break-word; + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2); +} + .tb-pager-range { font-size: 0.83em; color: var(--text-dim); |