feat(modules): the list as item rows, and tree: pages | hidden with auto-open, container tabs and a prompt that is a screen #356
No reviewers
Labels
No labels
bug
enhancement
needs-triage
ready-for-agent
ready-for-human
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/deckle!356
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "afk/347"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #347
Stacked on #355 (issue #346, the shared item row). This branch contains #355's commit
ccf488a. Merge #355 first; after that, this PR's own change is200e3b8.What changes
The module list (
ModuleScreen.tsx, newModuleDocheader.tsxandModulePager.tsx)h-section) and count. There is no container badge..note--infoabove the panel says why..page→.panel.sortparam is unchanged.titleis the label link.statusshows as badges, with the tone fromBadge.tsx(newbadgeTonenext togitBadgeState). The slug is the row id. Other columns go on the summary line, drawn byFieldValueView.cardskeeps its grid, drawn as.item+.item__media.pageActionItems/togglePageEnabled, and the ⋮ menu from the docheader'spageActionMenuEntries, which is now exported. Rename and Delete reuse the docheader's dialogs.translationState, and Translate…..list-table*,.module-toolbar*,.module-pager*,.module-empty*,.module-tag(s),.module-lang-tag,.module-l10n*,.module-card*.tree: pages | hiddenpages. Any other value is a load error:tree must be "pages" or "hidden", got "x". The key sits afterpageTypesin the canonical order, and files without it stay byte-identical. GET /api/modules carries it.featureModuleDefsetsnavonly forpages.web/src/modulecontainers.ts(moduleLanding). Containers and entries come from the server'scontainerFor/managedBy.FeatureModulerenders the verdict, and route repair applies it through the newSiteFacts.landinghook, replacing the URL rather than pushing:.emptypointing at the Page module;--chrome-text-mutedin the tree pane,--color-text-mutedin the picker), not opacity. Container rows wear the module icon.returnis unchanged.tree: hidden, and their hints are rewritten.Documents and skills
AGENTS.md"Editor modules" (the key, a rewritten "In the editor", the list anatomy, bundle versions);docs/api.mdGET /api/modules;docs/features.md(forms, categories, the one-line edit for installed sites);docs/architecture.md; a new ADR 0029, which narrows #33's rule to "where a choice exists" and records tabs rather than a merged list..item__label--untranslated,.item__lang,.item__state,.item__media,.panel__tool,.panel--menus, with samples. New contrast pair:--chrome-text-mutedon--chrome-bg-raised.create-feature(thetreedecision and what the module screen should look like),verify-site(the module smoke test and the one-line fix for older installs),add-page-type(wording only).setup-site(it defers to the bundle hints),edit-content,migrate-site,preview-site.module.*andfeature.*in EN and DE.feature.selectPageandfeature.selectTypedPageare removed.Notes and known gaps
containerTypeLabelsinFeatureModule.tsxstill reads page types to name the container type in the prompt and empty screens. It predates this change. Having the server serve that name is a possible follow-up..tree-row__label--staticand--missingstill dim by opacity. They are outside this issue.badge--ok/info/warn/dashedtone classes, but the editor still colours them by state class until the token adoption (E1).styles.cssdoes not importcomponents.cssyet.Verification
tscclean,vite buildok.go vet ./...clean, andgo test ./...passes (includingdocs,scaffold,internal/server,internal/editormodule,cmd/harness).check-contrast.py: 48 pairs, 0 failing.ModuleScreen.tsxfinds nothing.🤖 Generated with Claude Code
[autoland] verdict: pass
PASS. Signal: CI aggregate success, run 372: ci / build-and-test ran npm ci, build and test, then go vet, test and build. That covers the docs, scaffold-skills, route and command drift tests. Conventions: Conventional Commits title; Closes #347 present. The diff matches the issue; #355 is merged, so the PR's own change is
200e3b8and it merges cleanly. The new rule has one owner, web/src/modulecontainers.ts (moduleLanding), which FeatureModule, routerepair (SiteFacts.landing) and PageTreeNav all call. AGENTS.md, docs/api.md, docs/features.md, docs/architecture.md, ADR 0029 and the skills (create-feature, verify-site, add-page-type) are updated; setup-site, edit-content and migrate-site name no tree step. The new styles.css tokens match tokens.css values. Non-blocking notes the author already lists: not checked in a browser; containerTypeLabels still re-derives container types (this predates the PR).