peertube-plugin-livechat/conversejs/custom/plugins/poll/modals/poll-form.js
John Livingston 8e2a3335ab
Poll WIP (#231):
* fix frontend: modal must be destroyed on hide
2024-07-05 11:23:28 +02:00

50 lines
1.2 KiB
JavaScript

// SPDX-FileCopyrightText: 2024 John Livingston <https://www.john-livingston.fr/>
//
// SPDX-License-Identifier: AGPL-3.0-only
import { __ } from 'i18n'
import BaseModal from 'plugins/modal/modal.js'
import { api } from '@converse/headless/core'
import { modal_close_button as ModalCloseButton } from 'plugins/modal/templates/buttons.js'
import { html } from 'lit'
class PollFormModal extends BaseModal {
initialize () {
super.initialize()
}
onHide () {
super.onHide()
api.modal.remove('livechat-converse-poll-form-modal')
}
renderModal () {
return html`<livechat-converse-poll-form .model=${this.model} .modal=${this}></livechat-converse-poll-form>`
}
getModalTitle () {
// eslint-disable-next-line no-undef
return __(LOC_new_poll)
}
renderModalFooter () {
return html`
<div class="modal-footer">
${ModalCloseButton}
<button
type="submit"
class="btn btn-primary"
@click=${(ev) => {
ev.preventDefault()
this.querySelector('livechat-converse-poll-form form')?.requestSubmit()
}}
>
${__('Ok')}
</button>
</div>
`
}
}
api.elements.define('livechat-converse-poll-form-modal', PollFormModal)