Skip to content

fix: Remove black backgrounds on fees and migrate edit-gas-fee-popover to Modal#39690

Merged
georgewrmarshall merged 4 commits intomainfrom
cursor/fees-row-background-modal-930c
Feb 3, 2026
Merged

fix: Remove black backgrounds on fees and migrate edit-gas-fee-popover to Modal#39690
georgewrmarshall merged 4 commits intomainfrom
cursor/fees-row-background-modal-930c

Conversation

@georgewrmarshall
Copy link
Copy Markdown
Contributor

@georgewrmarshall georgewrmarshall commented Jan 31, 2026

Description

This PR fixes a UI issue in the edit gas fee popover where black backgrounds appeared behind the fee options, causing the highlighted row to appear broken and awkward.

The edit-gas-fee-popover component had visual issues identified in MDP-496 where black backgrounds were showing behind fee options, breaking up the highlighted row selection and creating an awkward appearance. Additionally, the component was using the deprecated Popover component and needed migration to the current Modal component.

Changes included:

  • Migrated from deprecated Popover component to Modal with ModalOverlay, ModalContent, ModalHeader, and ModalBody
  • Fixed black background issue by changing LoadingHeartBeat background color from var(--color-background-alternative) to var(--color-primary-muted)
  • Migrated from deprecated Box, Text, and design-system constants to @metamask/design-system-react components
  • Replaced ButtonLink with TextButton using the asChild pattern for proper link semantics
  • Restructured layout using Box components with proper flexDirection, marginHorizontal, and marginVertical props
  • Converted header row from CSS classes to Box/Text components with proper styling
  • Updated separator to use Box with border styling instead of CSS class

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Fixed edit gas fee popover UI by removing black backgrounds and migrating to Modal component

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/MDP-496

Manual testing steps

  1. Create a transaction (e.g., send ETH)
  2. In the confirmation screen, click "Edit" on the gas fee section
  3. Verify the modal opens (not a popover)
  4. Verify there are no black backgrounds behind the fee options
  5. Verify the highlighted/selected fee option has a consistent background color
  6. Verify all fee options (Low, Medium, High, Custom) display correctly
  7. Verify the Network statistics section displays at the bottom
  8. Verify the "Learn more" link works correctly
  9. Close the modal and verify it closes properly

Screenshots/Recordings

Before

  • Black backgrounds appeared behind fee options
  • Used deprecated Popover component
  • Highlighted row appeared broken
Screenshot 2026-02-02 at 5 13 26 PM

After

  • Clean backgrounds with proper primary-muted color for selected state
  • Uses current Modal component
  • Highlighted row displays consistently
720after.mov

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

Medium Risk
UI refactor in the transaction confirmation flow that changes the container component and layout for the gas fee editor; risk is mainly regressions in modal/back/close behavior and styling across modes.

Overview
Replaces the deprecated Popover-based edit gas fee UI with the component-library Modal (ModalHeader/ModalBody), including updated close/back wiring via the transaction modal context.

Migrates layout primitives to @metamask/design-system-react (Box/Text/TextButton) and adjusts header/separator styling and the “Learn more” link rendering.

Fixes the selected fee row’s visual highlight by updating LoadingHeartBeat’s selected backgroundColor from --color-background-alternative to --color-primary-muted.

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

@github-actions
Copy link
Copy Markdown
Contributor

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-design-system All issues relating to design system in Extension label Jan 31, 2026
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Jan 31, 2026

✨ Files requiring CODEOWNER review ✨

@MetaMask/confirmations (2 files, +101 -75)
  • 📁 ui/
    • 📁 pages/
      • 📁 confirmations/
        • 📁 components/
          • 📁 edit-gas-fee-popover/
            • 📁 edit-gas-item/
              • 📄 edit-gas-item.js +1 -1
              • 📄 edit-gas-fee-popover.js +100 -74

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Jan 31, 2026

Builds ready [e5fc033]
UI Startup Metrics (1283 ± 114 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--12831036157811413461509
load--1101886135610811481310
domContentLoaded--1095882134510711451299
domInteractive--251595172271
firstPaint--146651309166172248
backgroundConnect--22620728510230240
firstReactRender--17114151929
initialActions--106114
loadScripts--88267011361069371094
setupStore--1264151423
numNetworkReqs--221584171573
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--21801570724882920864352
load--1067926168313210891392
domContentLoaded--1051920167313210721384
domInteractive--3518145253299
firstPaint--1746939775223328
backgroundConnect--48127925105033422215
firstReactRender--24154782743
initialActions--106113
loadScripts--82169613641208451127
setupStore--16679101829
numNetworkReqs--854823142100172
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--815657101388885987
load--68659093584763836
domContentLoaded--68158593084758832
domInteractive--2515103182281
firstPaint--986123040117177
backgroundConnect--39181312647104
firstReactRender--14103941621
initialActions--103112
loadScripts--67858392883756830
setupStore--1163861225
numNetworkReqs--211584171571
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1272844195124314371736
load--71862012591217151049
domContentLoaded--70861512541227051042
domInteractive--34181622634106
firstPaint--1436257890170298
backgroundConnect--16313338851163324
firstReactRender--23183842432
initialActions--102011
loadScripts--70561312461207031032
setupStore--1252031418
numNetworkReqs--1325028259154255
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--14121120204817415121712
load--1139947167613211981391
domContentLoaded--1138946167613211981391
domInteractive--713421541101146
firstPaint--------
backgroundConnect--65243705193151
firstReactRender--12103741317
initialActions--103122
loadScripts--1104929165011511711306
setupStore--135159211036
numNetworkReqs--231286181878
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--27411899627967128574201
load--13311037404043013132222
domContentLoaded--13311036403843013132222
domInteractive--15836729140159531
firstPaint--------
backgroundConnect--37811913392914931097
firstReactRender--22148092229
initialActions--207122
loadScripts--12741001399740812432004
setupStore--14211640165191577
numNetworkReqs--83392454697181
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16761392221218517902085
load--14281181189012915231652
domContentLoaded--14281181189013015191652
domInteractive--903024945130144
firstPaint--------
backgroundConnect--722425951119176
firstReactRender--15106681422
initialActions--102122
loadScripts--13851165174910914551550
setupStore--2332624911175
numNetworkReqs--231283171876
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--30522239586052633194009
load--16491325455840817522355
domContentLoaded--16481324455740817522355
domInteractive--13734944148132468
firstPaint--------
backgroundConnect--4301222732381610976
firstReactRender--2416140152433
initialActions--213123
loadScripts--15661290261627416752141
setupStore--1749792214302646
numNetworkReqs--82342864997179
19--------
📊 Page Load Benchmark Results

Current Commit: e5fc033 | Date: 1/31/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±38ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 719ms (±35ms) 🟢 | historical mean value: 721ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 74ms (±12ms) 🟢 | historical mean value: 76ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 38ms 1.01s 1.32s 1.05s 1.32s
domContentLoaded 719ms 35ms 699ms 987ms 743ms 987ms
firstPaint 74ms 12ms 56ms 176ms 84ms 176ms
firstContentfulPaint 74ms 12ms 56ms 176ms 84ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 258 Bytes (0%)
  • common: 20 Bytes (0%)

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 2, 2026

Builds ready [43de4d5]
UI Startup Metrics (1303 ± 117 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13031044166311713501577
load--1112890146911211581372
domContentLoaded--1106885145011211511365
domInteractive--271694192385
firstPaint--155651260129191286
backgroundConnect--22721428110230246
firstReactRender--18113752031
initialActions--104113
loadScripts--89167412371129371160
setupStore--1262851521
numNetworkReqs--211587171569
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--18781512231114719762156
load--1055937154113110561423
domContentLoaded--1039927145112310401403
domInteractive--3417173243288
firstPaint--190731445150233397
backgroundConnect--31527945926321361
firstReactRender--23164852534
initialActions--106112
loadScripts--80469911881158031138
setupStore--1584151626
numNetworkReqs--1014924347107204
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--8376691095978971015
load--695594101190761885
domContentLoaded--689589100489757875
domInteractive--251695182278
firstPaint--1106332356127216
backgroundConnect--42181352752103
firstReactRender--1493251624
initialActions--107112
loadScripts--687587100289755872
setupStore--1162841120
numNetworkReqs--221589191576
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1256942223425114551718
load--70960412091177021024
domContentLoaded--69959912001176861016
domInteractive--35181542732100
firstPaint--1446657198169349
backgroundConnect--15212937842152183
firstReactRender--22173032428
initialActions--102111
loadScripts--69659711911156831007
setupStore--1154651317
numNetworkReqs--1295026157154256
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--14051112196917415181782
load--1128959172113212021324
domContentLoaded--1128955172113212011324
domInteractive--65322253889139
firstPaint--------
backgroundConnect--57253344861150
firstReactRender--169117141339
initialActions--103022
loadScripts--1101947169412611491293
setupStore--146112181054
numNetworkReqs--231292191880
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--27041966963783527234018
load--12881061265329512332093
domContentLoaded--12871061265229512322093
domInteractive--1103754374113322
firstPaint--------
backgroundConnect--2821011003211272899
firstReactRender--22167172331
initialActions--2116223
loadScripts--12361020262025112081822
setupStore--1999770224368662
numNetworkReqs--73372214587187
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16661352226217617672038
load--14171144172812115031637
domContentLoaded--14171144172712114981637
domInteractive--922722845130157
firstPaint--------
backgroundConnect--742325747115159
firstReactRender--16116181531
initialActions--105122
loadScripts--13721129161910114311539
setupStore--154222271263
numNetworkReqs--231293171876
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--310322751027495433134113
load--17171286873978518312512
domContentLoaded--17161286873978518312512
domInteractive--13433831154115574
firstPaint--------
backgroundConnect--3751151396301427982
firstReactRender--22163242530
initialActions--213123
loadScripts--16501257870777117062332
setupStore--16610797226249697
numNetworkReqs--71372384980192
19--------
📊 Page Load Benchmark Results

Current Commit: 43de4d5 | Date: 2/2/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±39ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 716ms (±34ms) 🟢 | historical mean value: 721ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±11ms) 🟢 | historical mean value: 76ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 39ms 1.00s 1.29s 1.06s 1.29s
domContentLoaded 716ms 34ms 694ms 966ms 747ms 966ms
firstPaint 75ms 11ms 60ms 164ms 88ms 164ms
firstContentfulPaint 75ms 11ms 60ms 164ms 88ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 1.89 KiB (0.02%)
  • common: 18 Bytes (0%)

@georgewrmarshall georgewrmarshall changed the title fix(MDP-496): Remove black backgrounds on fees and migrate edit-gas-fee-popover to Modal fix: Remove black backgrounds on fees and migrate edit-gas-fee-popover to Modal Feb 2, 2026
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 2, 2026

Builds ready [cba3fb5]
UI Startup Metrics (1383 ± 94 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1383116716159414381556
load--119199114139412601354
domContentLoaded--118497414069412531351
domInteractive--261695172373
firstPaint--1506535667199299
backgroundConnect--23321329815238262
firstReactRender--1793241923
initialActions--105113
loadScripts--96775311959510381132
setupStore--1362851620
numNetworkReqs--221585171571
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--20251590475037521102350
load--1137998190914811321500
domContentLoaded--1124988189514811141489
domInteractive--35171492734108
firstPaint--210691504196235324
backgroundConnect--3482791515153339443
firstReactRender--24166382642
initialActions--103112
loadScripts--88677215751348811217
setupStore--1575571629
numNetworkReqs--1205026052143240
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--89168013001299911114
load--75060911861228181008
domContentLoaded--74460511771218111001
domInteractive--261786172377
firstPaint--1036028848117194
backgroundConnect--3617151243993
firstReactRender--16103661830
initialActions--106112
loadScripts--7416031175121804998
setupStore--1253751325
numNetworkReqs--221581171574
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1261992184620414401675
load--71862311031127161039
domContentLoaded--70861810951127051026
domInteractive--35171772830104
firstPaint--137641034115159249
backgroundConnect--15513138735157233
firstReactRender--23164242431
initialActions--103111
loadScripts--70661610871107031018
setupStore--1254051419
numNetworkReqs--1014427256149234
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--15611300219016917031840
load--13271149180312914301550
domContentLoaded--13261149180312914301550
domInteractive--66361693589144
firstPaint--------
backgroundConnect--70271954299156
firstReactRender--1294441318
initialActions--102012
loadScripts--12891134170011513741524
setupStore--136112141246
numNetworkReqs--241295201784
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29722128472556330764271
load--15641249265433515812498
domContentLoaded--15631243265433515802498
domInteractive--1173851283120329
firstPaint--------
backgroundConnect--3431181164253432887
firstReactRender--2014135141828
initialActions--203122
loadScripts--15141229262430815352404
setupStore--1428906197159667
numNetworkReqs--73342114393190
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16751437206515917821988
load--14421234179212915181702
domContentLoaded--14411234179112915141701
domInteractive--863024844120154
firstPaint--------
backgroundConnect--69252164185154
firstReactRender--15105061523
initialActions--104122
loadScripts--14041218177111414751621
setupStore--134159171337
numNetworkReqs--231288171873
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29422156439953530874173
load--15881256271536117432592
domContentLoaded--15881256271436117432592
domInteractive--11429710117109422
firstPaint--------
backgroundConnect--3321061397290366930
firstReactRender--21146062330
initialActions--203123
loadScripts--15171236263030716732263
setupStore--2006892243350746
numNetworkReqs--71331984498178
19--------
📊 Page Load Benchmark Results

Current Commit: cba3fb5 | Date: 2/2/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±37ms) 🟡 | historical mean value: 1.02s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 724ms (±34ms) 🟢 | historical mean value: 712ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±14ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 37ms 1.01s 1.32s 1.06s 1.32s
domContentLoaded 724ms 34ms 700ms 983ms 745ms 983ms
firstPaint 76ms 14ms 60ms 200ms 88ms 200ms
firstContentfulPaint 76ms 14ms 60ms 200ms 88ms 200ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 2.56 KiB (0.05%)
  • ui: 1.43 KiB (0.02%)
  • common: 1.69 KiB (0.02%)

georgewrmarshall and others added 2 commits February 2, 2026 17:14
…ee-popover to Modal

This PR fixes the black background issue on fee rows in the Edit Gas Fee modal
and migrates the modal to use the component library Modal instead of the deprecated Popover.

Changes:
- Fixed black background on selected fee rows by changing LoadingHeartBeat backgroundColor
  from 'var(--color-background-alternative)' to 'var(--color-primary-muted)'
- Migrated edit-gas-fee-popover from deprecated Popover to component library Modal
- Replaced deprecated ModalHeader and ModalContent with current versions
- Migrated from SASS to Tailwind CSS and design system components
- Updated imports to use @metamask/design-system-react (Box, Text, TextButton)
- Replaced raw div/span elements with design system Text components
- Replaced ButtonLink with TextButton for "Learn more" link
- Used Box component props and Tailwind classes instead of SASS styles

The modal now follows the UI development guidelines by using:
- Modal, ModalOverlay, ModalContent, ModalHeader, ModalBody from component library
- Box with flexDirection and other typed props
- Text with variant, color, and fontWeight props
- TextButton with asChild pattern for links
- Tailwind utility classes instead of custom SCSS

All tests pass successfully.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
…as-fee-popover

Replaced Tailwind CSS classes with typed Box component props from design-system-react:
- BannerAlert: className="mb-1" → marginBottom={1}
- Box header row: className="flex gap-0 mx-3 mb-0" → flexDirection={BoxFlexDirection.Row} + marginHorizontal={3}
- Box separator: className="border-t border-default my-2 mx-3" → borderColor={BoxBorderColor.BorderDefault} + marginVertical={2} + marginHorizontal={3}
- Box footer: className="mt-9" → marginTop={9}
- Text: className="text-center" → textAlign={TextAlign.Center}

Kept Tailwind classes where Box doesn't provide equivalent props (width percentages, border-t utility).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
TextColor,
BoxBorderColor,
TextAlign,
} from '@metamask/design-system-react';
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Replacing legacy component imports with design system components from @metamask/design-system-react. This aligns with the ongoing effort to standardize components across the extension.

