fix: use CSS grid + plain divs for decoration grid, eliminate flex-shrink overlap
The outer Box(direction=Column, gap=300) was a flex column with flex-shrink:1 on children. With maxHeight:480 + overflowY:auto, when total content exceeded 480px the flex children compressed into each other, making cells appear to overlap regardless of the gap on the inner flex container. Replace with: - Plain div scroll container (display:flex flex-direction:column gap:24) so children never shrink — they overflow into scroll area - Plain div per category (gap:10 between label and grid) - CSS grid (auto-fill, 72px columns, gap:20) for cells so row spacing is explicit and cannot be affected by flex layout math Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -220,26 +220,27 @@ export function ProfileDecoration() {
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
{/* Category grid */}
|
{/* Category grid */}
|
||||||
<Box
|
<div
|
||||||
direction="Column"
|
|
||||||
gap="300"
|
|
||||||
style={{
|
style={{
|
||||||
maxHeight: 480,
|
maxHeight: 480,
|
||||||
overflowY: 'auto',
|
overflowY: 'auto',
|
||||||
|
overflowX: 'hidden',
|
||||||
paddingRight: 4,
|
paddingRight: 4,
|
||||||
|
display: 'flex',
|
||||||
|
flexDirection: 'column',
|
||||||
|
gap: 24,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{DECORATION_CATEGORIES.map((category) => (
|
{DECORATION_CATEGORIES.map((category) => (
|
||||||
<Box key={category.id} direction="Column" gap="200">
|
<div key={category.id} style={{ display: 'flex', flexDirection: 'column', gap: 10 }}>
|
||||||
<Text size="L400" style={{ opacity: 0.7 }}>
|
<Text size="L400" style={{ opacity: 0.7 }}>
|
||||||
{category.label}
|
{category.label}
|
||||||
</Text>
|
</Text>
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
display: 'flex',
|
display: 'grid',
|
||||||
flexWrap: 'wrap',
|
gridTemplateColumns: `repeat(auto-fill, ${CELL_SIZE}px)`,
|
||||||
gap: 16,
|
gap: 20,
|
||||||
padding: 4,
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{category.decorations.map((d) => (
|
{category.decorations.map((d) => (
|
||||||
@@ -252,9 +253,9 @@ export function ProfileDecoration() {
|
|||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</Box>
|
</div>
|
||||||
))}
|
))}
|
||||||
</Box>
|
</div>
|
||||||
</Box>
|
</Box>
|
||||||
</SettingTile>
|
</SettingTile>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user