chore: uptick

This commit is contained in:
Brooklyn Nicholson 2026-04-07 20:44:18 -05:00
parent 9c2c9e3a3e
commit b397c91d4a
10 changed files with 136 additions and 290 deletions

View file

@ -0,0 +1,35 @@
import { useRef, useState } from 'react'
export function useQueue() {
const queueRef = useRef<string[]>([])
const [queuedDisplay, setQueuedDisplay] = useState<string[]>([])
const queueEditRef = useRef<number | null>(null)
const [queueEditIdx, setQueueEditIdx] = useState<number | null>(null)
const syncQueue = () => setQueuedDisplay([...queueRef.current])
const setQueueEdit = (idx: number | null) => {
queueEditRef.current = idx
setQueueEditIdx(idx)
}
const enqueue = (text: string) => {
queueRef.current.push(text)
syncQueue()
}
const dequeue = () => {
const [head, ...rest] = queueRef.current
queueRef.current = rest
syncQueue()
return head
}
const replaceQ = (i: number, text: string) => {
queueRef.current[i] = text
syncQueue()
}
return { queueRef, queueEditRef, queuedDisplay, queueEditIdx, enqueue, dequeue, replaceQ, setQueueEdit, syncQueue }
}