Customize delay of rendering Mechyrdia Sans
authorLanius Trolling <lanius@laniustrolling.dev>
Sun, 4 Feb 2024 15:04:28 +0000 (10:04 -0500)
committerLanius Trolling <lanius@laniustrolling.dev>
Sun, 4 Feb 2024 15:04:28 +0000 (10:04 -0500)
src/jvmMain/resources/static/init.js

index b444c939ccdcda4f27eed079d5d99699d2d5b27c..dda9919fa83fb3668995bed18d055e527b63206c 100644 (file)
 
        window.addEventListener("load", function () {
                // Mechyrdian font
-               async function mechyrdianToFont(input, boldOpt, italicOpt, alignOpt, output) {
+               async function mechyrdianToFont(input, boldOpt, italicOpt, alignOpt, output, delayLength) {
                        const inText = input.value;
 
-                       await delay(1500);
+                       await delay(delayLength);
                        if (inText !== input.value) return;
 
                        let queryString = "?";
                        const alignOpt = mechyrdiaSansBox.getElementsByClassName("align-opts")[0];
                        const outputBox = mechyrdiaSansBox.getElementsByClassName("output-img")[0];
 
-                       const inputListener = () => mechyrdianToFont(inputBox, boldOpt, italicOpt, alignOpt, outputBox);
-                       boldOpt.addEventListener("change", inputListener);
-                       italicOpt.addEventListener("change", inputListener);
-                       alignOpt.addEventListener("change", inputListener);
+                       const inputListener = () => mechyrdianToFont(inputBox, boldOpt, italicOpt, alignOpt, outputBox, 1250);
+                       const optChangeListener = () => mechyrdianToFont(inputBox, boldOpt, italicOpt, alignOpt, outputBox, 500);
                        inputBox.addEventListener("input", inputListener);
+                       boldOpt.addEventListener("change", optChangeListener);
+                       italicOpt.addEventListener("change", optChangeListener);
+                       alignOpt.addEventListener("change", optChangeListener);
                }
        });