Skip to content

Commit 681b6be

Browse files
fix(confirmations): add Pure Black border to AdvancedEIP1559Modal
Apply muted border on elevated surface in Pure Black dark mode and extend styles tests to cover border gating alongside gas-fee-token-modal. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent f95a298 commit 681b6be

2 files changed

Lines changed: 43 additions & 2 deletions

File tree

app/components/Views/confirmations/components/modals/advanced-eip1559-modal/advanced-eip1559-modal.styles.test.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@ import { AppThemeKey, Theme } from '../../../../../../util/theme/models';
33

44
const MOCK_ELEVATED_SURFACE_COLOR = 'mock-elevated-surface-color';
55

6+
let mockIsPureBlackEnabled = false;
7+
68
jest.mock('../../../../../../util/theme/themeUtils', () => ({
9+
get isPureBlackEnabled() {
10+
return mockIsPureBlackEnabled;
11+
},
712
getElevatedSurfaceColor: jest.fn(() => MOCK_ELEVATED_SURFACE_COLOR),
813
}));
914

@@ -18,11 +23,37 @@ const darkThemeModel: Theme = {
1823
};
1924

2025
describe('advanced-eip1559-modal.styles', () => {
26+
beforeEach(() => {
27+
mockIsPureBlackEnabled = false;
28+
});
29+
2130
it('uses elevated surface color for the modal container', () => {
2231
const styles = styleSheet({
2332
theme: darkThemeModel,
2433
});
2534

2635
expect(styles.container.backgroundColor).toBe(MOCK_ELEVATED_SURFACE_COLOR);
2736
});
37+
38+
it('does not apply muted border when pure black preview is off', () => {
39+
const styles = styleSheet({
40+
theme: darkThemeModel,
41+
});
42+
43+
expect(styles.container.borderWidth).toBe(0);
44+
expect(styles.container.borderColor).toBeUndefined();
45+
});
46+
47+
it('applies muted border in pure black dark mode', () => {
48+
mockIsPureBlackEnabled = true;
49+
50+
const styles = styleSheet({
51+
theme: darkThemeModel,
52+
});
53+
54+
expect(styles.container.borderWidth).toBe(1);
55+
expect(styles.container.borderColor).toBe(
56+
darkThemeModel.colors.border.muted,
57+
);
58+
});
2859
});

app/components/Views/confirmations/components/modals/advanced-eip1559-modal/advanced-eip1559-modal.styles.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,23 @@
11
import { StyleSheet } from 'react-native';
2-
import { Theme } from '../../../../../../util/theme/models';
3-
import { getElevatedSurfaceColor } from '../../../../../../util/theme/themeUtils';
2+
import { AppThemeKey, Theme } from '../../../../../../util/theme/models';
3+
import {
4+
getElevatedSurfaceColor,
5+
isPureBlackEnabled,
6+
} from '../../../../../../util/theme/themeUtils';
47

58
const styleSheet = (params: { theme: Theme }) => {
69
const { theme } = params;
10+
const { colors } = theme;
11+
const isPureBlackDark =
12+
isPureBlackEnabled && theme.themeAppearance === AppThemeKey.dark;
713

814
return StyleSheet.create({
15+
// TODO(Pure Black): Remove once MMDS ships pure-black-aware surface tokens.
16+
// Drop getElevatedSurfaceColor, isPureBlackEnabled, and AppThemeKey checks.
917
container: {
1018
backgroundColor: getElevatedSurfaceColor(theme),
19+
borderWidth: isPureBlackDark ? 1 : 0,
20+
borderColor: isPureBlackDark ? colors.border.muted : undefined,
1121
padding: 16,
1222
paddingBottom: 36,
1323
borderTopRightRadius: 16,

0 commit comments

Comments
 (0)