feat: add "View results" button to poll post
This commit is contained in:
parent
78fd25ac10
commit
9349b5391d
2 changed files with 12 additions and 7 deletions
|
|
@ -14,7 +14,7 @@ const timeAgoOptions = useTimeAgoOptions()
|
||||||
const expiredTimeAgo = useTimeAgo(poll.expiresAt!, timeAgoOptions)
|
const expiredTimeAgo = useTimeAgo(poll.expiresAt!, timeAgoOptions)
|
||||||
const expiredTimeFormatted = useFormattedDateTime(poll.expiresAt!)
|
const expiredTimeFormatted = useFormattedDateTime(poll.expiresAt!)
|
||||||
const { formatPercentage } = useHumanReadableNumber()
|
const { formatPercentage } = useHumanReadableNumber()
|
||||||
const loading = ref(false)
|
const isLoading = ref(false)
|
||||||
|
|
||||||
const { client } = useMasto()
|
const { client } = useMasto()
|
||||||
|
|
||||||
|
|
@ -41,11 +41,11 @@ async function vote(e: Event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function refresh() {
|
async function refresh() {
|
||||||
if (loading.value) {
|
if (isLoading.value) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
loading.value = true
|
isLoading.value = true
|
||||||
try {
|
try {
|
||||||
const newPoll = await client.value.v1.polls.$select(poll.id).fetch()
|
const newPoll = await client.value.v1.polls.$select(poll.id).fetch()
|
||||||
Object.assign(poll, newPoll)
|
Object.assign(poll, newPoll)
|
||||||
|
|
@ -55,7 +55,7 @@ async function refresh() {
|
||||||
console.error(e)
|
console.error(e)
|
||||||
}
|
}
|
||||||
finally {
|
finally {
|
||||||
loading.value = false
|
isLoading.value = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -106,9 +106,13 @@ const votersCount = computed(() => poll.votersCount ?? poll.votesCount ?? 0)
|
||||||
</CommonTooltip>
|
</CommonTooltip>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="!poll.expired">
|
<div v-if="!poll.expired" flex gap-x-2>
|
||||||
|
<button v-if="!poll.voted" whitespace-nowrap flex gap-1 items-center hover:text-primary @click="refresh">
|
||||||
|
<div text-xs i-ri:information-line />
|
||||||
|
{{ $t('status.poll.view_results') }}
|
||||||
|
</button>
|
||||||
<button whitespace-nowrap flex gap-1 items-center hover:text-primary @click="refresh">
|
<button whitespace-nowrap flex gap-1 items-center hover:text-primary @click="refresh">
|
||||||
<div text-xs :class="loading ? 'animate-spin' : ''" i-ri:loop-right-line />
|
<div text-xs :class="isLoading ? 'animate-spin' : ''" i-ri:loop-right-line />
|
||||||
{{ $t('status.poll.update') }}
|
{{ $t('status.poll.update') }}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -643,7 +643,8 @@
|
||||||
"count": "{0} votes|{0} vote|{0} votes",
|
"count": "{0} votes|{0} vote|{0} votes",
|
||||||
"ends": "ends {0}",
|
"ends": "ends {0}",
|
||||||
"finished": "finished {0}",
|
"finished": "finished {0}",
|
||||||
"update": "Update poll"
|
"update": "Update poll",
|
||||||
|
"view_results": "View results"
|
||||||
},
|
},
|
||||||
"replying_to": "Replying to {0}",
|
"replying_to": "Replying to {0}",
|
||||||
"show_full_thread": "Show Full thread",
|
"show_full_thread": "Show Full thread",
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue