Skip to content

Every field card becomes a little window - #36

Merged
AllTerrainDeveloper merged 1 commit into
mainfrom
feature/card-window-chrome
Aug 21, 2026
Merged

AllTerrainDeveloper merged 1 commit into
mainfrom
feature/card-window-chrome

Conversation

@AllTerrainDeveloper

Copy link
Copy Markdown
Owner

What

Follow-up to #35, from design feedback: the draggable field cards on the builder canvas now carry the same chrome as a normal OpenStation window — a real title bar, the window radius, border and shadow, all read from the shell's own tokens.

How

  • The grip, field identity (icon, type, Required switch, controls badge) and the duplicate/delete actions move into a .atfb-card__bar element above the card body — the same titlebar-over-body structure os-window uses. All buttons and drag behavior unchanged.
  • The card reads --os-window-radius / --os-window-border / --os-window-shadow; the bar reads --os-titlebar-bg at rest and --os-titlebar-bg-focused when the card is selected — so selecting a field reads exactly like focusing a window on the desktop.
  • The actions colour from the --os-titlebar-btn-* tokens, sitting where window controls sit. On the bar, the Required switch and badges draw in translucent washes of the bar's own ink (currentColor mixes), since accent washes vanish against a focused title bar that may itself be the accent.
  • The bar rounds its own top corners rather than clipping the card with overflow, which would shave the preview tile's halo shadow.
  • Old flat values remain as fallbacks for the plain admin page with no shell.

Verified on the 8889 QA site: resting cards wear the unfocused gray bar, the selected card the focused blue bar with white controls; drag-reorder, duplicate/delete, Required toggle and autosave all work. tsc --noEmit clean, 369 vitest tests pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_0119U4sRRWGcTQdwYreTwpAp

The arrow in the design feedback pointed from the window's title bar to
a card on the canvas: the draggable cards should carry the same chrome
as a normal OpenStation window. Now they do, literally — each card is a
miniature of the window that contains it.

The grip, the field's identity and the duplicate/delete actions move
into a real title bar element above the card body, and the whole card
reads the shell's own chrome tokens: `--os-window-radius`, border,
shadow, `--os-titlebar-bg` for resting cards and
`--os-titlebar-bg-focused` for the selected one — so selecting a field
reads exactly like focusing a window, and the actions sit where window
controls sit, coloured by the titlebar-button tokens. On the bar, the
Required switch and the controls badge draw in translucent washes of
the bar's own ink, because their accent washes vanish against a focused
title bar that may itself be the accent.

The bar rounds its own top corners instead of clipping the card with
`overflow`, which would shave the preview tile's halo. All the old flat
values remain as fallbacks for the plain admin page with no shell.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0119U4sRRWGcTQdwYreTwpAp
@AllTerrainDeveloper
AllTerrainDeveloper merged commit f649e15 into main Aug 21, 2026
3 checks passed
@AllTerrainDeveloper
AllTerrainDeveloper deleted the feature/card-window-chrome branch August 21, 2026 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant