From 26e1c4d770a34618358f2c7707e945667c03f1d2 Mon Sep 17 00:00:00 2001 From: Tim Disney Date: Wed, 29 Jul 2026 12:59:44 -0700 Subject: [PATCH] Float artifact request composer (#22) Co-authored-by: codexbot.disnetdev.com (did:plc:hbonvqr5ysrscg5wdyb5klie) --- packages/ui/src/app.css | 5 ++ .../ui/src/lib/components/NewRequest.svelte | 84 ++++++++++++++++--- .../ui/src/lib/components/PlusMenu.svelte | 2 + .../ui/src/lib/components/RequestBar.svelte | 16 +++- .../ui/src/lib/components/UnitDetail.svelte | 64 ++++++++++---- packages/ui/src/lib/compose.svelte.ts | 37 ++++---- packages/ui/src/lib/floating.test.ts | 44 ++++++++++ packages/ui/src/lib/floating.ts | 70 ++++++++++++++++ packages/ui/src/lib/requests.test.ts | 12 ++- packages/ui/src/routes/+layout.svelte | 6 ++ .../ui/src/routes/g/[did]/[rkey]/+page.svelte | 20 +---- .../routes/p/[project]/system/+page.svelte | 8 -- packages/ui/test/request-overlay.test.mjs | 25 ++++++ 13 files changed, 309 insertions(+), 84 deletions(-) create mode 100644 packages/ui/src/lib/floating.test.ts create mode 100644 packages/ui/src/lib/floating.ts create mode 100644 packages/ui/test/request-overlay.test.mjs diff --git a/packages/ui/src/app.css b/packages/ui/src/app.css index 595cc9a..53ea792 100644 --- a/packages/ui/src/app.css +++ b/packages/ui/src/app.css @@ -710,6 +710,11 @@ select.sl { resize: none; cursor: pointer; padding-right: 8px; } box-shadow: 0 0 0 1px var(--line), 0 10px 26px -12px oklch(0.25 0.03 262 / 0.30); animation: pop 300ms var(--ease-out); } +.request-overlay { + position: fixed; z-index: 38; margin: 0; width: min(520px, calc(100vw - 24px)); + overflow: auto; overscroll-behavior: contain; visibility: hidden; +} +.request-overlay.placed { visibility: visible; } @keyframes pop { from { opacity: 0; transform: translateY(-6px) scale(0.995); } } /* The goal composer is a modal (`.scrim .newgoal`) rather than a card in the page, but it is the same object saying the same things, so the heading and the hint under it are drawn once for both. */ diff --git a/packages/ui/src/lib/components/NewRequest.svelte b/packages/ui/src/lib/components/NewRequest.svelte index 7753b77..792b18b 100644 --- a/packages/ui/src/lib/components/NewRequest.svelte +++ b/packages/ui/src/lib/components/NewRequest.svelte @@ -1,8 +1,10 @@ -
-

+