diff --git a/noo/index.html b/noo/index.html index 1c1d6d7..5546764 100644 --- a/noo/index.html +++ b/noo/index.html @@ -175,6 +175,30 @@
+ + +
+
+ +

Mounted external storage, built in

+

Folders your admin mounts through Nextcloud's External storage + app — SMB shares, S3 buckets, SFTP, even another cloud — show up + in Files like any other folder. Browse, preview, upload and share + them exactly the same way; Noo only ever talks to your Nextcloud, + which does the rest.

+
+
+
+
Files
+
+
DocumentsNextcloud storage
+
NAS (SMB)External storage
+
Archive (S3)External storage
+
Work drive (SFTP)External storage
+
+
+
+
diff --git a/noo/script.js b/noo/script.js index 6a7e7cb..52cb0a0 100644 --- a/noo/script.js +++ b/noo/script.js @@ -218,12 +218,11 @@ hidden.map((id) => ``).join("") + `
`; } else if (s.overlay === "avatar") { - overlay = `
`; + const rows = hidden.map((id) => ``).join(""); + overlay = `
`; } host.innerHTML = diff --git a/noo/styles.css b/noo/styles.css index aeea03f..b00ab6e 100644 --- a/noo/styles.css +++ b/noo/styles.css @@ -971,20 +971,25 @@ button.srow:hover { filter: brightness(0.98); } } .np-dr:hover { background: var(--sf2); } .np-sep { height: 1px; background: var(--ln); margin: 8px 8px; } +.np-scrim-clear { background: transparent; } .np-pop { - position: absolute; top: 80px; right: 12px; width: 260px; + position: absolute; top: 28px; left: 16px; right: 16px; background: var(--sf); border: 1px solid var(--ln); border-radius: var(--radius-card); padding: 8px; z-index: 7; - box-shadow: 0 24px 48px rgba(30, 0, 47, 0.14); - animation: drawerIn var(--motion-base) var(--ease); + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25), 0 24px 48px rgba(30, 0, 47, 0.14); + transform-origin: top right; + animation: popIn var(--motion-fast, 150ms) var(--ease); } -.np-acct { display: flex; align-items: center; gap: 12px; padding: 8px 10px; } -.np-acct span:not(.av) { flex: 1; min-width: 0; display: flex; flex-direction: column; } -.np-acct b { font-size: 14px; font-weight: 600; } +@keyframes popIn { from { transform: scale(0.96); opacity: 0; } to { transform: none; opacity: 1; } } +.np-pop .np-dr { height: 48px; } +.np-acct { display: flex; align-items: center; gap: 12px; padding: 8px 12px; width: 100%; text-align: left; } +.np-acct span:not(.av) { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; } +.np-acct b { font-size: 16px; font-weight: 600; } .np-acct i { font-style: normal; font-size: 12px; color: var(--fg3); } +.np-pop .np-sep { margin: 6px 4px; } .np-pop .av-current { box-shadow: none; } /* ---------- motion ---------- */