@@ -74,53 +74,6 @@ mergeInto(LibraryManager.library, {
7474 const enableOnramp = parameters . enableOnramp ;
7575
7676 console . log ( "Parameters" , parameters ) ;
77-
78- const addCanvasActiveStyles = ( ) => {
79- const styleElement = document . createElement ( 'style' ) ;
80- styleElement . id = 'canvas-active-styles' ;
81- styleElement . innerHTML = `
82- .canvas-active {
83- position: fixed !important;
84- top: 0 !important;
85- right: 0 !important;
86- bottom: 0 !important;
87- left: 0 !important;
88- width: 100% !important;
89- height: 100% !important;
90- }
91- ` ;
92- document . head . appendChild ( styleElement ) ;
93- } ;
94-
95- const removeCanvasActiveStyles = ( ) => {
96- const styleElement = document . getElementById ( 'canvas-active-styles' ) ;
97- if ( styleElement ) {
98- document . head . removeChild ( styleElement ) ;
99- }
100- } ;
101-
102- const html = document . querySelector ( 'html' ) ;
103- html ?. addEventListener ( 'fullscreenchange' , ( ) => {
104- const canvas = document . querySelector ( 'canvas' ) ;
105- console . log ( 'fullscreenchange' , canvas )
106- if ( document . fullscreenElement ) {
107- console . log ( 'fullscreenchange true' )
108- if ( ! canvas ?. classList . contains ( 'canvas-active' ) ) {
109- console . log ( 'fullscreenchange true add canvas-active' )
110-
111- addCanvasActiveStyles ( ) ;
112- canvas ?. classList . add ( 'canvas-active' ) ;
113- }
114- } else {
115- console . log ( 'fullscreenchange false' )
116- if ( canvas ?. classList . contains ( 'canvas-active' ) ) {
117- console . log ( 'fullscreenchange false remove canvas-active' )
118-
119- canvas ?. classList . remove ( 'canvas-active' ) ;
120- removeCanvasActiveStyles ( ) ;
121- }
122- }
123- } ) ;
12477
12578 // Load the scripts and initialize the configuration
12679 import ( "https://cdn.jsdelivr.net/npm/cdn-wagmi@3.0.0/dist/cdn-wagmi.js" ) . then ( CDNW3M => {
@@ -151,21 +104,68 @@ mergeInto(LibraryManager.library, {
151104 const modal = createWeb3Modal ( {
152105 wagmiConfig : config ,
153106 projectId,
154- enableAnalytics : false , // Optional - defaults to your Cloud configuration
155- enableOnramp : enableOnramp // Optional - false as default
107+ enableOnramp : enableOnramp
156108 } ) ;
157109
158- modal . subscribeEvents ( event => console . log ( "New Event!" , event ) ) ;
159-
160- console . log ( "Web3Modal modal created" , modal ) ;
161-
162110 // Store the configuration and modal globally
163111 _web3ModalConfig = {
164112 config : config ,
165113 modal : modal ,
166114 wagmiCore : WagmiCore
167115 } ;
168116
117+
118+ // Insert the container into the DOM at the canvas's original position
119+ const canvas = document . getElementsByTagName ( 'canvas' ) [ 0 ] ;
120+ const container = document . createElement ( 'div' ) ;
121+ container . id = 'canvas-container' ;
122+ canvas . parentNode . insertBefore ( container , canvas ) ;
123+ container . appendChild ( canvas ) ;
124+
125+ // Add styles to enable fullscreen compatibility
126+ const addCanvasActiveStyles = ( ) => {
127+ const styleElement = document . createElement ( 'style' ) ;
128+ styleElement . id = 'canvas-active-styles' ;
129+ styleElement . innerHTML = `
130+ .canvas-active {
131+ position: fixed !important;
132+ top: 0 !important;
133+ right: 0 !important;
134+ bottom: 0 !important;
135+ left: 0 !important;
136+ width: 100% !important;
137+ height: 100% !important;
138+ }
139+ ` ;
140+ document . head . appendChild ( styleElement ) ;
141+
142+ const web3modal = document . createElement ( 'w3m-modal' ) ;
143+ container . appendChild ( web3modal ) ;
144+ } ;
145+
146+ const removeCanvasActiveStyles = ( ) => {
147+ const styleElement = document . getElementById ( 'canvas-active-styles' ) ;
148+ if ( styleElement ) {
149+ document . head . removeChild ( styleElement ) ;
150+ }
151+ } ;
152+
153+ // Handle fullscreen changes
154+ container ?. addEventListener ( 'fullscreenchange' , ( ) => {
155+ const canvas = document . querySelector ( 'canvas' ) ;
156+ if ( document . fullscreenElement ) {
157+ if ( ! canvas ?. classList . contains ( 'canvas-active' ) ) {
158+ addCanvasActiveStyles ( ) ;
159+ canvas ?. classList . add ( 'canvas-active' ) ;
160+ }
161+ } else {
162+ if ( canvas ?. classList . contains ( 'canvas-active' ) ) {
163+ canvas ?. classList . remove ( 'canvas-active' ) ;
164+ removeCanvasActiveStyles ( ) ;
165+ }
166+ }
167+ } ) ;
168+
169169 { { { makeDynCall ( 'v' , 'callbackPtr' ) } } } ( ) ;
170170 } ) ;
171171 } ,
0 commit comments