Skip to content

Conversation

@vinnyhoward
Copy link
Contributor

@vinnyhoward vinnyhoward commented Oct 7, 2025

Description

Problem

The BottomSheetDialog component had visual artifacts at corners where borders didn't properly follow the rounded corners, a known React Native rendering issue when borderRadius and borderWidth are applied to the same container.

Solution

Implemented a two-layer rendering approach:

  1. Outer layer (sheet): Handles border and border radius only
  2. Inner layer (innerSheetContainer): Handles content, padding,
    sizing, and shadows

Both layers use matching 24px border radius and overflow: 'hidden' to ensure perfect alignment and proper clipping.

Changes

  • BottomSheetDialog.styles.ts: Split sheet styles into two layers
  • BottomSheetDialog.tsx: Wrapped content in new innerSheetContainer View

Why This Works

Separating border properties from layout properties allows React Native to render each layer independently, preventing the conflicts that cause corner artifacts. This is a standard pattern for resolving React Native border radius issues.

Changelog

CHANGELOG entry:null

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/MUL-1078

Manual testing steps

Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]

Screenshots/Recordings

~

Before

Android remains unaffected by this bug

before_create_android before_create_ios

After

Android remains unaffected by these changes

after_create_account_android after_create_account_ios

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Refactors BottomSheetDialog to use an outer border layer and inner content container to resolve border radius artifacts, updating affected snapshots and minor docs/tests formatting.

  • UI / BottomSheet:
    • Refactor BottomSheetDialog to two-layer structure (outer sheet for border/borderRadius; inner container for content, padding, sizing, shadows) to fix rounded border rendering.
  • Snapshots:
    • Update snapshots across modals/sheets (e.g., Ramp, State/Token selectors, Unsupported region/state, Account/Network selectors, etc.) reflecting new container hierarchy/styles.
  • Tests/Tooling:
    • Minor test cleanup (whitespace/logs) and performance test formatting.
  • Docs:
    • Small formatting/typo fixes in migration documentation.

Written by Cursor Bugbot for commit 1e9f03c. This will update automatically on new commits. Configure here.

@vinnyhoward vinnyhoward requested a review from a team as a code owner October 7, 2025 19:48
@github-actions
Copy link
Contributor

github-actions bot commented Oct 7, 2025

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot metamaskbot added the team-mobile-ux Mobile UX team label Oct 7, 2025
@vinnyhoward vinnyhoward added the team-design-system All issues relating to design system in Mobile label Oct 7, 2025
…ul-1078-bottom-sheet-border-disappearing-in-corners
…s' of github.com:MetaMask/metamask-mobile into fix-mul-1078-bottom-sheet-border-disappearing-in-corners
cursor[bot]

This comment was marked as outdated.

@github-actions github-actions bot added size-S and removed size-XS labels Oct 10, 2025
@vinnyhoward vinnyhoward requested review from a team as code owners October 14, 2025 16:32
@github-actions github-actions bot added size-M and removed size-S labels Oct 14, 2025
@sonarqubecloud
Copy link

Copy link
Contributor

@brianacnguyen brianacnguyen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DS changes look good

@github-actions
Copy link
Contributor

This PR has been automatically marked as stale because it has not had recent activity in the last 90 days. It will be closed in 7 days. Thank you for your contributions.

@github-actions github-actions bot added the stale Issues that have not had activity in the last 90 days label Jan 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size-M stale Issues that have not had activity in the last 90 days team-design-system All issues relating to design system in Mobile team-mobile-ux Mobile UX team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants