From 81caaa2ebed066f80939b04f565b307ec0dd2d61 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Thu, 10 Sep 2020 16:12:09 +0300 Subject: Split web things into subdirectories --- web/widget-api.js | 66 ------------------------------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 web/widget-api.js (limited to 'web/widget-api.js') diff --git a/web/widget-api.js b/web/widget-api.js deleted file mode 100644 index 3efca0e..0000000 --- a/web/widget-api.js +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright (c) 2020 Tulir Asokan -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -let widgetId = null - -window.onmessage = event => { - if (!window.parent || !event.data) { - return - } - - const request = event.data - if (!request.requestId || !request.widgetId || !request.action || request.api !== "toWidget") { - return - } - - if (widgetId) { - if (widgetId !== request.widgetId) { - return - } - } else { - widgetId = request.widgetId - } - - let response - - if (request.action === "visibility") { - response = {} - } else if (request.action === "capabilities") { - response = { capabilities: ["m.sticker"] } - } else { - response = { error: { message: "Action not supported" } } - } - - window.parent.postMessage({ ...request, response }, event.origin) -} - -export function sendSticker(content) { - const data = { - content: { ...content }, - // `name` is for Element Web (and also the spec) - // Element Android uses content -> body as the name - name: content.body, - } - // Custom field that stores the ID even for non-telegram stickers - delete data.content.id - - // This is for Element iOS - const widgetData = { - ...data, - description: content.body, - file: `${content.id}.png`, - } - // Element iOS explodes if there are extra fields present - delete widgetData.content["net.maunium.telegram.sticker"] - - window.parent.postMessage({ - api: "fromWidget", - action: "m.sticker", - requestId: `sticker-${Date.now()}`, - widgetId, - data, - widgetData, - }, "*") -} -- cgit v1.2.3