mirror of
https://github.com/jhd3197/ServerKit.git
synced 2026-11-05 03:26:46 +09:00
Completes #38: the WordPress frontend now belongs to the extension too, not just the backend. The tab-group constraint (contributed routes are flat — there's no way to contribute a shared TabGroupLayout parent inside the dashboard) is solved by contributing a SINGLE splat route `wordpress/*` whose component (WordPressExtension) self-renders the whole WordPress sub-router — reproducing the exact structure core App.jsx used to own: - TabGroupLayout + WORDPRESS_TABS over the 3 list pages (sites / plugin library / pipelines), - full-bleed site + pipeline detail routes as siblings, - the legacy /wordpress/projects → /wordpress/pipelines deprecation redirects. The 5 page components stay in core pages/ and are re-used (Pattern A, same as serverkit-git/email/workflows); only the routing + nav/palette/title ownership moves into the manifest. - builtin-extensions/serverkit-wordpress/frontend/index.jsx (source) → synced to frontend/src/plugins/serverkit-wordpress/ (pre-bundled, D5) via scripts/sync-builtin-frontends.mjs (drift check green). - plugin.json contributions: nav (WordPress), routes ([{path:"wordpress/*", component:"WordPressExtension"}]), page_titles, command_palette. - Core App.jsx: removed the WordPress imports, the TabGroupLayout WORDPRESS_TABS route block, the detail routes, LegacyWpPipelineRedirect, and the now-unused ModuleRoute + WORDPRESS_TABS imports (kept the dynamic /wordpress/ title fallbacks). Removed the sidebar nav item and the two command-palette entries. WordPress now disappears cleanly (nav+routes+API) when the extension is uninstalled. Verified: npm run lint (0 errors) + npm run build clean; the screenshots skill renders /wordpress/42 correctly (visually confirmed — full detail page, Overview tab, sidebar item active); backend flagship still seeds/loads (has_frontend now true) with tests green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>