Skip to content

Conversation

@rchlfryn
Copy link
Collaborator

@rchlfryn rchlfryn commented Jan 28, 2026

Description

The previous background color controls and the wrapInContainer option created a confusing experience: wrapInContainer could be set regardless of the chosen background color and its meaning was not obvious.

wrapInContainer was also used to handle 2 different container scenarios:

  • Adding a container for a standalone block with a backgroundColor
  • Adding padding for a lexical block to make the backgroundColor visible

These should be handled based on the rendering context (standalone vs Lexical).

This change:

  • Renames wrapInContainer to isLexical for clearer intent
  • Applies container styles when isLexical={false} (standalone blocks)
  • Adds padding when the background color is not transparent and isLexical={true} (Lexical blocks)
  • Removes the setting from admin UI - it's now automatically determined by render context

Related Issues

Fixes #654

Key Changes

  • Renamed wrapInContainer prop to isLexical throughout codebase
  • Removed UI controls for this setting (it's now implicit based on where the block is rendered)
  • Updated block registration:
    • Standalone blocks (RenderBlocks.tsx) → isLexical={false}
    • Inline Lexical blocks (RichText/index.tsx) → isLexical={true}
  • Component: Removed __Block and __LexicalBlock config options (excluding Header)
  • Logic: Automatically adds padding for Lexical blocks when a background color is selected
  • Updated coding guide with new prop name and clearer documentation

How to test

Adding effected blocks from a separate branch and this branch to compare the visual difference

Screenshots / Demo video

  • Add before/after screenshots:
    • Before: wrapInContainer visible in admin UI with unclear purpose
    • After: Setting removed from UI; container/padding behavior automatic based on render context

Migration Explanation

  • Drop wrap_in_container. Add full_width_color for headerBlock

Future enhancements / Questions

@rchlfryn rchlfryn changed the title Improve background color & wrapInContainer Improve and simplify wrapInContainer behavior with background color picker Jan 28, 2026
@github-actions
Copy link

Preview deployment: https://improve-bg-color-picker.preview.avy-fx.org

@github-actions
Copy link

Migration Safety Check

Found 28 potential issues:

20260128_012456_remove_wrap_in_container.ts

Warning (line 6): ALTER keyword detected - review for data loss

sql`ALTER TABLE \`home_pages_blocks_header_block\` ADD \`full_width_color\` integer DEFAULT true;`,

Warning (line 9): DROP keyword detected - review for data loss

sql`ALTER TABLE \`home_pages_blocks_header_block\` DROP COLUMN \`wrap_in_container\`;`,

Warning (line 9): ALTER keyword detected - review for data loss

sql`ALTER TABLE \`home_pages_blocks_header_block\` DROP COLUMN \`wrap_in_container\`;`,

Warning (line 12): ALTER keyword detected - review for data loss

sql`ALTER TABLE \`_home_pages_v_blocks_header_block\` ADD \`full_width_color\` integer DEFAULT true;`,

Warning (line 15): DROP keyword detected - review for data loss

sql`ALTER TABLE \`_home_pages_v_blocks_header_block\` DROP COLUMN \`wrap_in_container\`;`,

Warning (line 15): ALTER keyword detected - review for data loss

sql`ALTER TABLE \`_home_pages_v_blocks_header_block\` DROP COLUMN \`wrap_in_container\`;`,

Warning (line 18): ALTER keyword detected - review for data loss

sql`ALTER TABLE \`pages_blocks_header_block\` ADD \`full_width_color\` integer DEFAULT true;`,

Warning (line 20): DROP keyword detected - review for data loss

await db.run(sql`ALTER TABLE \`pages_blocks_header_block\` DROP COLUMN \`wrap_in_container\`;`)

Warning (line 20): ALTER keyword detected - review for data loss

await db.run(sql`ALTER TABLE \`pages_blocks_header_block\` DROP COLUMN \`wrap_in_container\`;`)

Warning (line 22): ALTER keyword detected - review for data loss

sql`ALTER TABLE \`_pages_v_blocks_header_block\` ADD \`full_width_color\` integer DEFAULT true;`,

Warning (line 24): DROP keyword detected - review for data loss

await db.run(sql`ALTER TABLE \`_pages_v_blocks_header_block\` DROP COLUMN \`wrap_in_container\`;`)

Warning (line 24): ALTER keyword detected - review for data loss

await db.run(sql`ALTER TABLE \`_pages_v_blocks_header_block\` DROP COLUMN \`wrap_in_container\`;`)

Warning (line 26): DROP keyword detected - review for data loss

sql`ALTER TABLE \`home_pages_blocks_document_block\` DROP COLUMN \`wrap_in_container\`;`,

Warning (line 26): ALTER keyword detected - review for data loss

sql`ALTER TABLE \`home_pages_blocks_document_block\` DROP COLUMN \`wrap_in_container\`;`,

Warning (line 29): DROP keyword detected - review for data loss

sql`ALTER TABLE \`home_pages_blocks_sponsors_block\` DROP COLUMN \`wrap_in_container\`;`,

Warning (line 29): ALTER keyword detected - review for data loss

sql`ALTER TABLE \`home_pages_blocks_sponsors_block\` DROP COLUMN \`wrap_in_container\`;`,

Warning (line 32): DROP keyword detected - review for data loss

sql`ALTER TABLE \`_home_pages_v_blocks_document_block\` DROP COLUMN \`wrap_in_container\`;`,

Warning (line 32): ALTER keyword detected - review for data loss

sql`ALTER TABLE \`_home_pages_v_blocks_document_block\` DROP COLUMN \`wrap_in_container\`;`,

Warning (line 35): DROP keyword detected - review for data loss

sql`ALTER TABLE \`_home_pages_v_blocks_sponsors_block\` DROP COLUMN \`wrap_in_container\`;`,

Warning (line 35): ALTER keyword detected - review for data loss

sql`ALTER TABLE \`_home_pages_v_blocks_sponsors_block\` DROP COLUMN \`wrap_in_container\`;`,

Warning (line 37): DROP keyword detected - review for data loss

await db.run(sql`ALTER TABLE \`pages_blocks_document_block\` DROP COLUMN \`wrap_in_container\`;`)

Warning (line 37): ALTER keyword detected - review for data loss

await db.run(sql`ALTER TABLE \`pages_blocks_document_block\` DROP COLUMN \`wrap_in_container\`;`)

Warning (line 38): DROP keyword detected - review for data loss

await db.run(sql`ALTER TABLE \`pages_blocks_sponsors_block\` DROP COLUMN \`wrap_in_container\`;`)

Warning (line 38): ALTER keyword detected - review for data loss

await db.run(sql`ALTER TABLE \`pages_blocks_sponsors_block\` DROP COLUMN \`wrap_in_container\`;`)

Warning (line 40): DROP keyword detected - review for data loss

sql`ALTER TABLE \`_pages_v_blocks_document_block\` DROP COLUMN \`wrap_in_container\`;`,

Warning (line 40): ALTER keyword detected - review for data loss

sql`ALTER TABLE \`_pages_v_blocks_document_block\` DROP COLUMN \`wrap_in_container\`;`,

Warning (line 43): DROP keyword detected - review for data loss

sql`ALTER TABLE \`_pages_v_blocks_sponsors_block\` DROP COLUMN \`wrap_in_container\`;`,

Warning (line 43): ALTER keyword detected - review for data loss

sql`ALTER TABLE \`_pages_v_blocks_sponsors_block\` DROP COLUMN \`wrap_in_container\`;`,

Review these patterns and add backup/restore logic if needed. See docs/migration-safety.md for guidance.

@rchlfryn rchlfryn self-assigned this Jan 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Background color/wrap in container is a confusing & poor UX

2 participants