Source-only publication of reviewed commit 64e96a7f423673dc29ad56485be9fc79bce8af1c.
Passed in isolation: focused frontend/backend tests, race checks, TypeScript typecheck, lint, Go compilation, Flowgram build, and deterministic SDK build/tests.
Not accepted as a production release: Next.js export/native assembly remains blocked by environment memory limits; browser interaction and MySQL staging acceptance remain unverified. No production server, database/schema, runtime configuration, deployment, release tag, or workflow execution was performed.
Expected source tree: 0a4a7528e9.
46 lines
1.2 KiB
TypeScript
46 lines
1.2 KiB
TypeScript
// Modified in the independent hardening fork; see docs/hardening/README.md.
|
|
// Modified for AgentDeskFixes: forward customer conversation identity and pending-send state.
|
|
"use client"
|
|
|
|
import {
|
|
SharedMessageEditor,
|
|
type UploadedMessageEditorImage,
|
|
} from "@/components/chat/shared-message-editor"
|
|
|
|
type CustomerMessageEditorProps = {
|
|
conversationId?: number | null
|
|
draftScope?: string
|
|
sending?: boolean
|
|
disabled?: boolean
|
|
uploadingAsset?: boolean
|
|
onSend: (html: string) => Promise<void>
|
|
onUploadImage: (file: File) => Promise<UploadedMessageEditorImage | null>
|
|
onSendAttachment: (file: File) => Promise<void>
|
|
}
|
|
|
|
export function CustomerMessageEditor({
|
|
conversationId,
|
|
draftScope,
|
|
sending = false,
|
|
disabled = false,
|
|
uploadingAsset = false,
|
|
onSend,
|
|
onUploadImage,
|
|
onSendAttachment,
|
|
}: CustomerMessageEditorProps) {
|
|
return (
|
|
<SharedMessageEditor
|
|
variant="customer"
|
|
conversationId={conversationId}
|
|
draftScope={draftScope}
|
|
sending={sending}
|
|
disabled={disabled}
|
|
uploadingAsset={uploadingAsset}
|
|
manageLocalUploading
|
|
onSend={onSend}
|
|
onUploadImage={onUploadImage}
|
|
onSendAttachment={onSendAttachment}
|
|
/>
|
|
)
|
|
}
|