Files
coco-app/src/hooks/useWindowEvents.ts
ayangweb 118eaa55e3 feat: voice input support for search and chat (#302)
* feat: voice input support for search and chat

* chore: add mic-recorder plugin

* refactor: check microphone permission before recording

* feat: realize sound wave effects

* chore: remove mic-recorder plugin
2025-03-24 09:17:09 +08:00

29 lines
740 B
TypeScript

import { useEffect } from "react";
import { useAppStore } from "@/stores/appStore";
import platformAdapter from "@/utils/platformAdapter";
export function useWindowEvents() {
const isPinned = useAppStore((state) => state.isPinned);
const visible = useAppStore((state) => state.visible);
useEffect(() => {
const handleBlur = async () => {
console.log("Window blurred");
if (isPinned || visible) {
return;
}
await platformAdapter.hideWindow();
console.log("Hide Coco");
};
window.addEventListener("blur", handleBlur);
// Clean up event listeners on component unmount
return () => {
window.removeEventListener("blur", handleBlur);
};
}, [isPinned, visible]);
}