let intervalTime = 150;
let dataIndex = 0;
let stringPosition = 0;
let printTask;
let terminal;
let historyContainer;
let promptContainer;
function writeOut() {
let currentData = data[dataIndex];
let currentText = currentData["strings"];
promptContainer.innerText = promptContainer.innerText + currentText.charAt(stringPosition);
stringPosition++;
if(stringPosition > currentText.length){
stringPosition = 0
dataIndex++;
historyContainer.innerHTML = historyContainer.innerHTML + "$ " + promptContainer.innerHTML + "
" + currentData["output"] + "
";
promptContainer.innerHTML = "";
clearInterval(printTask);
// @ts-ignore
if(dataIndex < data.length){
// @ts-ignore
setTimeout(startNewTask, data[dataIndex - 1].postDelay);
}
}
}
function startNewTask() {
terminal = document.getElementsByClassName("terminal")[0];
historyContainer = terminal.getElementsByClassName("history")[0];
promptContainer = terminal.getElementsByClassName("prompt")[0];
printTask = setInterval(writeOut, intervalTime);
}
if(document.querySelector(".terminal-window") != null){
startNewTask();
}