diff --git a/index.html b/index.html index 284c5e6..4c51c9d 100644 --- a/index.html +++ b/index.html @@ -649,7 +649,7 @@

Welcome to Jurassic Park

- +
diff --git a/public/scripts/app.js b/public/scripts/app.js index 27410f2..4f52fa7 100644 --- a/public/scripts/app.js +++ b/public/scripts/app.js @@ -22,75 +22,116 @@ document.getElementById("start-timer").addEventListener("click", () => { const twoMinutes = 60 * 2; const display = document.getElementById("countdown-timer__display"); startTimer(twoMinutes, display); + document.getElementById("start-timer").disabled = true; }); //////////////////////// -// Voltage toggles -const voltageDisplay = document.getElementById("current-voltage"); -const voltageToggleInputs = document.querySelectorAll('input[type="radio"]'); - -const updateVoltage = () => { - let totalVoltage = 0; - for (let i = 0; i < voltageToggleInputs.length; i++) { - if (voltageToggleInputs[i].checked) { - totalVoltage += parseInt(voltageToggleInputs[i].value); - } - } - voltageDisplay.innerHTML = totalVoltage; +// Enable Instructions +const loadInstructions = instructionArr => { + const instructionsDisplay = document.querySelector( + ".instructions-text__content" + ); + instructionsDisplay.innerHTML = `${instructionArr[0]}

