Skip to content

Unify builder modes and refactor advanced UI into reusable panels & UI primitives#54

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

Unify builder modes and refactor advanced UI into reusable panels & UI primitives#54
a5sh wants to merge 1 commit into
mainfrom
codex/refactor-builder-architecture-and-layout-43zyqa

Conversation

@a5sh
Copy link
Copy Markdown
Collaborator

@a5sh a5sh commented May 8, 2026

Motivation

  • Consolidate the legacy Advanced builder into the unified builder app with selectable modes and remove duplicated implementation while making UI primitives reusable across panels.
  • Break up a large monolithic panel implementation into smaller, composable components to simplify maintenance and enable future features (mode switching, panel navigation, consistent UI rows/sections).

Description

  • Replace the large AdvancedBuilderApp.tsx with a tiny wrapper that mounts the unified BuilderApp in advanced mode and update the abuild.astro page to use it (BuilderApp initialMode="advanced").
  • Refactor and centralize storage/cookie helpers and constants into systems/storage/builderStorage.ts and use BUILDER_STORAGE_KEY / MAX_QUERY_CONFIG_LENGTH throughout the builder code.
  • Rework the builder root (src/components/builder/index.tsx) to accept an initialMode prop, add a builder mode toggle, and wire advanced vs simple UI flows; introduce a shared ZoomOverlay component for zoom/fullscreen controls.
  • Split big panel implementations into smaller pieces and recompose them: add components/panels/* (Source/Layers/Poster/Badges/Selection) and components/navigation/* (PanelTabs, AdvancedPanelNav, ModeToggle), and components/toolbar/ToolbarButton.
  • Extract common UI building blocks into components/ui/* (Section, SliderRow, ToggleRow, SegmentedRow, SelectBox, TextInputRow, ColorRow) and a small section state storage (sectionStorage.ts) to replace many inline helper components in LayerPanel and PropertyPanel.
  • Refactor LayerPanel.tsx and PropertyPanel.tsx to use the new UI primitives and to support panelMode/hideTabs, improve drag handle / logo row behavior, safer property access and layout/formatting fixes.
  • Add ZoomOverlay.tsx and replace the inline overlay with the new component; render advanced left/right panel variants from unified builder when builderMode === 'advanced'.

Testing

  • Ran TypeScript type-check (tsc --noEmit) against the modified files; type-check succeeded.
  • Performed a production build (npm run build) to validate module resolution and bundling; build completed successfully.

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 2c1e526 Commit Preview URL

Branch Preview URL
May 08 2026, 06:45 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