Settings refactor / add birb
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
<!-- Based on https://codepen.io/tommyho/pen/JjgoZLK -->
|
||||
{# This include replaces the page background with a crazy rainbow animated shader #}
|
||||
|
||||
<canvas id="shaderCanvas"></canvas>
|
||||
<canvas class="hidden" id="shaderCanvas"></canvas>
|
||||
<script src="/js/three.min.js"></script>
|
||||
<script>
|
||||
let scene, camera, renderer, uniforms, material, mesh;
|
||||
@@ -171,52 +171,31 @@
|
||||
uniforms.time.value = timestamp * 0.001;
|
||||
renderer.render(scene, camera);
|
||||
}
|
||||
</script>
|
||||
|
||||
<script>
|
||||
const wooCanvas = document.getElementById("shaderCanvas");
|
||||
const wooToggle = document.getElementById("wooToggle");
|
||||
const wooPreference = localStorage.getItem("wooMode");
|
||||
let forcedWoo = false;
|
||||
|
||||
// Initial preference check on page load
|
||||
if ({% if metadata.wooModeOnByDefault == false %}!wooPreference || {% endif %}wooPreference == 0) {
|
||||
forcedWoo ? null : wooCanvas.classList.add("hidden");
|
||||
wooToggle.checked = false;
|
||||
} else {
|
||||
// Function for when wooMode is toggled on
|
||||
const deployWoo = () => {
|
||||
let wooAudio = new Audio("/audio/30995__unclesigmund__woo-2.mp3");
|
||||
wooAudio.volume = 0.4;
|
||||
wooAudio.play();
|
||||
|
||||
wooCanvas.classList.remove("hidden");
|
||||
wooToggle.checked = true;
|
||||
initWoo();
|
||||
animate(0);
|
||||
};
|
||||
}
|
||||
|
||||
// Handle setting toggle
|
||||
wooToggle.addEventListener('change', function() {
|
||||
if (this.checked) {
|
||||
localStorage.setItem("wooMode", 1);
|
||||
|
||||
let wooAudio = new Audio("/audio/30995__unclesigmund__woo-2.mp3");
|
||||
wooAudio.volume = 0.4;
|
||||
wooAudio.play();
|
||||
|
||||
wooCanvas.classList.remove("hidden");
|
||||
initWoo();
|
||||
animate(0);
|
||||
} else {
|
||||
localStorage.setItem("wooMode", 0);
|
||||
forcedWoo ? null : wooCanvas.classList.add("hidden");
|
||||
};
|
||||
});
|
||||
|
||||
{% if forcedWoo %}
|
||||
// Handle forced woo
|
||||
forcedWoo = true;
|
||||
console.log("Forcing woo mode: woo!");
|
||||
wooCanvas.classList.remove("hidden");
|
||||
initWoo();
|
||||
animate(0);
|
||||
{% endif %}
|
||||
// Function for when wooMode is enabled by default
|
||||
const wooSensibleDefault = () => {
|
||||
wooCanvas.classList.remove("hidden");
|
||||
initWoo();
|
||||
animate(0);
|
||||
}
|
||||
|
||||
// Function for when wooMode is toggled off
|
||||
const withdrawWoo = () => {
|
||||
wooCanvas.classList.add("hidden");
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- /weather -->
|
||||
<!-- /Woo Mode -->
|
||||
|
||||
Reference in New Issue
Block a user