mypastebin/static/js/pygments-style.js
2025-05-29 22:40:58 +02:00

40 lines
1.6 KiB
JavaScript

document.addEventListener("DOMContentLoaded", function () {
const styleSelector = document.getElementById("pygments-style");
if (!styleSelector) return;
// Función para actualizar el selector según el tema activo
function updatePygmentsSelector() {
const currentTheme = document.body.dataset.theme; // 'light' o 'dark'
const defaultStyle = currentTheme === "dark" ? "monokai" : "default";
// Cambiar el valor en el selector
styleSelector.value = defaultStyle;
// Aplicar el nuevo estilo
document.querySelectorAll('link[id^="pygments-"]').forEach(link => link.disabled = true);
const selectedLink = document.getElementById(`pygments-${defaultStyle}`);
if (selectedLink) selectedLink.disabled = false;
}
// Ejecutar al cargar la página
updatePygmentsSelector();
// Escuchar cambios en el selector
styleSelector.addEventListener("change", function () {
const selectedStyle = this.value;
// Deshabilita todos los estilos de Pygments
document.querySelectorAll('link[id^="pygments-"]').forEach(link => link.disabled = true);
// Habilita el estilo seleccionado
const selectedLink = document.getElementById(`pygments-${selectedStyle}`);
if (selectedLink) selectedLink.disabled = false;
});
// Escuchar cambios en el tema y actualizar el selector
document.getElementById("theme-toggle").addEventListener("click", function () {
setTimeout(updatePygmentsSelector, 100); // Pequeño delay para que el cambio del tema se aplique
});
});