summaryrefslogtreecommitdiffstats
path: root/src/components/feed-display/FeedItemRow.vue
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/feed-display/FeedItemRow.vue')
-rw-r--r--src/components/feed-display/FeedItemRow.vue20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/components/feed-display/FeedItemRow.vue b/src/components/feed-display/FeedItemRow.vue
index 03670295a..854f83633 100644
--- a/src/components/feed-display/FeedItemRow.vue
+++ b/src/components/feed-display/FeedItemRow.vue
@@ -1,5 +1,6 @@
<template>
<div class="feed-item-row" @click="select()">
+ <ShareItem v-if="showShareMenu" :item-id="shareItem" @close="closeShareMenu()" />
<div class="link-container">
<a class="external"
target="_blank"
@@ -28,14 +29,9 @@
<EyeIcon v-if="item.unread && !keepUnread" @click="toggleKeepUnread(item)" />
<EyeCheckIcon v-if="!item.unread && !keepUnread" @click="toggleKeepUnread(item)" />
<EyeLockIcon v-if="keepUnread" class="keep-unread" @click="toggleKeepUnread(item)" />
- <NcActions :force-menu="true">
- <template #icon>
- <ShareVariant />
- </template>
- <NcActionButton>
- <template #default>
- <!-- TODO: Share Menu --> TODO
- </template>
+ <NcActions>
+ <NcActionButton :title="t('news', 'Share within Instance')" @click="shareItem = item.id; showShareMenu = true">
+ {{ t('news', 'Share') }}
<template #icon>
<ShareVariant />
</template>
@@ -60,6 +56,8 @@ import ShareVariant from 'vue-material-design-icons/ShareVariant.vue'
import NcActions from '@nextcloud/vue/dist/Components/NcActions.js'
import NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
+import ShareItem from '../ShareItem.vue'
+
import { Feed } from '../../types/Feed'
import { FeedItem } from '../../types/FeedItem'
import { ACTIONS, MUTATIONS } from '../../store'
@@ -76,6 +74,7 @@ export default Vue.extend({
RssIcon,
NcActions,
NcActionButton,
+ ShareItem,
},
props: {
item: {
@@ -86,6 +85,8 @@ export default Vue.extend({
data: () => {
return {
keepUnread: false,
+ showShareMenu: false,
+ shareItem: undefined,
}
},
computed: {
@@ -142,6 +143,9 @@ export default Vue.extend({
toggleStarred(item: FeedItem): void {
this.$store.dispatch(item.starred ? ACTIONS.UNSTAR_ITEM : ACTIONS.STAR_ITEM, { item })
},
+ closeShareMenu() {
+ this.showShareMenu = false
+ },
},
})