feat(chat): handle credit-gated send responses
This commit is contained in:
@@ -206,6 +206,10 @@ export const chatMachine = setup({
|
||||
clearUpgradePrompt: assign(() => ({
|
||||
upgradePromptVisible: false,
|
||||
upgradeReason: null,
|
||||
canSendMessage: true,
|
||||
cannotSendReason: null,
|
||||
requiredCredits: 0,
|
||||
shortfallCredits: 0,
|
||||
})),
|
||||
|
||||
markPaymentUnlockPending: assign(() => ({
|
||||
@@ -306,7 +310,8 @@ export const chatMachine = setup({
|
||||
on: {
|
||||
ChatSendMessage: {
|
||||
actions: ["appendGuestUserMessage", "enqueueMessage"],
|
||||
guard: ({ event }) => event.content.trim().length > 0,
|
||||
guard: ({ context, event }) =>
|
||||
context.canSendMessage && event.content.trim().length > 0,
|
||||
},
|
||||
ChatSendImage: {
|
||||
actions: "appendGuestUserImage",
|
||||
@@ -441,7 +446,8 @@ export const chatMachine = setup({
|
||||
ready: {
|
||||
on: {
|
||||
ChatSendMessage: {
|
||||
guard: ({ event }) => event.content.trim().length > 0,
|
||||
guard: ({ context, event }) =>
|
||||
context.canSendMessage && event.content.trim().length > 0,
|
||||
actions: ["appendUserMessage", "enqueueMessage"],
|
||||
},
|
||||
ChatSendImage: {
|
||||
|
||||
Reference in New Issue
Block a user