diff --git a/web/assets/js/modules/state.js b/web/assets/js/modules/state.js
index b3e2394..dcc0428 100644
--- a/web/assets/js/modules/state.js
+++ b/web/assets/js/modules/state.js
@@ -68,6 +68,10 @@ export async function initialize() {
// Update the state of the buttons to match the current state
updateButtonState();
+
+ INPUT_ELEMENT.addEventListener("input", () => {
+ updateLineNumbers(INPUT_ELEMENT.value);
+ });
}
// Loads the API information
@@ -89,8 +93,15 @@ function updateCode() {
CODE_ELEMENT.innerHTML = LANGUAGE
? hljs.highlight(LANGUAGE, CODE).value
: hljs.highlightAuto(CODE).value;
+ updateLineNumbers(CODE);
+}
- LINE_NUMBERS_ELEMENT.innerHTML = CODE.split(/\n/).map((_, index) => `${index + 1}`).join("");
+function updateLineNumbers(content) {
+ if (content == "") {
+ LINE_NUMBERS_ELEMENT.innerHTML = ">";
+ return;
+ }
+ LINE_NUMBERS_ELEMENT.innerHTML = content.split(/\n/).map((_, index) => `${index + 1}`).join("");
}
// Updates the button state according to the current state
@@ -122,6 +133,7 @@ function toggleEditMode() {
EDIT_MODE = false;
INPUT_ELEMENT.classList.add("hidden");
CODE_ELEMENT.classList.remove("hidden");
+ updateLineNumbers(CODE);
Animation.animate(BUTTONS_EDIT_ELEMENT, "animate__fadeOutDown", "0.3s", () => {
BUTTONS_EDIT_ELEMENT.classList.add("hidden");
BUTTONS_DEFAULT_ELEMENT.classList.remove("hidden");