use hash mode in vue router

- rename keyboard.ts -> useKeyboard.ts
This commit is contained in:
geoffrey45
2022-06-09 19:47:38 +03:00
parent c1834778f1
commit a14f35b0e5
10 changed files with 36 additions and 500 deletions
+84
View File
@@ -0,0 +1,84 @@
import { Store } from "pinia";
let key_down_fired = false;
function focusSearchBox() {
const elem = document.getElementById("search");
elem.focus();
}
export default function (queue: any) {
window.addEventListener("keydown", (e: any) => {
let target = e.target;
let ctrlKey = e.ctrlKey;
function FocusedOnInput(target: any) {
return target.tagName === "INPUT" || target.tagName === "TEXTAREA";
}
if (FocusedOnInput(target)) return;
switch (e.key) {
case "ArrowRight":
{
if (!key_down_fired) {
key_down_fired = true;
setTimeout(() => {
key_down_fired = false;
}, 1000);
queue.playNext();
}
}
break;
case "ArrowLeft":
{
if (!key_down_fired) {
key_down_fired = true;
queue.playPrev();
setTimeout(() => {
key_down_fired = false;
}, 1000);
}
}
break;
case " ":
{
if (!key_down_fired) {
e.preventDefault();
key_down_fired = true;
queue.playPause();
}
}
break;
case "f": {
if (!key_down_fired) {
if (!ctrlKey) return;
e.preventDefault();
key_down_fired = true;
}
}
case "/": {
{
e.preventDefault();
focusSearchBox();
}
}
}
});
}
window.addEventListener("keyup", () => {
key_down_fired = false;
});