diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index b205181..8a61a44 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -4,6 +4,17 @@ import links from "../data/links.json"; const pages = getPages(); + + function updateCharCount(_) { + const message = document.getElementById("ntfy-message").value; + const el = document.getElementById("ntfy-char-count"); + + if (message.length >= 15 && message.length <= 128) + el.setAttribute("style", "color: var(--success);"); + else el.setAttribute("style", "color: var(--error);"); + + el.innerText = 128 - message.length; + } </script> <main id="main-content"> @@ -343,18 +354,24 @@ </p> <input + on:input={updateCharCount} type="text" id="ntfy-message" + name="ntfy-message" placeholder="Message" minlength="15" maxlength="128" /> + <label for="ntfy-message" id="ntfy-char-count" style="color: var(--error);"> + 128 + </label> + <br /> <button on:click={() => { const message = document.getElementById("ntfy-message").value; if (message.length < 15) return alert( - `Message must be 15 to 128 chars. Current length is ${message.length}`, + `Message must be 15 to 128 characters. Current length is ${message.length}`, ); fetch("https://ntfy.meow.company/pancakes", { method: "POST", @@ -366,6 +383,7 @@ }, }); }} + style="margin-top: 1rem;" > Send </button>