@@ -58,137 +58,133 @@ export const handleCheckForUpdates = () => {
5858
5959 // Check Update
6060 if ( checkUpdateButton ) {
61- checkUpdateButton . addEventListener ( 'click' , ( event ) => {
61+ checkUpdateButton . addEventListener ( 'click' , async ( event ) => {
6262 event . preventDefault ( ) ;
63- fetch ( './api/update-check' , {
64- method : 'POST' ,
65- headers : {
66- Accept : 'application/json, text/plain, */*' ,
67- 'Content-Type' : 'application/json' ,
68- } ,
69- } )
70- . then ( async ( response ) => {
71- if ( response . ok ) {
72- return response . json ( ) ;
73- }
74- throw new Error ( 'Network response was not ok: ' , { cause : { response } } ) ;
75- } )
76- . then ( ( response ) => {
77- const dateLastChecked = document . getElementById ( 'dateLastChecked' ) ;
78- const versionLastChecked = document . getElementById ( 'versionLastChecked' ) ;
79- const card = document . getElementById ( 'pmf-update-step-check-versions' ) ;
80-
81- if ( dateLastChecked ) {
82- const date = new Date ( response . dateLastChecked ) ;
83- dateLastChecked . innerText = `${ date . toLocaleString ( ) } ` ;
84- }
63+ const spinner = document . getElementById ( 'spinner-check-versions' ) ;
64+ spinner . classList . remove ( 'd-none' ) ;
65+ try {
66+ const response = await fetch ( './api/update-check' , {
67+ method : 'POST' ,
68+ headers : {
69+ Accept : 'application/json, text/plain, */*' ,
70+ 'Content-Type' : 'application/json' ,
71+ } ,
72+ } ) ;
8573
86- if ( versionLastChecked ) {
87- versionLastChecked . innerText = response . version ;
88- }
74+ if ( ! response . ok ) {
75+ throw new Error ( 'Network response was not ok' ) ;
76+ }
8977
90- const result = document . getElementById ( 'result-check-versions' ) ;
91- if ( result ) {
92- card . classList . add ( 'text-bg-success' ) ;
93- if ( response . version === 'current' ) {
94- result . replaceWith ( addElement ( 'p' , { innerText : response . message } ) ) ;
95- } else {
96- result . replaceWith ( addElement ( 'p' , { innerText : response . message } ) ) ;
97- }
98- }
99- } )
100- . catch ( ( error ) => {
101- console . error ( error ) ;
102- } ) ;
78+ const responseData = await response . json ( ) ;
79+ const dateLastChecked = document . getElementById ( 'dateLastChecked' ) ;
80+ const versionLastChecked = document . getElementById ( 'versionLastChecked' ) ;
81+ const card = document . getElementById ( 'pmf-update-step-check-versions' ) ;
82+
83+ if ( dateLastChecked ) {
84+ const date = new Date ( responseData . dateLastChecked ) ;
85+ dateLastChecked . innerText = `${ date . toLocaleString ( ) } ` ;
86+ }
87+
88+ if ( versionLastChecked ) {
89+ versionLastChecked . innerText = responseData . version ;
90+ }
91+
92+ const result = document . getElementById ( 'result-check-versions' ) ;
93+ if ( result ) {
94+ card . classList . add ( 'text-bg-success' ) ;
95+ result . replaceWith ( addElement ( 'p' , { innerText : responseData . message } ) ) ;
96+ spinner . classList . add ( 'd-none' ) ;
97+ }
98+ } catch ( error ) {
99+ console . error ( error ) ;
100+ }
103101 } ) ;
104102 }
105103
106104 // Download package
107105 if ( downloadButton ) {
108- downloadButton . addEventListener ( 'click' , ( event ) => {
106+ downloadButton . addEventListener ( 'click' , async ( event ) => {
109107 event . preventDefault ( ) ;
110108
111109 let version ;
112110 const versionLastChecked = document . getElementById ( 'versionLastChecked' ) ;
113111 const releaseEnvironment = document . getElementById ( 'releaseEnvironment' ) ;
112+ const spinner = document . getElementById ( 'spinner-download-new-version' ) ;
113+ spinner . classList . remove ( 'd-none' ) ;
114114
115115 if ( releaseEnvironment . innerText . toLowerCase ( ) === 'nightly' ) {
116116 version = 'nightly' ;
117117 } else {
118118 version = versionLastChecked . innerText ;
119119 }
120120
121- fetch ( `./api/download-package/${ version } ` , {
122- method : 'POST' ,
123- headers : {
124- Accept : 'application/json, text/plain, */*' ,
125- 'Content-Type' : 'application/json' ,
126- } ,
127- } )
128- . then ( async ( response ) => {
129- if ( response . ok ) {
130- return response . json ( ) ;
131- }
132- throw new Error ( 'Network response was not ok: ' , { cause : { response } } ) ;
133- } )
134- . then ( ( response ) => {
135- const result = document . getElementById ( 'result-download-new-version' ) ;
136- const divExtractPackage = document . getElementById ( 'pmf-update-step-extract-package' ) ;
137- const card = document . getElementById ( 'pmf-update-step-download' ) ;
138-
139- if ( result ) {
140- card . classList . add ( 'text-bg-success' ) ;
141- divExtractPackage . classList . remove ( 'd-none' ) ;
142- if ( response . version === 'current' ) {
143- result . replaceWith ( addElement ( 'p' , { innerText : response . success } ) ) ;
144- } else {
145- result . replaceWith ( addElement ( 'p' , { innerText : response . success } ) ) ;
146- }
147- }
148- } )
149- . catch ( async ( error ) => {
150- const errorMessage = await error . cause . response . json ( ) ;
151- const result = document . getElementById ( 'result-download-new-version' ) ;
152- result . replaceWith ( addElement ( 'p' , { innerText : errorMessage . error } ) ) ;
121+ try {
122+ const response = await fetch ( `./api/download-package/${ version } ` , {
123+ method : 'POST' ,
124+ headers : {
125+ Accept : 'application/json, text/plain, */*' ,
126+ 'Content-Type' : 'application/json' ,
127+ } ,
153128 } ) ;
129+
130+ if ( ! response . ok ) {
131+ throw new Error ( 'Network response was not ok' ) ;
132+ }
133+
134+ const responseData = await response . json ( ) ;
135+ const result = document . getElementById ( 'result-download-new-version' ) ;
136+ const divExtractPackage = document . getElementById ( 'pmf-update-step-extract-package' ) ;
137+ const card = document . getElementById ( 'pmf-update-step-download' ) ;
138+
139+ if ( result ) {
140+ card . classList . add ( 'text-bg-success' ) ;
141+ divExtractPackage . classList . remove ( 'd-none' ) ;
142+ result . replaceWith ( addElement ( 'p' , { innerText : responseData . success } ) ) ;
143+ spinner . classList . add ( 'd-none' ) ;
144+ }
145+ } catch ( error ) {
146+ const errorMessage = await error . cause . response . json ( ) ;
147+ const result = document . getElementById ( 'result-download-new-version' ) ;
148+ result . replaceWith ( addElement ( 'p' , { innerText : errorMessage . error } ) ) ;
149+ spinner . classList . add ( 'd-none' ) ;
150+ }
154151 } ) ;
155152 }
156153
157154 // Extract package
158155 if ( extractButton ) {
159- extractButton . addEventListener ( 'click' , ( event ) => {
156+ extractButton . addEventListener ( 'click' , async ( event ) => {
160157 event . preventDefault ( ) ;
161- fetch ( './api/extract-package' , {
162- method : 'POST' ,
163- headers : {
164- Accept : 'application/json, text/plain, */*' ,
165- 'Content-Type' : 'application/json' ,
166- } ,
167- } )
168- . then ( async ( response ) => {
169- if ( response . ok ) {
170- return response . json ( ) ;
171- }
172- throw new Error ( 'Network response was not ok: ' , { cause : { response } } ) ;
173- } )
174- . then ( ( response ) => {
175- const result = document . getElementById ( 'result-extract-package' ) ;
176- const divInstallPackage = document . getElementById ( 'pmf-update-step-install-package' ) ;
177- const card = document . getElementById ( 'pmf-update-step-extract-package' ) ;
178-
179- if ( result ) {
180- card . classList . add ( 'text-bg-success' ) ;
181- divInstallPackage . classList . remove ( 'd-none' ) ;
182- if ( response . success === 'ok' ) {
183- result . replaceWith ( addElement ( 'p' , { innerText : response . message } ) ) ;
184- } else {
185- result . replaceWith ( addElement ( 'p' , { innerText : response . message } ) ) ;
186- }
187- }
188- } )
189- . catch ( ( error ) => {
190- console . error ( error ) ;
158+ const spinner = document . getElementById ( 'spinner-extract-package' ) ;
159+ spinner . classList . remove ( 'd-none' ) ;
160+
161+ try {
162+ const response = await fetch ( './api/extract-package' , {
163+ method : 'POST' ,
164+ headers : {
165+ Accept : 'application/json, text/plain, */*' ,
166+ 'Content-Type' : 'application/json' ,
167+ } ,
191168 } ) ;
169+
170+ if ( ! response . ok ) {
171+ throw new Error ( 'Network response was not ok' ) ;
172+ }
173+
174+ const responseData = await response . json ( ) ;
175+ const result = document . getElementById ( 'result-extract-package' ) ;
176+ const divInstallPackage = document . getElementById ( 'pmf-update-step-install-package' ) ;
177+ const card = document . getElementById ( 'pmf-update-step-extract-package' ) ;
178+
179+ if ( result ) {
180+ card . classList . add ( 'text-bg-success' ) ;
181+ divInstallPackage . classList . remove ( 'd-none' ) ;
182+ result . replaceWith ( addElement ( 'p' , { innerText : responseData . message } ) ) ;
183+ spinner . classList . add ( 'd-none' ) ;
184+ }
185+ } catch ( error ) {
186+ console . error ( error ) ;
187+ }
192188 } ) ;
193189 }
194190
0 commit comments