feat(payment): add chat support discounts and gratitude
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import { createRemoteUiMessageIdentity, type UiMessage } from "../ui-message";
|
||||
import { todayString } from "@/utils/date";
|
||||
|
||||
export interface IncomingCommercialMessage {
|
||||
messageId: string;
|
||||
message: string;
|
||||
characterId: string;
|
||||
createdAt: string;
|
||||
}
|
||||
|
||||
export function appendCommercialMessage(
|
||||
messages: readonly UiMessage[],
|
||||
activeCharacterId: string,
|
||||
incoming: IncomingCommercialMessage,
|
||||
): UiMessage[] {
|
||||
if (incoming.characterId !== activeCharacterId) return [...messages];
|
||||
if (messages.some((message) => message.remoteId === incoming.messageId)) {
|
||||
return [...messages];
|
||||
}
|
||||
const createdAt = new Date(incoming.createdAt);
|
||||
return [
|
||||
...messages,
|
||||
{
|
||||
...createRemoteUiMessageIdentity(incoming.messageId, true),
|
||||
content: incoming.message,
|
||||
isFromAI: true,
|
||||
date: todayString(Number.isNaN(createdAt.getTime()) ? new Date() : createdAt),
|
||||
},
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user