Skip to content

(workflowbar-autohide) Floating pill styling and welcome/empty-state autohide gate#245

Merged
krissen merged 2 commits into
devfrom
fix/autohide-floating-welcome
Jul 18, 2026
Merged

(workflowbar-autohide) Floating pill styling and welcome/empty-state autohide gate#245
krissen merged 2 commits into
devfrom
fix/autohide-floating-welcome

Conversation

@krissen

@krissen krissen commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Summary

Two findings from the owner's visual pass of #244.

  • Floating inset pill: in autohide mode the revealed bar now detaches from the edges (top/side margins, rounded corners, elevated background, shadow + resting phosphor glow via existing tokens) — a hovering capsule instead of an edge-to-edge strip. The phosphor pulse's end state equals the resting shadow (no snap), and the hidden transform covers the new top margin. The in-flow mode (autohide off) stays edge-to-edge. No new theme keys.
  • Content gate: autohide is suspended on the welcome card / empty workspace — the bar stays put until at least one real view is open (hasContent = !showLanding && hasTabs, same mechanism as the enabled flag; the timer starts on the false→true transition). This also resolves the first-run reachability residual from (workflowbar-autohide) Autohide the workflow bar with retro slide + phosphor #244's review.

Testing

  • npm test: 91 files / 886 tests passed (3 new hasContent hook tests)
  • npm run build:workspace: OK
  • Owner's visual pass next (pill look in light/dark)

krissen added 2 commits July 18, 2026 12:01
In autohide mode the revealed row now detaches from the edges — a horizontal
inset + small top gap (--space tokens), rounded corners (--radius-lg), an
elevated surface (--bg-elevated), a drop shadow (--shadow-lg) and a resting
accent phosphor glow — so it reads as a floating capsule rather than a docked
edge-to-edge strip. The phosphor keyframe settles onto the resting glow (no
snap), and the hidden transform clears the top gap while dropping the shadow so
nothing peeks past the top edge. The in-flow bar (autohide off) is unchanged.
No new theme keys; light + dark.
The bar could slide away while only the welcome card (or an empty workspace)
was showing — hiding navigation with nothing behind it to uncover, and leaving
a mouse user no way in on first run. useAutoHide now takes a hasContent flag
that gates it exactly like the enabled opt-out: false keeps the bar revealed
with no timer, and a false→true flip (a view opens) starts it.
FlexLayoutWorkspace derives hasContent as !showLanding && tabCount > 0 (tabCount
tracked alongside the existing empty-workspace fallback) and passes it through.
Adds hook tests for the gate and updates the docs (this also subsumes the
Nagelfar first-run reachability residual).
@krissen krissen added the enhancement New feature or request label Jul 18, 2026
@krissen
krissen merged commit 47c0b8c into dev Jul 18, 2026
2 checks passed
@krissen
krissen deleted the fix/autohide-floating-welcome branch July 18, 2026 10:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant