From 1c6a1aee955135c88882192ff460c4b7fc353586 Mon Sep 17 00:00:00 2001 From: Skehmatics Date: Fri, 9 Jul 2021 10:55:12 -0700 Subject: [PATCH] Rich welcome content (#7588) * Add rich content (polls, media) to the welcome page notes * Add a simple scrolling animation to welcome page --- src/client/components/poll.vue | 11 ++-- src/client/pages/welcome.timeline.vue | 72 ++++++++++++++++++++++----- 2 files changed, 68 insertions(+), 15 deletions(-) diff --git a/src/client/components/poll.vue b/src/client/components/poll.vue index 463ddab72..b5d430f93 100644 --- a/src/client/components/poll.vue +++ b/src/client/components/poll.vue @@ -10,7 +10,7 @@ -

+

{{ $t('_poll.totalVotes', { n: total }) }} ยท {{ showResult ? $ts._poll.vote : $ts._poll.showResult }} @@ -31,6 +31,11 @@ export default defineComponent({ note: { type: Object, required: true + }, + readOnly: { + type: Boolean, + required: false, + default: false, } }, data() { @@ -65,7 +70,7 @@ export default defineComponent({ } }, created() { - this.showResult = this.isVoted; + this.showResult = this.readOnly || this.isVoted; if (this.note.poll.expiresAt) { const update = () => { @@ -83,7 +88,7 @@ export default defineComponent({ this.showResult = !this.showResult; }, vote(id) { - if (this.closed || !this.poll.multiple && this.poll.choices.some(c => c.isVoted)) return; + if (this.readOnly || this.closed || !this.poll.multiple && this.poll.choices.some(c => c.isVoted)) return; os.api('notes/polls/vote', { noteId: this.note.id, choice: id diff --git a/src/client/pages/welcome.timeline.vue b/src/client/pages/welcome.timeline.vue index 12c8a4d4f..bd07ac78d 100644 --- a/src/client/pages/welcome.timeline.vue +++ b/src/client/pages/welcome.timeline.vue @@ -1,10 +1,22 @@ @@ -12,16 +24,21 @@