Skip to content

Commit a775335

Browse files
magizizsvenvoskamp
andauthored
fix: broken modal layout when using embedded (#4242)
Co-authored-by: Sven <[email protected]>
1 parent e73dbee commit a775335

File tree

3 files changed

+54
-1
lines changed

3 files changed

+54
-1
lines changed

.changeset/sweet-women-beam.md

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
'@reown/appkit-wallet': patch
3+
'@reown/appkit-adapter-bitcoin': patch
4+
'@reown/appkit-adapter-ethers': patch
5+
'@reown/appkit-adapter-ethers5': patch
6+
'@reown/appkit-adapter-solana': patch
7+
'@reown/appkit-adapter-wagmi': patch
8+
'@reown/appkit': patch
9+
'@reown/appkit-utils': patch
10+
'@reown/appkit-cdn': patch
11+
'@reown/appkit-cli': patch
12+
'@reown/appkit-common': patch
13+
'@reown/appkit-controllers': patch
14+
'@reown/appkit-core': patch
15+
'@reown/appkit-experimental': patch
16+
'@reown/appkit-polyfills': patch
17+
'@reown/appkit-scaffold-ui': patch
18+
'@reown/appkit-siwe': patch
19+
'@reown/appkit-siwx': patch
20+
'@reown/appkit-ui': patch
21+
'@reown/appkit-wallet-button': patch
22+
---
23+
24+
Fixed an issue causing a broken modal layout when using the embedded wallet

packages/wallet/src/W3mFrame.ts

+1
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ export class W3mFrame {
5959
iframe.style.position = 'fixed'
6060
iframe.style.zIndex = '999999'
6161
iframe.style.display = 'none'
62+
iframe.style.border = 'none'
6263
iframe.style.animationDelay = '0s, 50ms'
6364
iframe.style.borderBottomLeftRadius = `clamp(0px, var(--wui-border-radius-l), 44px)`
6465
iframe.style.borderBottomRightRadius = `clamp(0px, var(--wui-border-radius-l), 44px)`

packages/wallet/tests/W3mFrame.test.ts

+29-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import * as logger from '@walletconnect/logger'
21
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
32

43
import { W3mFrame } from '../src/W3mFrame.js'
@@ -171,4 +170,33 @@ describe('W3mFrame', () => {
171170
expect(w3mFrame['iframe']?.src).toContain('enableLogger=false')
172171
})
173172
})
173+
174+
describe('iframe styles', () => {
175+
it('should have correct initial CSS styles', () => {
176+
const mockStyle: Record<string, string> = {}
177+
178+
const mockIframeElement = {
179+
style: mockStyle,
180+
addEventListener: vi.fn(),
181+
setAttribute: vi.fn(),
182+
onerror: null
183+
}
184+
185+
mockDocument.createElement.mockReturnValue(mockIframeElement)
186+
187+
w3mFrame = new W3mFrame({ projectId: PROJECT_ID, isAppClient: true })
188+
189+
expect(mockStyle['position']).toBe('fixed')
190+
expect(mockStyle['zIndex']).toBe('999999')
191+
expect(mockStyle['display']).toBe('none')
192+
expect(mockStyle['border']).toBe('none')
193+
expect(mockStyle['animationDelay']).toBe('0s, 50ms')
194+
expect(mockStyle['borderBottomLeftRadius']).toBe(
195+
'clamp(0px, var(--wui-border-radius-l), 44px)'
196+
)
197+
expect(mockStyle['borderBottomRightRadius']).toBe(
198+
'clamp(0px, var(--wui-border-radius-l), 44px)'
199+
)
200+
})
201+
})
174202
})

0 commit comments

Comments
 (0)