From 99077da1bf66fe1b0850fcd1bc4c96bf319853a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20S=C3=A1nchez?= <userquin@gmail.com> Date: Wed, 10 May 2023 13:17:58 +0200 Subject: [PATCH] fix(ui): handle empty spoiler text (#2091) --- components/status/StatusContent.vue | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/components/status/StatusContent.vue b/components/status/StatusContent.vue index 1dbc5da3..7eb94c0f 100644 --- a/components/status/StatusContent.vue +++ b/components/status/StatusContent.vue @@ -21,7 +21,8 @@ const isFiltered = $computed(() => status.account.id !== currentUser.value?.acco // check spoiler text or media attachment // needed to handle accounts that mark all their posts as sensitive -const hasSpoilerOrSensitiveMedia = $computed(() => !!status.spoilerText || (status.sensitive && !!status.mediaAttachments.length)) +const spoilerTextPresent = $computed(() => !!status.spoilerText && status.spoilerText.trim().length === 0) +const hasSpoilerOrSensitiveMedia = $computed(() => spoilerTextPresent || (status.sensitive && !!status.mediaAttachments.length)) const isSensitiveNonSpoiler = computed(() => status.sensitive && !status.spoilerText && !!status.mediaAttachments.length) const hideAllMedia = computed( () => { @@ -40,7 +41,7 @@ const hideAllMedia = computed( > <StatusBody v-if="(!isFiltered && isSensitiveNonSpoiler) || hideAllMedia" :status="status" :newer="newer" :with-action="!isDetails" :class="isDetails ? 'text-xl' : ''" /> <StatusSpoiler :enabled="hasSpoilerOrSensitiveMedia || isFiltered" :filter="isFiltered" :sensitive-non-spoiler="isSensitiveNonSpoiler || hideAllMedia" :is-d-m="isDM"> - <template v-if="status.spoilerText" #spoiler> + <template v-if="spoilerTextPresent" #spoiler> <p>{{ status.spoilerText }}</p> </template> <template v-else-if="filterPhrase" #spoiler>