${ + instructionArr[1] + }`; }; -for (let i = 0; i < voltageToggleInputs.length; i++) { - voltageToggleInputs[i].addEventListener("click", event => { - updateVoltage(); - }); -} +const advanceInstructions = () => {}; -updateVoltage(); +const getCurrentInstructionIdx = () => {}; -//////////////////////// +const showNextStep = (instructionArr, instructionStep) => { + const instructionsDisplay = document.querySelector( + ".instructions-text__content" + ); -// Charge code -const chargeButton = document.getElementById("power-charge"); -const chargeStatus = document.getElementById("charge-status"); -chargeButton.addEventListener("click", () => { - let currentVoltage = parseInt(voltageDisplay.innerHTML); - if (currentVoltage === 220) { - chargeStatus.innerHTML = "Charged"; - chargeStatus.style.backgroundColor = "#f6e100"; - } else { - chargeStatus.innerHTML = "Discharged"; - } -}); -//////////////////////// + instructionsDisplay.innerHTML = `${instructionArr[instructionStep]}`; +}; -// Contact code -const closeButton = document.getElementById("power-close"); -const breakerStatus = document.getElementById("contact-status"); -closeButton.addEventListener("click", () => { - if (chargeStatus.innerHTML === "Charged") { - breakerStatus.innerHTML = "Closed"; - breakerStatus.style.backgroundColor = "red"; - chargeStatus.innerHTML = "Discharged"; - chargeStatus.style.backgroundColor = "white"; - initCircuitBreakers(); - } -}); -//////////////////////// +const enablePower = () => { + let instructionStep = 1; + const powerInstructionsArr = [ + `Your first step is to help restore power to the main systems of the park. Lucky for you the physical fusebox has been replaced and is now a virtual interface that is running on backup power, but you'll still need to follow the steps to get full power on again.`, + `Begin by toggling the breaker switches until the current voltage matches the required voltage.`, + `Good the next step is to charge the breaker capacitor - push the yellow button.`, + `Now, under the words "contact position" there's a round green button that says "push to close!", push it!`, + `Final step. The red buttons turn on the individual park systems. Switch them on.` + ]; -// Open code -const openButton = document.getElementById("power-open"); -openButton.addEventListener("click", () => { - if (breakerStatus.innerHTML === "Closed") { - breakerStatus.innerHTML = "Open"; - breakerStatus.style.backgroundColor = "#148e42"; + loadInstructions(powerInstructionsArr); + // Voltage toggles + const voltageDisplay = document.getElementById("current-voltage"); + const voltageToggleInputs = document.querySelectorAll('input[type="radio"]'); + + const updateVoltage = () => { + let targetVoltage = 220; + let totalVoltage = 0; for (let i = 0; i < voltageToggleInputs.length; i++) { - if (i % 2 === 0) { - voltageToggleInputs[i].click(); + if (voltageToggleInputs[i].checked) { + totalVoltage += parseInt(voltageToggleInputs[i].value); } } + voltageDisplay.innerHTML = totalVoltage; + if (totalVoltage === targetVoltage) { + instructionStep++; + showNextStep(powerInstructionsArr, instructionStep); + } + }; + + for (let i = 0; i < voltageToggleInputs.length; i++) { + voltageToggleInputs[i].addEventListener("click", event => { + updateVoltage(); + }); } - resetCircuitBreakers(); -}); + + updateVoltage(); + //////////////////////// + // Charge code + const chargeButton = document.getElementById("power-charge"); + const chargeStatus = document.getElementById("charge-status"); + const targetVoltage = 220; + chargeButton.addEventListener("click", () => { + let currentVoltage = parseInt(voltageDisplay.innerHTML); + if (currentVoltage === targetVoltage) { + chargeStatus.innerHTML = "Charged"; + chargeStatus.style.backgroundColor = "#f6e100"; + } else { + chargeStatus.innerHTML = "Discharged"; + } + }); + //////////////////////// + + // Contact code + const closeButton = document.getElementById("power-close"); + const breakerStatus = document.getElementById("contact-status"); + closeButton.addEventListener("click", () => { + if (chargeStatus.innerHTML === "Charged") { + breakerStatus.innerHTML = "Closed"; + breakerStatus.style.backgroundColor = "red"; + chargeStatus.innerHTML = "Discharged"; + chargeStatus.style.backgroundColor = "white"; + initCircuitBreakers(); + } + }); + //////////////////////// + + // Open code + const openButton = document.getElementById("power-open"); + openButton.addEventListener("click", () => { + if (breakerStatus.innerHTML === "Closed") { + breakerStatus.innerHTML = "Open"; + breakerStatus.style.backgroundColor = "#148e42"; + for (let i = 0; i < voltageToggleInputs.length; i++) { + if (i % 2 === 0) { + voltageToggleInputs[i].click(); + } + } + } + resetCircuitBreakers(); + }); + //////////////////////// +}; +enablePower(); //////////////////////// // Control panel buttons @@ -291,15 +332,3 @@ trashIcon.addEventListener("click", () => { trashModal.classList.add("modal-active"); }); /////////////////// - -// Instructions Content -const powerInstructionsOne = `Your next step is to help restore power to the main systems of the park. Lucky for you the physical fusebox has been replaced and is now a virtual interface that is running on backup power, but you'll still need to follow the steps to get full power on again.`; - -const powerInstructionsTwo = `Begin by toggling the breaker switches until the current voltage matches the required voltage`; - -const powerInstructionsThree = `Good the next step is to charge the breaker capacitor - push the yellow button`; - -const powerInstructionsFour = `Now, under the words "contact position" there's a round green button that says "push to close!", push it!`; - -const powerInstructionsFive = `Final step. The red buttons turn on the individual park systems. Switch them on.`; -/////////////////// diff --git a/public/stylesheets/styles.css b/public/stylesheets/styles.css index 2992ebe..e5c145e 100644 --- a/public/stylesheets/styles.css +++ b/public/stylesheets/styles.css @@ -99,6 +99,10 @@ body { flex-direction: column; } +#main-logo { + width: 200px; +} + .outer-edge__light, .outer-edge__light__no-right-edge { border-left: solid 1px #585356; border-top: solid 1px #585356; diff --git a/public/stylesheets/styles.css.map b/public/stylesheets/styles.css.map index 4467a06..211689c 100644 --- a/public/stylesheets/styles.css.map +++ b/public/stylesheets/styles.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../../sass/components/_buttons.scss","../../sass/base/_base.scss","../../sass/components/_layout.scss","../../sass/components/_instructions-panel.scss","../../sass/components/_borders.scss","../../sass/components/_display-text.scss","../../sass/components/_level-info.scss","../../sass/components/_screen-display.scss","../../sass/components/_video-screen.scss","../../sass/components/_control-panel.scss","../../sass/components/_output-display.scss","../../sass/components/_system-icons.scss","../../sass/components/_modal.scss","../../sass/components/_main-display.scss","../../sass/components/_power-screen.scss"],"names":[],"mappings":"AAkEQ;AClER;AAAA;AAAA;EAGE;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;IACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AC1BF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AC3DF;EACE;;;AAGF;EACE;EACA;EACA;;;ACPF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EAEE;EACA;;;AAGF;EAEE;EACA;;;AAGF;EAEE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AJrEF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EAEE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAIF;AAAA;AAAA;EAGE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AKtLF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;;;ACnEF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AC3DF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;ACtHF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;IACE;;EAEF;IACE;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;ACtKF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AC3BF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AC7BF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AC7CF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;ACxBF;EACE;;;ACDF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EAEE;;;AAGF;EACE;;;AAIF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EAEA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA","file":"styles.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../../sass/components/_buttons.scss","../../sass/base/_base.scss","../../sass/components/_layout.scss","../../sass/components/_instructions-panel.scss","../../sass/components/_borders.scss","../../sass/components/_display-text.scss","../../sass/components/_level-info.scss","../../sass/components/_screen-display.scss","../../sass/components/_video-screen.scss","../../sass/components/_control-panel.scss","../../sass/components/_output-display.scss","../../sass/components/_system-icons.scss","../../sass/components/_modal.scss","../../sass/components/_main-display.scss","../../sass/components/_power-screen.scss"],"names":[],"mappings":"AAkEQ;AClER;AAAA;AAAA;EAGE;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;IACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AC1BF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AC3DF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;ACXF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EAEE;EACA;;;AAGF;EAEE;EACA;;;AAGF;EAEE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AJrEF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EAEE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAIF;AAAA;AAAA;EAGE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AKtLF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;;;ACnEF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AC3DF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;ACtHF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;IACE;;EAEF;IACE;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;ACtKF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AC3BF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AC7BF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AC7CF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;ACxBF;EACE;;;ACDF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EAEE;;;AAGF;EACE;;;AAIF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EAEA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA","file":"styles.css"} \ No newline at end of file diff --git a/sass/components/_instructions-panel.scss b/sass/components/_instructions-panel.scss index 3ff956a..7c80619 100644 --- a/sass/components/_instructions-panel.scss +++ b/sass/components/_instructions-panel.scss @@ -6,4 +6,8 @@ flex: 1; display: flex; flex-direction: column; +} + +#main-logo { + width: 200px; } \ No newline at end of file