跳到內容
Yuva chat選單

Yuva chat

Live chat for a page or an app: header with the agent's avatar and reply time, conversation list, thread, composer and the e-mail confirmation card, in a plain card or a lined variant.

CW

Chat with us

預覽使用範例資料執行,不需要網路,也不需要頻道。

YuvaChatEmail

ask
Where can we reach you?
Leave your e-mail so replies reach you when you are away.
sent
Check your inboxWe sent a link to ada@example.com. Open it so replies reach you by e-mail.
undeliverable
confirmed

Replies will also reach ada@example.com

預覽使用範例資料執行,不需要網路,也不需要頻道。

安裝

在 shadcn 專案中執行。檔案會複製到你自己的程式碼裡。

Shell
npx shadcn@latest add https://useyuva.com/r/yuva-chat.json

用法

tsx
import { YuvaChat } from "@/components/yuva-chat"

<YuvaChat server={server} channel={channel} />

Props

YuvaChatProps

Prop類型
server?string
channel?string
client?YuvaClient
identityToken?IdentityTokenSource | null
helpArticleId?string
labels?Partial<YuvaChatLabels>
locale?string
confirmation?React.ReactNode
variant?"default" | "lined"
onCapture?() => File | null | undefined | Promise<File | null | undefined>
className?string

YuvaChatEmailProps

Prop類型
chatYuvaChatState
labels?Partial<YuvaChatLabels>
className?string

標籤

每個標籤都有英文預設值。傳入部分 labels 物件即可修改或翻譯。

標籤預設值
title"Chat with us"
online"Online"
away"Away"
repliesWithin(minutes) => `Usually replies in ${minutes} min`
onlineReplies"Online · replies in minutes"
repliesHours"Usually replies in a few hours"
repliesDays"Usually replies in a day or two"
reconnecting"Reconnecting…"
loading"Loading"
loadError"Could not load the chat."
retry"Try again"
back"Back"
conversations"Conversations"
newConversation"New conversation"
noConversations"No conversations yet"
conversationRemoved"This conversation is no longer available."
noConversationsHint"Start one and we will answer here."
loadMore"Show more"
conversationFallback"Conversation"
unread"Unread"
emptyTitle"Say hello"
emptyDescription"Ask us anything. We reply here."
loadEarlier"Show earlier messages"
messages"Messages"
today"Today"
yesterday"Yesterday"
team"Support"
bot"Assistant"
seen"Seen"
sending"Sending…"
sendFailed"Not sent"
remove"Remove"
download"Download"
removed"This message was removed"
typing(name) => `${name} is typing`
typingSomeone"Typing"
jumpToLatest(unread) => (unread > 0 ? `${unread} new, jump to latest` : "Jump to latest")
newCount(unread) => `${unread} new`
closed"Conversation closed"
rateQuestion"How was this conversation?"
rateGood"Good"
rateBad"Bad"
rated"Thanks for your feedback."
placeholder"Write a message"
attach"Attach a file"
screenshot"Take a screenshot"
fileTooLarge(name, limit) => `${name} is too large. The limit is ${limit}.`
fileTypeNotAccepted(name) => `${name} is not an accepted file type.`
send"Send"
enterKey"Enter"
toSend"to send"
generic"Something went wrong. Try again."
offline"You seem to be offline."
rateLimited"Too many messages. Wait a moment."
emailLabel"E-mail address"
emailPlaceholder"you@example.com"
emailSave"Save"
emailAskTitle"Where can we reach you?"
emailAskHint"Leave your e-mail so replies reach you when you are away."
emailSentTitle"Check your inbox"
emailSent"We sent a link to {address}. Open it so replies reach you by e-mail."
emailChange"Change address"
emailResend"Send again"
emailResent"Sent again."
emailLimited"We couldn't send the confirmation now. Try again later."
emailUndeliverableTitle"We couldn't reach {address}"
emailUndeliverableHint"That address doesn't accept mail. Check it for a typo."
emailConfirmed"Replies will also reach {address}"

相依套件

安裝此項目時還會加入以下內容。

來自 shadcn/ui 的元件

其他 Yuva 項目

npm 套件