From 72b2e2865cfd18ff133d7a8686f1e40168a45794 Mon Sep 17 00:00:00 2001 From: Half-Shot Date: Thu, 23 Apr 2026 14:19:43 +0100 Subject: [PATCH] Add composer api implementation --- apps/web/src/modules/ComposerApi.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 apps/web/src/modules/ComposerApi.ts 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); + } +}