aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/style.css
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-09-15 22:55:25 +0200
committerChristophe Besson <cbesson@gmail.com>2026-09-15 22:55:25 +0200
commit1f84c047914cf21df1a1de196d990d193539523d (patch)
treea818f18127af96349b6f3da8c53212c324672b60 /packages/meshbay-hub/src/meshbay_hub/static/style.css
parent459fc93e98f23e326c2fa77fe86ba74c2bae77f0 (diff)
downloadmeshbay-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.css32
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);