Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2022-09-14 21:54:36 +0300
committerJoas Schilling <coding@schilljs.com>2022-09-14 22:09:39 +0300
commitddc6782d31300dd170335c3cbf58016d1a9cabc0 (patch)
treeb6e166c752f2584b3cf1623fa27663082c5910f9
parent834260c34d000e9f11d7d52ccac135e9d600da20 (diff)
Show polls in own section of shared itemsbugfix/noid/show-polls-shared-items
Signed-off-by: Joas Schilling <coding@schilljs.com>
-rw-r--r--src/components/RightSidebar/SharedItems/SharedItems.vue26
-rw-r--r--src/components/RightSidebar/SharedItems/SharedItemsTab.vue10
-rw-r--r--src/constants.js1
-rw-r--r--src/mixins/sharedItems.js4
-rw-r--r--src/store/sharedItemsStore.js2
5 files changed, 34 insertions, 9 deletions
diff --git a/src/components/RightSidebar/SharedItems/SharedItems.vue b/src/components/RightSidebar/SharedItems/SharedItems.vue
index ffc1a147a..5fa632d4f 100644
--- a/src/components/RightSidebar/SharedItems/SharedItems.vue
+++ b/src/components/RightSidebar/SharedItems/SharedItems.vue
@@ -32,10 +32,18 @@
<div v-else-if="type === 'deckcard'"
:key="item.id"
class="shared-items__deckcard"
- :class="{ 'shared-items__location--nolimit': limit === 0 }">
+ :class="{ 'shared-items__deckcard--nolimit': limit === 0 }">
<DeckCard :wide="true"
v-bind="item.messageParameters.object" />
</div>
+ <div v-else-if="type === 'poll'"
+ :key="item.id"
+ class="shared-items__poll"
+ :class="{ 'shared-items__poll--nolimit': limit === 0 }">
+ <Poll v-bind="item.messageParameters.object"
+ :token="$store.getters.getToken()"
+ :poll-name="item.messageParameters.object.name" />
+ </div>
<template v-else-if="type === 'other'">
<div :key="item.id"
class="shared-items__other">
@@ -60,18 +68,20 @@
</template>
<script>
+import DeckCard from '../../MessagesList/MessagesGroup/Message/MessagePart/DeckCard.vue'
import FilePreview from '../../MessagesList/MessagesGroup/Message/MessagePart/FilePreview.vue'
-import { SHARED_ITEM } from '../../../constants.js'
import Location from '../../MessagesList/MessagesGroup/Message/MessagePart/Location.vue'
-import DeckCard from '../../MessagesList/MessagesGroup/Message/MessagePart/DeckCard.vue'
+import Poll from '../../MessagesList/MessagesGroup/Message/MessagePart/Poll.vue'
+import { SHARED_ITEM } from '../../../constants.js'
export default {
name: 'SharedItems',
components: {
+ DeckCard,
FilePreview,
Location,
- DeckCard,
+ Poll,
},
props: {
@@ -119,10 +129,12 @@ export default {
grid-template-rows: 1fr 1fr;
grid-gap: 4px;
margin: auto;
+
&__list {
display: flex;
flex-wrap: wrap;
}
+
&__location {
width: 100%;
height: 150px;
@@ -132,8 +144,14 @@ export default {
width: 33%;
}
}
+
+ &__poll,
&__deckcard {
width: 100%;
+
+ &--nolimit {
+ width: 33%;
+ }
}
&__other {
diff --git a/src/components/RightSidebar/SharedItems/SharedItemsTab.vue b/src/components/RightSidebar/SharedItems/SharedItemsTab.vue
index 0ba4bcfe8..9477f9185 100644
--- a/src/components/RightSidebar/SharedItems/SharedItemsTab.vue
+++ b/src/components/RightSidebar/SharedItems/SharedItemsTab.vue
@@ -27,7 +27,7 @@
<SharedItems :type="type"
:limit="limit(type)"
:items="sharedItems[type]" />
- <NcButton v-if="hasMore(sharedItems[type])"
+ <NcButton v-if="hasMore(type, sharedItems[type])"
type="tertiary-no-background"
class="more"
:wide="true"
@@ -146,8 +146,8 @@ export default {
this.$store.dispatch('getSharedItemsOverview', { token: this.token })
},
- hasMore(items) {
- return Object.values(items).length > 6
+ hasMore(type, items) {
+ return Object.values(items).length > this.limit(type)
},
showMore(type) {
@@ -156,7 +156,7 @@ export default {
},
limit(type) {
- if (type === SHARED_ITEM.TYPES.DECK_CARD || type === SHARED_ITEM.TYPES.LOCATION) {
+ if (type === SHARED_ITEM.TYPES.DECK_CARD || type === SHARED_ITEM.TYPES.LOCATION || type === SHARED_ITEM.TYPES.POLL) {
return 2
} else {
return 6
@@ -169,6 +169,8 @@ export default {
return t('spreed', 'Show all media')
case SHARED_ITEM.TYPES.FILE:
return t('spreed', 'Show all files')
+ case SHARED_ITEM.TYPES.POLL:
+ return t('spreed', 'Show all polls')
case SHARED_ITEM.TYPES.DECK_CARD:
return t('spreed', 'Show all deck cards')
case SHARED_ITEM.TYPES.VOICE:
diff --git a/src/constants.js b/src/constants.js
index 09ec679ab..bacf04c7d 100644
--- a/src/constants.js
+++ b/src/constants.js
@@ -113,6 +113,7 @@ export const SHARED_ITEM = {
LOCATION: 'location',
MEDIA: 'media',
OTHER: 'other',
+ POLL: 'poll',
VOICE: 'voice',
},
}
diff --git a/src/mixins/sharedItems.js b/src/mixins/sharedItems.js
index bf8772caa..93db849ed 100644
--- a/src/mixins/sharedItems.js
+++ b/src/mixins/sharedItems.js
@@ -26,7 +26,7 @@ const sharedItems = {
computed: {
// Defines the order of the sections
sharedItemsOrder() {
- return [SHARED_ITEM.TYPES.MEDIA, SHARED_ITEM.TYPES.FILE, SHARED_ITEM.TYPES.VOICE, SHARED_ITEM.TYPES.AUDIO, SHARED_ITEM.TYPES.LOCATION, SHARED_ITEM.TYPES.DECK_CARD, SHARED_ITEM.TYPES.OTHER]
+ return [SHARED_ITEM.TYPES.MEDIA, SHARED_ITEM.TYPES.FILE, SHARED_ITEM.TYPES.POLL, SHARED_ITEM.TYPES.VOICE, SHARED_ITEM.TYPES.AUDIO, SHARED_ITEM.TYPES.LOCATION, SHARED_ITEM.TYPES.DECK_CARD, SHARED_ITEM.TYPES.OTHER]
},
},
@@ -37,6 +37,8 @@ const sharedItems = {
return t('spreed', 'Media')
case SHARED_ITEM.TYPES.FILE:
return t('spreed', 'Files')
+ case SHARED_ITEM.TYPES.POLL:
+ return t('spreed', 'Polls')
case SHARED_ITEM.TYPES.DECK_CARD:
return t('spreed', 'Deck cards')
case SHARED_ITEM.TYPES.VOICE:
diff --git a/src/store/sharedItemsStore.js b/src/store/sharedItemsStore.js
index f1f903d35..8e1d1c6b7 100644
--- a/src/store/sharedItemsStore.js
+++ b/src/store/sharedItemsStore.js
@@ -30,6 +30,8 @@ const getItemTypeFromMessage = function(message) {
return SHARED_ITEM.TYPES.LOCATION
} else if (message.messageParameters.object.type === 'deck-card') {
return SHARED_ITEM.TYPES.DECK_CARD
+ } else if (message.messageParameters.object.type === 'talk-poll') {
+ return SHARED_ITEM.TYPES.POLL
} else {
return SHARED_ITEM.TYPES.OTHER
}