179 lines
3.4 KiB
TypeScript
179 lines
3.4 KiB
TypeScript
import { goto } from '$app/navigation';
|
|
import { PUBLIC_TAURI } from '$env/static/public';
|
|
import type { ExpanderType } from "./index.d.ts";
|
|
import { getCurrentWindow } from "@tauri-apps/api/window";
|
|
import { incTextSize, decTextSize, selectNextColor, toggleMenuOpen, appState } from "$lib/stores.svelte"
|
|
|
|
let fullscreen = true;
|
|
export const defaultExpanders: Map<string, ExpanderType> = new Map();
|
|
export const hotkeys: Map<string, any> = new Map();
|
|
|
|
defaultExpanders.set("\n", {
|
|
key: { keyCode: 188, shiftKey: false },
|
|
symbol: "\n",
|
|
fullstop: true,
|
|
});
|
|
defaultExpanders.set(" ", {
|
|
key: { keyCode: 190, shiftKey: false },
|
|
symbol: " ",
|
|
fullstop: false,
|
|
});
|
|
defaultExpanders.set(".", {
|
|
key: { keyCode: 190, shiftKey: false },
|
|
symbol: ".",
|
|
fullstop: true,
|
|
});
|
|
defaultExpanders.set("!", {
|
|
key: { keyCode: 49, shiftKey: true },
|
|
symbol: "!",
|
|
fullstop: true,
|
|
});
|
|
defaultExpanders.set("?", {
|
|
key: { keyCode: 187, shiftKey: true },
|
|
symbol: "?",
|
|
fullstop: true,
|
|
});
|
|
defaultExpanders.set("+", {
|
|
key: { keyCode: 187, shiftKey: false },
|
|
symbol: "+",
|
|
fullstop: false,
|
|
});
|
|
defaultExpanders.set(",", {
|
|
key: { keyCode: 188, shiftKey: false },
|
|
symbol: ",",
|
|
fullstop: false,
|
|
});
|
|
defaultExpanders.set("(", {
|
|
key: { keyCode: 56, shiftKey: true },
|
|
symbol: "(",
|
|
fullstop: false,
|
|
});
|
|
defaultExpanders.set(")", {
|
|
key: { keyCode: 57, shiftKey: true },
|
|
symbol: ")",
|
|
fullstop: false,
|
|
});
|
|
defaultExpanders.set('"', {
|
|
key: { keyCode: 50, shiftKey: true },
|
|
symbol: '"',
|
|
fullstop: false,
|
|
});
|
|
defaultExpanders.set("'", {
|
|
key: { keyCode: 191, shiftKey: false },
|
|
symbol: "'",
|
|
fullstop: false,
|
|
});
|
|
defaultExpanders.set("-", {
|
|
key: { keyCode: 189, shiftKey: false },
|
|
symbol: "-",
|
|
fullstop: false,
|
|
});
|
|
defaultExpanders.set(":", {
|
|
key: { keyCode: 190, shiftKey: true },
|
|
symbol: ":",
|
|
fullstop: false,
|
|
});
|
|
defaultExpanders.set(",", {
|
|
key: { keyCode: 188, shiftKey: false },
|
|
symbol: ",",
|
|
fullstop: false,
|
|
});
|
|
defaultExpanders.set(";", {
|
|
key: { keyCode: 188, shiftKey: true },
|
|
symbol: ":",
|
|
fullstop: false,
|
|
});
|
|
|
|
hotkeys.set("Home", {
|
|
action: (e) => {
|
|
e.preventDefault()
|
|
appState.debug = !appState.debug;
|
|
}
|
|
})
|
|
|
|
hotkeys.set("F4", {
|
|
action: (e) => {
|
|
e.preventDefault()
|
|
console.log("Clear text", appState.text)
|
|
appState.text = ""
|
|
}
|
|
})
|
|
|
|
hotkeys.set("F5", {
|
|
action: (e) => {
|
|
e.preventDefault()
|
|
toggleMenuOpen()
|
|
console.log("Menu open", appState.menuOpen)
|
|
}
|
|
})
|
|
|
|
hotkeys.set("F6", {
|
|
action: (e) => {
|
|
e.preventDefault()
|
|
console.log("Decrease text size")
|
|
decTextSize()
|
|
}
|
|
})
|
|
|
|
hotkeys.set("F7", {
|
|
action: (e) => {
|
|
e.preventDefault()
|
|
console.log("Increase text size")
|
|
incTextSize()
|
|
}
|
|
})
|
|
|
|
hotkeys.set("F8", {
|
|
action: (e) => {
|
|
e.preventDefault()
|
|
console.log("Increase text size")
|
|
selectNextColor()
|
|
}
|
|
})
|
|
|
|
hotkeys.set("F2", {
|
|
action: (e) => {
|
|
e.preventDefault()
|
|
toggleMenuOpen(false)
|
|
appState.open = "create"
|
|
}
|
|
})
|
|
|
|
hotkeys.set("F11", {
|
|
action: (e) => {
|
|
console.log("Toggle fullscreen")
|
|
console.log(PUBLIC_TAURI)
|
|
if (PUBLIC_TAURI == true) {
|
|
e.preventDefault()
|
|
if (fullscreen) {
|
|
getCurrentWindow().setFullscreen(false).then(() => {
|
|
fullscreen = false
|
|
|
|
|
|
});
|
|
} else {
|
|
getCurrentWindow().setFullscreen(true).then(() => {
|
|
fullscreen = true
|
|
|
|
});
|
|
}
|
|
}
|
|
}
|
|
})
|
|
|
|
hotkeys.set("F12", {
|
|
action: (e) => {
|
|
e.preventDefault()
|
|
console.log("Open import page")
|
|
goto("/import")
|
|
}
|
|
})
|
|
|
|
hotkeys.set("Escape", {
|
|
action: (e) => {
|
|
e.preventDefault()
|
|
console.log("Close stuff")
|
|
appState.open = ""
|
|
}
|
|
})
|