init
This commit is contained in:
commit
ec53fcbe95
1905 changed files with 513762 additions and 0 deletions
15
hooks/useCommandQueue.ts
Normal file
15
hooks/useCommandQueue.ts
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
import { useSyncExternalStore } from 'react'
|
||||
import type { QueuedCommand } from '../types/textInputTypes.js'
|
||||
import {
|
||||
getCommandQueueSnapshot,
|
||||
subscribeToCommandQueue,
|
||||
} from '../utils/messageQueueManager.js'
|
||||
|
||||
/**
|
||||
* React hook to subscribe to the unified command queue.
|
||||
* Returns a frozen array that only changes reference on mutation.
|
||||
* Components re-render only when the queue changes.
|
||||
*/
|
||||
export function useCommandQueue(): readonly QueuedCommand[] {
|
||||
return useSyncExternalStore(subscribeToCommandQueue, getCommandQueueSnapshot)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue