Faisal Amir a4f5fda104
fix: avoid lose title threads (#3307)
* fix: avoid lose title threads

* fix: create cont default thread title
2024-08-09 09:39:04 +07:00

35 lines
739 B
TypeScript

import React, { useState, useEffect } from 'react'
type Props = {
text: string
speed: number
}
const TypingAnimated: React.FC<Props> = ({ text, speed }) => {
const [displayedText, setDisplayedText] = useState('')
const [index, setIndex] = useState(0)
useEffect(() => {
const typingEffect = setInterval(() => {
if (text.length) {
setDisplayedText(text.substring(0, index + 1))
setIndex(index + 1)
} else {
clearInterval(typingEffect)
}
}, speed)
return () => {
clearInterval(typingEffect)
}
}, [index, speed, text])
return (
<span className="line-clamp-1 group-hover/message:pr-6">
{displayedText}
</span>
)
}
export default TypingAnimated