Skip to content

Unify builder modes and modularize panels#50

Open
a5sh wants to merge 1 commit into
mainfrom
codex/refactor-builder-architecture-and-layout
Open

Unify builder modes and modularize panels#50
a5sh wants to merge 1 commit into
mainfrom
codex/refactor-builder-architecture-and-layout

Conversation

@a5sh
Copy link
Copy Markdown
Collaborator

@a5sh a5sh commented May 8, 2026

Motivation

  • Reduce duplication and bloat by consolidating the separate advanced builder into a single unified builder with a simple/advanced mode toggle.
  • Improve maintainability by splitting monolithic panel logic into small, focused sub-panel modules that can be reused by both modes.
  • Make the advanced layout consistent (left panel list + right panel host) and enable reusing existing panel engines without duplicating UI code.

Description

  • Introduce a persistent builder mode toggle component BuilderModeToggle and persist the selected mode in local storage under posterium_builder_mode_v1, replacing the previous header support CTA with a simple/advanced switch.
  • Add a small panels registry and types in components/panels/panelTypes.ts and create modular wrappers: SourcePanel, LayersPanel, PosterPanel, BadgesPanel, and SelectionPanel under components/panels/.
  • Implement an advanced navigation list AdvancedPanelList and a host/shell BuilderPanelHost that renders the selected panel in the right inspector area in advanced mode.
  • Make LayerPanel and Inspector support forced sub-panel rendering and an optional hidden tab bar via new props (forcedPanel, hideTabBar) so advanced mode can reuse them without their internal horizontal tabs.
  • Replace the old separate advanced app with a tiny wrapper AdvancedBuilderApp that mounts the main BuilderApp with initialMode="advanced", and update /abuild metadata to boot the unified experience directly in advanced mode.

Testing

  • Ran npm run build and a production build completed successfully (astro build / Vite bundle completed).
  • Ran npm run typecheck and TypeScript reported existing repository-wide errors unrelated to this change (unused imports and strictness issues in admin/dashboard pieces, some legacy typing gaps such as astro:content), so typecheck did not fully pass in this environment.
  • Ran npm test and Vitest exited because there are no test files configured in the repo (no unit tests found).

Codex Task

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented May 8, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
posterium-frontend ccce007 Commit Preview URL

Branch Preview URL
May 08 2026, 06:10 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant