summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Service/ShareService.php2
-rw-r--r--src/components/feed-display/FeedItemDisplay.vue21
2 files changed, 15 insertions, 8 deletions
diff --git a/lib/Service/ShareService.php b/lib/Service/ShareService.php
index 552e1d9a4..1ba69b612 100644
--- a/lib/Service/ShareService.php
+++ b/lib/Service/ShareService.php
@@ -114,6 +114,8 @@ class ShareService
$sharedItem->setStarred(false);
$sharedItem->setSharedBy($userId);
+ // TODO: should we set the pub date to the date of share?
+
// Get 'shared with me' dummy feed
$feedUrl = $this->urlGenerator->getBaseUrl() . '/news/sharedwithme';
$feed = $this->feedService->findByUrl($shareRecipientId, $feedUrl);
diff --git a/src/components/feed-display/FeedItemDisplay.vue b/src/components/feed-display/FeedItemDisplay.vue
index 8d97e856e..c22db1772 100644
--- a/src/components/feed-display/FeedItemDisplay.vue
+++ b/src/components/feed-display/FeedItemDisplay.vue
@@ -1,14 +1,11 @@
<template>
<div class="feed-item-display">
+ <ShareItem v-if="showShareMenu" :item-id="item.id" @close="closeShareMenu()" />
+
<div class="action-bar">
- <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="showShareMenu = true">
+ {{ t('news', 'Share') }}
<template #icon>
<ShareVariant />
</template>
@@ -101,6 +98,8 @@ import CloseIcon from 'vue-material-design-icons/Close.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'
@@ -113,6 +112,7 @@ export default Vue.extend({
ShareVariant,
NcActions,
NcActionButton,
+ ShareItem,
},
props: {
item: {
@@ -123,6 +123,7 @@ export default Vue.extend({
data: () => {
return {
keepUnread: false,
+ showShareMenu: false,
}
},
computed: {
@@ -171,6 +172,10 @@ export default Vue.extend({
this.$store.dispatch(item.starred ? ACTIONS.UNSTAR_ITEM : ACTIONS.STAR_ITEM, { item })
},
+ closeShareMenu() {
+ this.showShareMenu = false
+ },
+
getMediaType(mime: string): 'audio' | 'video' | false {
// TODO: figure out how to check media type
return false