summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2024-09-23 21:10:52 +0200
committerYuval Adam <_@yuv.al>2024-09-23 21:10:52 +0200
commit13f72ed52414e1319f71e5216b1ca5843be53bfc (patch)
tree48fdceb5d84553a1e25ca82885c01203511701f5
parent3d8a09359c46eb5b9a85616eeb02e8a6a3986e0a (diff)
Restore focus behavior on . and / keydown, fixes #91
-rw-r--r--app/page.tsx22
1 files changed, 20 insertions, 2 deletions
diff --git a/app/page.tsx b/app/page.tsx
index 7f702a4..0c8eaa0 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -50,12 +50,30 @@ export default function Cidr() {
const target = event.currentTarget as HTMLInputElement;
let value = parseInt(target.value);
- if (event.key == "ArrowDown" && value > min) {
+ if (event.key === "ArrowDown" && value > min) {
value -= 1;
}
- if (event.key == "ArrowUp" && value < max) {
+ else if (event.key === "ArrowUp" && value < max) {
value += 1;
}
+ else if (event.key === '.') {
+ event.preventDefault();
+ const parent = (event.target as Node).parentNode;
+ const next = parent?.nextSibling?.firstChild;
+ if (next instanceof HTMLInputElement) {
+ next.select();
+ next.focus();
+ }
+ }
+ else if (event.key === "/") {
+ event.preventDefault();
+ const parent = (event.target as Node).parentNode;
+ const mask = parent?.nextSibling;
+ if (mask instanceof HTMLInputElement) {
+ mask.select();
+ mask.focus();
+ }
+ }
if (i == 4) {
setCidr(value);