Polls: notifier on votes
This commit is contained in:
parent
9b1f24eafe
commit
e97c33cec5
2
client/@types/global.d.ts
vendored
2
client/@types/global.d.ts
vendored
@ -128,3 +128,5 @@ declare const LOC_TOKEN_ACTION_CREATE: string
|
|||||||
declare const LOC_TOKEN_ACTION_REVOKE: string
|
declare const LOC_TOKEN_ACTION_REVOKE: string
|
||||||
declare const LOC_TOKEN_DEFAULT_LABEL: string
|
declare const LOC_TOKEN_DEFAULT_LABEL: string
|
||||||
declare const LOC_TOKEN_ACTION_REVOKE_CONFIRM: string
|
declare const LOC_TOKEN_ACTION_REVOKE_CONFIRM: string
|
||||||
|
|
||||||
|
declare const LOC_POLL_VOTE_OK: string
|
||||||
|
@ -17,6 +17,8 @@ declare global {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let pollListenerInitiliazed: boolean = false
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* load the ConverseJS CSS.
|
* load the ConverseJS CSS.
|
||||||
* @param url CSS url
|
* @param url CSS url
|
||||||
@ -164,6 +166,15 @@ async function displayConverseJS (
|
|||||||
}
|
}
|
||||||
const converseJSParams: InitConverseJSParams = await (response).json()
|
const converseJSParams: InitConverseJSParams = await (response).json()
|
||||||
|
|
||||||
|
if (!pollListenerInitiliazed) {
|
||||||
|
// First time we got here, initiliaze this event:
|
||||||
|
const i18nVoteOk = await clientOptions.peertubeHelpers.translate(LOC_POLL_VOTE_OK)
|
||||||
|
pollListenerInitiliazed = true
|
||||||
|
document.addEventListener('livechat-poll-vote', () => {
|
||||||
|
clientOptions.peertubeHelpers.notifier.success(i18nVoteOk)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
await loadConverseJS(converseJSParams)
|
await loadConverseJS(converseJSParams)
|
||||||
await window.initConverse(converseJSParams, chatIncludeMode, authHeader ?? null)
|
await window.initConverse(converseJSParams, chatIncludeMode, authHeader ?? null)
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,7 @@ export default class MUCPollView extends CustomElement {
|
|||||||
this.collapsed = !this.collapsed
|
this.collapsed = !this.collapsed
|
||||||
}
|
}
|
||||||
|
|
||||||
voteFor (choice) {
|
async voteFor (choice) {
|
||||||
if (this.buttonDisabled) { return }
|
if (this.buttonDisabled) { return }
|
||||||
|
|
||||||
const currentPoll = this.model?.get('current_poll')
|
const currentPoll = this.model?.get('current_poll')
|
||||||
@ -59,9 +59,18 @@ export default class MUCPollView extends CustomElement {
|
|||||||
this.buttonDisabled = true
|
this.buttonDisabled = true
|
||||||
this.requestUpdate()
|
this.requestUpdate()
|
||||||
|
|
||||||
this.model.sendMessage({
|
await this.model.sendMessage({
|
||||||
body: '!' + choice.choice
|
body: '!' + choice.choice
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// Dispatching an event.
|
||||||
|
// When in Peertube interface, this will open a Peertube notifier with a message.
|
||||||
|
// FIXME: we should only trigger this on the message echo or bounce,
|
||||||
|
// but seems ConverseJs does not provide any promise for that.
|
||||||
|
const event = new Event('livechat-poll-vote', {
|
||||||
|
bubbles: true
|
||||||
|
})
|
||||||
|
this.dispatchEvent(event)
|
||||||
}
|
}
|
||||||
|
|
||||||
closePoll (ev) {
|
closePoll (ev) {
|
||||||
|
@ -578,3 +578,4 @@ poll_vote_instructions_xmpp: "Send a message with an exclamation mark followed b
|
|||||||
poll_is_over: This poll is now over.
|
poll_is_over: This poll is now over.
|
||||||
poll_choice_invalid: This choice is not valid.
|
poll_choice_invalid: This choice is not valid.
|
||||||
poll_anonymous_vote_ok: Your vote is taken into account. Votes are anonymous, they will not be shown to other participants.
|
poll_anonymous_vote_ok: Your vote is taken into account. Votes are anonymous, they will not be shown to other participants.
|
||||||
|
poll_vote_ok: Your vote has been taking into account, the counters will be updated in a moment.
|
||||||
|
@ -559,3 +559,4 @@ poll_vote_instructions: "Pour voter, cliquez sur votre choix, ou envoyez un mess
|
|||||||
poll_is_over: Ce sondage est à présent terminé.
|
poll_is_over: Ce sondage est à présent terminé.
|
||||||
poll_choice_invalid: Ce choix n'est pas valide.
|
poll_choice_invalid: Ce choix n'est pas valide.
|
||||||
poll_anonymous_vote_ok: Votre vote a été pris en compte. Les votes sont anonymes, ils ne seront pas montrés aux autres participant⋅es.
|
poll_anonymous_vote_ok: Votre vote a été pris en compte. Les votes sont anonymes, ils ne seront pas montrés aux autres participant⋅es.
|
||||||
|
poll_vote_ok: Votre vote a été pris en compte, les compteurs seront mis à jour dans un instant.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user