You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.1 KiB
37 lines
1.1 KiB
const Spacer = require('./Spacer.js'); |
|
const theme = require('../theme.js'); |
|
|
|
/** |
|
* @typedef {Object} RuntimeErrorHeaderProps |
|
* @property {number} currentErrorIndex |
|
* @property {number} totalErrors |
|
*/ |
|
|
|
/** |
|
* A fixed header that shows the total runtime error count. |
|
* @param {Document} document |
|
* @param {HTMLElement} root |
|
* @param {RuntimeErrorHeaderProps} props |
|
* @returns {void} |
|
*/ |
|
function RuntimeErrorHeader(document, root, props) { |
|
const header = document.createElement('div'); |
|
header.innerText = 'Error ' + (props.currentErrorIndex + 1) + ' of ' + props.totalErrors; |
|
header.style.backgroundColor = '#' + theme.red; |
|
header.style.color = '#' + theme.white; |
|
header.style.fontWeight = '500'; |
|
header.style.height = '2.5rem'; |
|
header.style.left = '0'; |
|
header.style.lineHeight = '2.5rem'; |
|
header.style.position = 'fixed'; |
|
header.style.textAlign = 'center'; |
|
header.style.top = '0'; |
|
header.style.width = '100vw'; |
|
header.style.zIndex = '2'; |
|
|
|
root.appendChild(header); |
|
|
|
Spacer(document, root, { space: '2.5rem' }); |
|
} |
|
|
|
module.exports = RuntimeErrorHeader;
|
|
|