CoolFace
Apppublic

Dedsecaibagley/codehack-academy-learn-pwn-in-style

sourceHugging Faceupdated 10mo agoView on Hugging Face
0likes
script.js40 linesDownload Raw Back to root
1document.addEventListener('DOMContentLoaded', () => {2    // Initialize tooltips3    const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));4    tooltipTriggerList.map(function (tooltipTriggerEl) {5        return new bootstrap.Tooltip(tooltipTriggerEl);6    });7 8    // Theme toggle functionality9    const themeToggle = document.getElementById('theme-toggle');10    if (themeToggle) {11        themeToggle.addEventListener('click', () => {12            document.documentElement.classList.toggle('dark');13            localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light');14        });15    }16 17    // Check for saved theme preference18    if (localStorage.getItem('theme') === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {19        document.documentElement.classList.add('dark');20    } else {21        document.documentElement.classList.remove('dark');22    }23});24 25// Dynamic import of code editor for interactive lessons26function loadCodeEditor() {27    return import('https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.2/codemirror.min.js')28        .then(() => {29            return import('https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.2/mode/python/python.min.js');30        })31        .then(() => {32            return import('https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.2/mode/clike/clike.min.js');33        })34        .then(() => {35            return import('https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.2/mode/javascript/javascript.min.js');36        })37        .then(() => {38            console.log('CodeMirror and all language modes loaded');39        });40}