feat: init waitlist website

Co-authored-by: Ona <no-reply@ona.com>
This commit is contained in:
2026-03-08 00:19:23 +00:00
parent badc00c43b
commit 2364f0c86b
29 changed files with 3097 additions and 27 deletions

View File

@@ -0,0 +1,23 @@
import { useEffect, useMemo, useState } from "react"
export function useFakeStreaming(fullContent: string) {
const [currentContent, setCurrentContent] = useState("")
const [isStreaming, setIsStreaming] = useState(true)
useEffect(() => {
const words = fullContent.split(" ")
let i = 0
const id = setInterval(() => {
if (i > words.length) {
setIsStreaming(false)
clearInterval(id)
} else {
setCurrentContent(words.slice(0, i).join(" ") + " ")
i++
}
}, 20)
}, [fullContent])
return useMemo(() => ({ currentContent, isStreaming }), [currentContent, isStreaming])
}