forked from ComputerTech/bastebin
fix: line numbers button for plain text and initial render
This commit is contained in:
parent
4199090913
commit
636d4c919e
|
|
@ -86,27 +86,22 @@ function initLineNumbers() {
|
||||||
viewPre.classList.add('line-numbers');
|
viewPre.classList.add('line-numbers');
|
||||||
} else {
|
} else {
|
||||||
viewPre.classList.remove('line-numbers');
|
viewPre.classList.remove('line-numbers');
|
||||||
}
|
|
||||||
localStorage.setItem('show_line_numbers', checked);
|
|
||||||
|
|
||||||
// Re-highlight if a language is selected to force Prism to update the numbers span
|
|
||||||
const code = document.getElementById('codeBlock');
|
|
||||||
if (code && (code.className.includes('language-') || viewPre.className.includes('language-'))) {
|
|
||||||
// Prism's line-numbers plugin needs to clean up if turning off
|
|
||||||
if (!checked) {
|
|
||||||
const existing = viewPre.querySelector('.line-numbers-rows');
|
const existing = viewPre.querySelector('.line-numbers-rows');
|
||||||
if (existing) existing.remove();
|
if (existing) existing.remove();
|
||||||
}
|
}
|
||||||
|
localStorage.setItem('show_line_numbers', checked);
|
||||||
|
|
||||||
|
// Always re-highlight so Prism's line-numbers plugin runs (works for plain text too)
|
||||||
|
const code = document.getElementById('codeBlock');
|
||||||
|
if (code) {
|
||||||
Prism.highlightElement(code);
|
Prism.highlightElement(code);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
toggle.addEventListener('change', updateLines);
|
toggle.addEventListener('change', updateLines);
|
||||||
|
|
||||||
// Initial state
|
// Apply initial state (calls Prism so line numbers render without needing a toggle)
|
||||||
if (isEnabled) {
|
updateLines();
|
||||||
viewPre.classList.add('line-numbers');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderPaste(paste) {
|
function renderPaste(paste) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue