Refactor builder panels into unified simple/advanced architecture - #52
Open
a5sh wants to merge 1 commit into
Open
Refactor builder panels into unified simple/advanced architecture#52a5sh wants to merge 1 commit into
a5sh wants to merge 1 commit into
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
posterium-frontend | a329018 | Commit Preview URL Branch Preview URL |
May 08 2026, 06:15 PM |
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.
Motivation
/buildand/abuildshare a single, maintainable shell and avoid divergent/ghost code.Description
src/components/builder/AdvancedBuilderApp.tsxand routing advanced behavior through the sharedBuilderAppinsrc/components/builder/index.tsx(unified/abuildto renderBuilderApp).BuilderModeinsrc/components/builder/types.ts, a headerBuilderModeTogglecomponent atsrc/components/builder/components/navigation/BuilderModeToggle.tsx, and localStorage-backed mode selection in the builder shell (builderMode).PanelSwitcher(src/components/builder/components/navigation/PanelSwitcher.tsx) and rewired theLayerPanelandInspectorto consume it; addedmode,hideTabBarandsideprops toLayerPanelso it can be embedded as a subpanel.AdvancedPanelList(left panel list) andAdvancedPanelRenderer(right-side renderer) insrc/components/builder/panels/, and thin wrapper entry files for each subpanel (panels/left/*andpanels/right/*) so badges, selection, source, layers and poster logic are modularized.Inspectorto use the new panel components (BadgesPanel/SelectionPanel) when appropriate; refactoredEditorContexttoexport type TabTypefor reuse across new modules.BuilderModeToggleUI.components/builder/components/navigation/,components/builder/panels/, and split/rewired large files so panels are self-contained and easier to maintain.Testing
npm run buildcompleted successfully (Astro/Vite client build finished) ✅.npm run typecheck(tsc --noEmit) surfaced pre-existing TypeScript issues unrelated to this refactor (failures insrc/components/admin/AnalyticsDashboard.tsx,src/components/admin/TestBenchmark.tsx, and other files); typecheck did not pass end-to-end due to those repository-wide issuesnpm run test(Vitest) reported no test files configured; no unit tests were run (no test files present)npx playwright installand required system packages, a screenshot ofhttp://localhost:4321/buildwas successfully taken (npx playwright screenshot --viewport-size=1440,1000 ...) ✅.prettier --writeon the new/modified builder files (formatted TS/TSX); Prettier reported it could not infer a parser for the.astrowrapper file during the run (non-blocking)If anything in the new panel shape or toggle behavior should be adjusted (different default mode, alternative layout, or further splitting of very large components), I can follow up with additional smaller PRs to iterate on those specific areas.
Codex Task