</Box>
<Box>
<NetworkStatistics />
<ModalBody className="flex flex-col justify-between">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Using Tailwind flex utilities combined with Box flexDirection prop to create a responsive two-column layout. The top section contains the gas options list and the bottom section has network stats with margin-top spacing.

variant={TextVariant.BodyXs}
fontWeight={FontWeight.Bold}
color={TextColor.TextAlternative}
className="inline-block w-[36%]"
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Replaced CSS classes with Tailwind width utilities to control column proportions. This provides more explicit control over the table-like header layout compared to the previous CSS approach.

)}
<EditGasItem priorityLevel={PriorityLevels.medium} />
<EditGasItem priorityLevel={PriorityLevels.high} />
<Box
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Migrating from CSS class separator to Box component with Tailwind border utility and borderColor prop. This maintains the visual separation while using design system tokens.

textAlign={TextAlign.Center}
>
{t('learnMoreAboutGas', [
<TextButton asChild key="learnMoreLink" className="inline">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Using TextButton with asChild pattern to render as an anchor tag. This provides button styling while maintaining proper semantic HTML for external links.

backgroundColor={
priorityLevel === estimateUsed
? 'var(--color-background-alternative)'
? 'var(--color-primary-muted)'
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Changed from background-alternative to primary-muted for the selected gas option. This fixes the black background issue reported in MDP-496 and provides better visual contrast for the selected state.

@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 3, 2026

Builds ready [bbaedac]
UI Startup Metrics (1384 ± 92 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1384116316969214481518
load--1186100215439012441315
domContentLoaded--117999215359012381309
domInteractive--271791192383
firstPaint--167681178156196312
backgroundConnect--23421528315237269
firstReactRender--1894562034
initialActions--108114
loadScripts--96176713169010181087
setupStore--1363151623
numNetworkReqs--211577171574
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--18951517264917019692200
load--1113984190714011071471
domContentLoaded--1097973188714010881460
domInteractive--32171212231100
firstPaint--209711897228240373
backgroundConnect--31626750240326393
firstReactRender--23154762538
initialActions--104113
loadScripts--86474815501248541190
setupStore--1554761527
numNetworkReqs--1275125852152243
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--837685111982893958
load--69060988169753810
domContentLoaded--68560587668748800
domInteractive--251695162269
firstPaint--1125962074140227
backgroundConnect--36191442539101
firstReactRender--16103461829
initialActions--106113
loadScripts--68260386867746798
setupStore--1162841221
numNetworkReqs--221583171573
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1253896186922114251678
load--71661913261207101031
domContentLoaded--70761413121207011024
domInteractive--34181642633105
firstPaint--1356652273167268
backgroundConnect--16112936450161321
firstReactRender--22184542430
initialActions--102111
loadScripts--70461112981186991016
setupStore--1243641316
numNetworkReqs--1244625759152251
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16241354224818917391968
load--13631158200214614651627
domContentLoaded--13621158199614614651627
domInteractive--68332103888145
firstPaint--------
backgroundConnect--68282784277153
firstReactRender--1292521314
initialActions--102012
loadScripts--13271138197213213981554
setupStore--125111141137
numNetworkReqs--231288201882
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29952221482260532114477
load--15901205276135917322434
domContentLoaded--15891205275635817312434
domInteractive--1083454286110288
firstPaint--------
backgroundConnect--3571171479308403985
firstReactRender--17142931825
initialActions--103122
loadScripts--15371183262733216352339
setupStore--118775118689646
numNetworkReqs--70341984292182
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16381316202715917391943
load--13951192172810714671599
domContentLoaded--13941192172810714671598
domInteractive--872822945127157
firstPaint--------
backgroundConnect--71242224892174
firstReactRender--14112631419
initialActions--103122
loadScripts--1357117215759014091522
setupStore--2232664712134
numNetworkReqs--221285171874
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--30212124488060833934233
load--16351267266637018092458
domContentLoaded--16351267266637018092458
domInteractive--11333754127102487
firstPaint--------
backgroundConnect--36011314133014201026
firstReactRender--22166882432
initialActions--217123
loadScripts--15721247263332516802314
setupStore--1997910252345771
numNetworkReqs--69341914379187
19--------
📊 Page Load Benchmark Results

Current Commit: bbaedac | Date: 2/3/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±45ms) 🟡 | historical mean value: 1.02s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 731ms (±41ms) 🟢 | historical mean value: 712ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±12ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 45ms 1.01s 1.36s 1.11s 1.36s
domContentLoaded 731ms 41ms 703ms 1.03s 771ms 1.03s
firstPaint 78ms 12ms 60ms 168ms 92ms 168ms
firstContentfulPaint 78ms 12ms 60ms 168ms 92ms 168ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 311 Bytes (0%)
  • common: 20 Bytes (0%)

@georgewrmarshall georgewrmarshall force-pushed the cursor/fees-row-background-modal-930c branch from bbaedac to a0987ae Compare February 3, 2026 02:37
@github-actions github-actions bot added size-XL and removed size-M labels Feb 3, 2026
@georgewrmarshall georgewrmarshall force-pushed the cursor/fees-row-background-modal-930c branch from a0987ae to 1543d38 Compare February 3, 2026 02:54
@github-actions github-actions bot added size-M and removed size-XL labels Feb 3, 2026
@georgewrmarshall georgewrmarshall marked this pull request as draft February 3, 2026 03:07
@georgewrmarshall georgewrmarshall marked this pull request as ready for review February 3, 2026 03:14
@metamaskbotv2
Copy link
Copy Markdown
Contributor

metamaskbotv2 bot commented Feb 3, 2026

Builds ready [1543d38]
UI Startup Metrics (1417 ± 88 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1417121516578814741572
load--1208102314568712701339
domContentLoaded--120098814518912611330
domInteractive--261790172381
firstPaint--168681179122211305
backgroundConnect--23921528415244271
firstReactRender--18103452032
initialActions--108225
loadScripts--97876512268910391116
setupStore--1364261524
numNetworkReqs--211580171572
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--20171572535947920812473
load--1128989165115111511531
domContentLoaded--1107982163115011121513
domInteractive--3418121223497
firstPaint--202741207125238316
backgroundConnect--3832703439388352560
firstReactRender--24154872741
initialActions--103112
loadScripts--88577413931428851241
setupStore--1362841722
numNetworkReqs--1225125753147243
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--85567712531209361059
load--7215921066107797924
domContentLoaded--7155871060106790920
domInteractive--251693182180
firstPaint--1096031952135217
backgroundConnect--3418193243794
firstReactRender--16104761729
initialActions--104112
loadScripts--7125851053105787918
setupStore--1264661221
numNetworkReqs--221583181574
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1254963182423014321689
load--69460010821166921019
domContentLoaded--68559210741156781011
domInteractive--3417200313093
firstPaint--1466153294183365
backgroundConnect--15012837641153191
firstReactRender--22163742427
initialActions--102111
loadScripts--68259010651136771003
setupStore--1041931215
numNetworkReqs--1315130559164257
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--17861448246522819242301
load--15051256212717116271815
domContentLoaded--15041251212217116271814
domInteractive--843538655110167
firstPaint--------
backgroundConnect--923025556136207
firstReactRender--13102121416
initialActions--103122
loadScripts--14531234209915515391704
setupStore--1346091334
numNetworkReqs--231286191879
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29612104452551831883951
load--15521237266731816382420
domContentLoaded--15521236266731816382420
domInteractive--13734918151129529
firstPaint--------
backgroundConnect--3131171241255319892
firstReactRender--18146981823
initialActions--107122
loadScripts--15021213252229215892312
setupStore--120878318987672
numNetworkReqs--74372364491179
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16581304212816117791965
load--14201221179610914911604
domContentLoaded--14191221179610914911604
domInteractive--852924444111170
firstPaint--------
backgroundConnect--65241844078158
firstReactRender--14116151419
initialActions--103122
loadScripts--13841206176510014401550
setupStore--1851583012118
numNetworkReqs--231282181877
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29322130774579430423930
load--16761280627070017642348
domContentLoaded--16751280627070017632348
domInteractive--13436641122128438
firstPaint--------
backgroundConnect--2891061225245289883
firstReactRender--21165452329
initialActions--213123
loadScripts--15831264624353116792223
setupStore--1538722202170637
numNetworkReqs--74362254594179
19--------
📊 Page Load Benchmark Results

Current Commit: 1543d38 | Date: 2/3/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 983ms (±41ms) 🟢 | historical mean value: 1.02s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 685ms (±37ms) 🟢 | historical mean value: 712ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 73ms (±10ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 983ms 41ms 949ms 1.29s 1.01s 1.29s
domContentLoaded 685ms 37ms 657ms 975ms 702ms 975ms
firstPaint 73ms 10ms 56ms 152ms 80ms 152ms
firstContentfulPaint 73ms 10ms 56ms 152ms 80ms 152ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: 58 Bytes (0%)
  • ui: 311 Bytes (0%)
  • common: 20 Bytes (0%)

@georgewrmarshall georgewrmarshall added this pull request to the merge queue Feb 3, 2026
Merged via the queue into main with commit 37a8274 Feb 3, 2026
180 checks passed
@georgewrmarshall georgewrmarshall deleted the cursor/fees-row-background-modal-930c branch February 3, 2026 22:14
@github-actions github-actions bot locked and limited conversation to collaborators Feb 3, 2026
@metamaskbot metamaskbot added the release-13.18.0 Issue or pull request that will be included in release 13.18.0 label Feb 3, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.18.0 Issue or pull request that will be included in release 13.18.0 size-M team-design-system All issues relating to design system in Extension

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants