From d41c9a717ca3f52b0a67bbb2b0ab8b0c898bba4b Mon Sep 17 00:00:00 2001 From: lain <lain@soykaf.club> Date: Sun, 14 Jun 2020 13:16:08 +0200 Subject: [PATCH] Polls: Construct an html field during normalization. --- src/components/poll/poll.vue | 8 +++++++- .../entity_normalizer/entity_normalizer.service.js | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/components/poll/poll.vue b/src/components/poll/poll.vue index 56e91cca50..28f9000684 100644 --- a/src/components/poll/poll.vue +++ b/src/components/poll/poll.vue @@ -17,7 +17,7 @@ <span class="result-percentage"> {{ percentageForOption(option.votes_count) }}% </span> - <span>{{ option.title }}</span> + <span v-html="option.title_html"></span> </div> <div class="result-fill" @@ -75,6 +75,12 @@ @import '../../_variables.scss'; .poll { + img.emoji { + vertical-align: middle; + object-fit: contain; + width: 32px; + height: 32px; + } .votes { display: flex; flex-direction: column; diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index c7ed65a4d4..e93eea5bb7 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -258,6 +258,12 @@ export const parseStatus = (data) => { output.summary_html = addEmojis(escape(data.spoiler_text), data.emojis) output.external_url = data.url output.poll = data.poll + if (output.poll) { + output.poll.options = (output.poll.options || []).map(field => { + field.title_html = addEmojis(field.title, data.emojis) + return field + }) + } output.pinned = data.pinned output.muted = data.muted } else { -- GitLab