diff --git a/apps/web/src/modules/ComposerApi.ts b/apps/web/src/modules/ComposerApi.ts new file mode 100644 index 0000000000..5442d69d57 --- /dev/null +++ b/apps/web/src/modules/ComposerApi.ts @@ -0,0 +1,23 @@ +/* +Copyright 2026 Element Creations Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import { type ComposerApi as ModuleComposerApi } from "@element-hq/element-web-module-api"; + +import defaultDispatcher from "../dispatcher/dispatcher"; +import { Action } from "../dispatcher/actions"; +import type { ComposerInsertPayload } from "../dispatcher/payloads/ComposerInsertPayload"; +import { TimelineRenderingType } from "../contexts/RoomContext"; + +export class ComposerApi implements ModuleComposerApi { + public insertTextIntoComposer(text: string): void { + defaultDispatcher.dispatch({ + action: Action.ComposerInsert, + text, + timelineRenderingType: TimelineRenderingType.Room, + } satisfies ComposerInsertPayload); + } +}