Repository navigation
Forms becomes a real app inside WP Explorer - #20
Merged
Merged
Conversation
Built on the Explorer's new surface (registerEntityKind, detail-route
dispatch, preview-action contexts, per-section editAction):
The section renders as the file manager around it renders things —
icon tiles in a grid, searchable, each wearing its vitals — and a form
double-clicks open into a folder whose breadcrumb is the shell's own:
Site › Forms › Team pulse survey. Inside, the hierarchy deliberately
stops: the form tile opens the builder, Entries and Report are doors to
their windows, and the rest of the folder is the live front end at full
size, because looking at a form is what a file manager's quick look is
for and the space was sitting there unused. The list pane keeps the
half-scale thumbnail, the stat cards and the action row.
Deep links stopped racing: the requested-form store grew per-surface
keys (builder, entries, analytics), every deep link writes the store
before opening — the window's own start() consumes it cold — and warm
windows take an immediate event. The analytics flash, where the right
report rendered and start() stomped it back to the first form, is gone
with the unconditional default that caused it.
Three rendering truths repaired along the way. Site themes colour bare
elements (label { color: … }) and beat inheritance, so everything
form.css did not colour explicitly arrived slate-on-dark — an
inheritance shield outranks them now, with button deliberately absent
because the submit colours itself. Dark themes drew controls with
borders their own surfaces swallowed (Neon 1.39:1) — Neon, Midnight and
Terminal borders now clear 3:1. And the dark canvas stopped forcing
#f0f0f1 where the theme's own text token belongs.
The builder's narrow window earns its inspector back: one rail's worth
of room follows the work — palette while adding, inspector the moment a
field is selected — via an atfb--has-selection class the container
queries read.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0119U4sRRWGcTQdwYreTwpAp
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User-tested on 8889 across several rounds. Built on OpenStation's new Explorer surface (
registerEntityKind, detail-route dispatch for plugin kinds, contextual preview actions,editAction) — the shell-side halves live in WordPress/openstation branchadd/my-wordpress-edit-action.What's inside
Site › Forms › <form>), no second trail. Inside: the form tile (opens the builder), Entries and Report as doors to their windows, and the full-size live preview filling the folder.handoff.ts) consumed by each window'sstart()on cold mounts + immediate events for warm ones. Kills the analytics correct-then-first-form flash at its root (unconditionalformId = forms[0]stomp)..atf-form :is(label, legend, …) { color: inherit }— a site theme'slabel { color: … }can no longer paint dark answers onto a dark form theme;buttondeliberately excluded (the submit colours itself — the black-on-blue Send regression is covered by the exclusion).bordertokens bumped past 3:1 vs their surfaces (were 1.39/1.58/2.35) — radio circles and scale chips readable.var(--atf-text)instead of forcing #f0f0f1.atfb--has-selection+ container queries), at both ≤900px and ≤640px.Verified live (Playwright on 8889)
Shell crumbs update natively; folder = cards + 3 tiles + inline 100% preview; entries/report/builder deep-links open on the clicked form and stay there past autosave; Neon option labels rgb(242,240,255), circle borders rgb(82,74,138); Send white-on-blue; rail swap select/deselect.
607 PHPUnit ✓ · 261 vitest ✓ · tsc clean.
🤖 Generated with Claude Code
https://claude.ai/code/session_0119U4sRRWGcTQdwYreTwpAp