ghp / packages /client /src /hooks /useChat.ts
QSLY's picture
deploy: build Hugging Face Space from source
00a912e
Raw
History Blame Contribute Delete
665 Bytes
import { useCallback } from 'react'
import { EVENTS, LIMITS } from '@music-together/shared'
import { useSocketContext } from '@/providers/socket-context'
import { toast } from 'sonner'
export function useChat() {
const { socket } = useSocketContext()
const sendMessage = useCallback(
(content: string) => {
const trimmed = content.trim()
if (!trimmed) return
if (trimmed.length > LIMITS.CHAT_CONTENT_MAX_LENGTH) {
toast.error(`消息不能超过 ${LIMITS.CHAT_CONTENT_MAX_LENGTH} 个字符`)
return
}
socket.emit(EVENTS.CHAT_MESSAGE, { content: trimmed })
},
[socket],
)
return { sendMessage }
}