···11+# Corru-Diver
22+33+Small mod for [corru.observer](https://corru.observer) to add fullscreen support. Find the button in the mindspike system menu, next to the RETURN button.
+41
corru-diver.js
···11+document.addEventListener("corru_loaded", () => {
22+ // Create Full Dive button.
33+ let diveButton = document.createElement("div");
44+ diveButton.classList.add("menureturn");
55+ diveButton.classList.add("button");
66+ diveButton.setAttribute("onclick", "document.fullscreenElement ? document.documentElement.requestFullscreen() : document.exitFullscreen();");
77+88+ // Set up handlers to change text.
99+ function exitedFullDive() {
1010+ diveButton.innerText = "FULL DIVE";
1111+ diveButton.setAttribute("definition", "NOTICE::'disconnect external senses';'allows messages from connected terminals';'press esc to resurface'");
1212+ };
1313+ function enteredFullDive() {
1414+ diveButton.innerText = "EXIT FULL DIVE";
1515+ diveButton.setAttribute("definition", "NOTICE::'reconnect external senses';'maintains ocular and sonic feeds from mindspike'");
1616+ };
1717+ function fullDiveError() {
1818+ diveButton.innerText = "DIVE ERROR";
1919+ diveButton.setAttribute("definition", "NOTICE::'failed to disconnect senses';'additional information unavailable';'maybe check out the browser console?'");
2020+ diveButton.removeAttribute("onclick");
2121+ diveButton.style.color = "var(--bastard-color)";
2222+ diveButton.style.background-color = "var(--dark-color)";
2323+ }
2424+2525+ // Set up initial button state.
2626+ exitedFullDive();
2727+2828+ // Keep button state updated.
2929+ document.addEventListener("fullscreenchange", () => {
3030+ if (document.fullscreenElement)
3131+ enteredFullDive();
3232+ else
3333+ exitedFullDive();
3434+ });
3535+ document.addEventListener("fullscreenerror", fullDiveError);
3636+3737+ // Insert button into main system menu.
3838+ document.querySelector("#system-menu .menureturn").after(" ", diveButton);
3939+ diveButton.addEventListener('mouseenter', () => play('muiHover'))
4040+ diveButton.addEventListener('click', () => play('muiClick'))
4141+});