Skip to content

Commit ecefb30

Browse files
refactor: improve position
1 parent 213b017 commit ecefb30

File tree

1 file changed

+31
-13
lines changed

1 file changed

+31
-13
lines changed

client-src/overlay.js

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ function ensureOverlayDivExists(onOverlayDivReady) {
7474
if (overlayDiv) {
7575
// Everything is ready, call the callback right away.
7676
onOverlayDivReady(overlayDiv);
77+
7778
return;
7879
}
7980

@@ -117,22 +118,39 @@ function clear() {
117118
// Compilation with errors (e.g. syntax error or missing modules).
118119
function showMessage(messages) {
119120
ensureOverlayDivExists((div) => {
121+
const headerElement = document.createElement('span');
122+
123+
headerElement.innerText = 'Failed to compile.';
124+
headerElement.style.color = `#${colors.red}`;
125+
126+
const closeButtonElement = document.createElement('button');
127+
128+
closeButtonElement.innerText = 'X';
129+
closeButtonElement.style.background = 'transparent';
130+
closeButtonElement.style.border = 'none';
131+
closeButtonElement.style.fontSize = '20px';
132+
closeButtonElement.style.fontWeight = 'bold';
133+
closeButtonElement.style.color = 'white';
134+
closeButtonElement.style.cursor = 'pointer';
135+
closeButtonElement.style.cssFloat = 'right';
136+
closeButtonElement.style.styleFloat = 'right';
137+
closeButtonElement.addEventListener('click', () => {
138+
clear();
139+
});
140+
141+
const breakElementFirst = document.createElement('br');
142+
const breakElementSecond = document.createElement('br');
143+
120144
// Make it look similar to our terminal.
121145
const errorMessage = messages[0].message || messages[0];
122146
const text = ansiHTML(encode(errorMessage));
123-
const closeButton = document.createElement('button');
124-
closeButton.innerText = 'X';
125-
closeButton.style.background = 'transparent';
126-
closeButton.style.border = 'none';
127-
closeButton.style.fontSize = '20px';
128-
closeButton.style.fontWeight = 'bold';
129-
closeButton.style.color = 'white';
130-
closeButton.style.cursor = 'pointer';
131-
closeButton.addEventListener('click', () => {
132-
clear();
133-
});
134-
div.innerHTML = `<span style="color: #${colors.red}">Failed to compile.</span><br><br>${text}`;
135-
div.insertBefore(closeButton, div.firstChild);
147+
const messageTextNode = document.createTextNode(text);
148+
149+
div.appendChild(headerElement);
150+
div.appendChild(closeButtonElement);
151+
div.appendChild(breakElementFirst);
152+
div.appendChild(breakElementSecond);
153+
div.appendChild(messageTextNode);
136154
});
137155
}
138156

0 commit comments

Comments
 (0)