tweb/src/components/wrappers/poll.ts
2024-04-23 18:45:58 +04:00

40 lines
1.3 KiB
TypeScript

/*
* https://github.com/morethanwords/tweb
* Copyright (C) 2019-2021 Eduard Kuzmenko
* https://github.com/morethanwords/tweb/blob/master/LICENSE
*/
import type wrapRichText from '../../lib/richTextProcessor/wrapRichText';
import type TranslatableMessage from '../translatableMessage';
import {Middleware} from '../../helpers/middleware';
import {Message, MessageMedia} from '../../layer';
import {AppManagers} from '../../lib/appManagers/managers';
import rootScope from '../../lib/rootScope';
import PollElement from '../poll';
export default function wrapPoll({
message,
managers = rootScope.managers,
middleware,
translatableParams,
richTextOptions
}: {
message: Message.message,
managers?: AppManagers,
middleware: Middleware,
translatableParams?: Parameters<typeof TranslatableMessage>[0],
richTextOptions?: Parameters<typeof wrapRichText>[1]
}) {
const elem = new PollElement();
elem.message = message;
elem.managers = managers;
elem.translatableParams = translatableParams;
elem.richTextOptions = richTextOptions;
elem.setAttribute('peer-id', '' + message.peerId);
elem.setAttribute('poll-id', '' + (message.media as MessageMedia.messageMediaPoll).poll.id);
elem.setAttribute('message-id', '' + message.mid);
elem.middlewareHelper = middleware.create();
elem.render();
return elem;
}