Revert the over-aggressive commenting-out of all Lighthouse CI URLs.
Only the scaffolder pages need to be disabled due to the SubPageBlueprint
page layout switch — the other pages were unaffected by this change.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
Use `calc(100dvh - var(--bui-header-height, 0px))` to give the template
editor and form previewer a definite height so that their grid-based
layouts fill the available viewport space within the new frontend system
page layout.
Also comment out the remaining lighthouse accessibility check URLs that
are broken by the BUI header switch.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
The scaffolder pages now use the SubPageBlueprint page layout with
PluginHeader tabs, which causes Lighthouse to produce NaN accessibility
scores. This is the same known issue affecting the settings pages.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
Refactored the scaffolder plugin's new frontend system (NFS) definition
to use the SubPageBlueprint pattern with tabbed page layout, mirroring
the approach used by the Settings plugin.
The scaffolder page is now a parent PageBlueprint without a loader,
receiving sub-pages as inputs that render as tabs:
- Templates (with nested template wizard route)
- Tasks (with nested ongoing task detail route)
- Actions
- Template Editor (with nested editor/form/fields routes)
- Templating Extensions
Page components used in the NFS path no longer render their own
Page/Header chrome, relying on the framework's PageLayout instead.
Legacy frontend system compatibility is preserved.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
Replace the imported PartialDeep type from type-fest with a local
equivalent helper type used only in tests, eliminating the external
dev dependency.
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
Made-with: Cursor
Add `titleRouteRef` to `PageLayoutProps` so the plugin header title
links back to the plugin root. `PageBlueprint` resolves it from
`plugin.routes.root` with fallback to `params.routeRef`.
- PageLayout swap resolves the title link via a conditional child
component that calls `useRouteRef` only when a route ref exists
- Header actions get stable React keys via `cloneElement`
Signed-off-by: Johan Persson <johanopersson@gmail.com>
The entity page in the new frontend system already renders its own
header through the EntityHeader extension, so the default page layout
header from the PageBlueprint was redundant. This disables it by
passing noHeader: true to the page factory.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
* frontend-app-api: add `apis` to specialized app result types
Added `apis: ApiHolder` to both `BootstrapSpecializedApp` and
`FinalizedSpecializedApp` types, and included the APIs in the returned
objects from `getBootstrapApp()`, `finalizeFromSessionState()`, and
`finalizeFromBootstrapError()`.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
* Add .patches entry for PR #33445
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
---------
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
The unprocessed entities view is now provided as a DevTools sub-page
directly from the plugin, removing the need for manual wiring. The
standalone page is still available but disabled by default.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor