Initial Commit
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
import { useEffect, useState } from "react"
|
||||
import { getLastPasteTarget, type PasteTarget } from "@/lib/bridge/bridgeNavigate"
|
||||
|
||||
/** 붙여넣기 대상(소환 직전 창) 스냅샷을 구독 — 어느 화면에서든 쓸 수 있는 공유 훅.
|
||||
* 마운트 시 마지막 값을 읽고, 이후 C#가 보내는 갱신(bridge:pasteTarget)을 반영. */
|
||||
export function usePasteTarget(): PasteTarget {
|
||||
const [target, setTarget] = useState<PasteTarget>(getLastPasteTarget)
|
||||
useEffect(() => {
|
||||
setTarget(getLastPasteTarget())
|
||||
const onTarget = (e: Event) =>
|
||||
setTarget((e as CustomEvent<PasteTarget>).detail ?? { name: "", app: "" })
|
||||
window.addEventListener("bridge:pasteTarget", onTarget)
|
||||
return () => window.removeEventListener("bridge:pasteTarget", onTarget)
|
||||
}, [])
|
||||
return target
|
||||
}
|
||||
Reference in New Issue
Block a user