22 lines
562 B
TypeScript
22 lines
562 B
TypeScript
import { useEffect } from "react";
|
|
import { useChatStore } from "../store/chat";
|
|
|
|
export default function useHotKey() {
|
|
const chatStore = useChatStore();
|
|
|
|
useEffect(() => {
|
|
const onKeyDown = (e: KeyboardEvent) => {
|
|
if (e.altKey || e.ctrlKey) {
|
|
if (e.key === "ArrowUp") {
|
|
chatStore.nextSession(-1);
|
|
} else if (e.key === "ArrowDown") {
|
|
chatStore.nextSession(1);
|
|
}
|
|
}
|
|
};
|
|
|
|
window.addEventListener("keydown", onKeyDown);
|
|
return () => window.removeEventListener("keydown", onKeyDown);
|
|
});
|
|
}
|