first commit

This commit is contained in:
Versun
2026-04-02 09:25:15 +08:00
commit 5513bcaa0e
1902 changed files with 513237 additions and 0 deletions

15
hooks/useCommandQueue.ts Normal file
View 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)
}