Spaces:
Paused
Paused
Download client/src/hooks/useFacePokeAPI.ts from PatternBreak/FacePoke: direct link, hf CLI and curl.
- Browser
- Download file 1.14 kB
-
https://huggingface.co/spaces/PatternBreak/FacePoke/resolve/51bf5f1f0d12f4e4f3f7d746fc20664dfcb768ed/client/src/hooks/useFacePokeAPI.ts
- Command line
-
hf download hf://spaces/PatternBreak/FacePoke@51bf5f1f0d12f4e4f3f7d746fc20664dfcb768ed/client/src/hooks/useFacePokeAPI.ts
-
curl -L -o useFacePokeAPI.ts https://huggingface.co/spaces/PatternBreak/FacePoke/resolve/51bf5f1f0d12f4e4f3f7d746fc20664dfcb768ed/client/src/hooks/useFacePokeAPI.ts
1.14 kB
| import { useEffect, useState } from "react"; | |
| import { facePoke } from "../lib/facePoke"; | |
| import { useMainStore } from "./useMainStore"; | |
| export function useFacePokeAPI() { | |
| // State for FacePoke | |
| const [status, setStatus] = useState(''); | |
| const [isDebugMode, setIsDebugMode] = useState(false); | |
| const [interruptMessage, setInterruptMessage] = useState<string | null>(null); | |
| const [isLoading, setIsLoading] = useState(false); | |
| // Initialize FacePoke | |
| useEffect(() => { | |
| const urlParams = new URLSearchParams(window.location.search); | |
| setIsDebugMode(urlParams.get('debug') === 'true'); | |
| }, []); | |
| // Handle WebSocket interruptions | |
| useEffect(() => { | |
| const handleInterruption = (event: CustomEvent) => { | |
| setInterruptMessage(event.detail.message); | |
| }; | |
| window.addEventListener('websocketInterruption' as any, handleInterruption); | |
| return () => { | |
| window.removeEventListener('websocketInterruption' as any, handleInterruption); | |
| }; | |
| }, []); | |
| return { | |
| facePoke, | |
| status, | |
| setStatus, | |
| isDebugMode, | |
| setIsDebugMode, | |
| interruptMessage, | |
| isLoading, | |
| setIsLoading, | |
| } | |
| } | |