diff options
Diffstat (limited to 'src/components/feed-display/FeedItemRow.vue')
-rw-r--r-- | src/components/feed-display/FeedItemRow.vue | 20 |
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 + }, }, }) |