diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5d13c6a9a4..b1f547e7b1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,9 @@ You can also check [on GitHub](https://github.com/nextcloud/news/releases), the
### Changed
- added alternative development environment (#2670)
- Implement `j` and `k` keyboards shortcuts for navigating through feed items (#2671)
+- Implement `s`, `i` and `l` keyboards shortcuts for staring current feed item (#2677)
+- Implement `o` keyboards shortcut for opening the URL of current feed item (#2677)
+- Implement `u` keyboards shortcut for marking current feed item read/unread (#2677)
- Implement highlighting of active feed item (#2677)
### Fixed
diff --git a/src/components/feed-display/FeedItemDisplay.vue b/src/components/feed-display/FeedItemDisplay.vue
index 0831214212..bc5fd4ad25 100644
--- a/src/components/feed-display/FeedItemDisplay.vue
+++ b/src/components/feed-display/FeedItemDisplay.vue
@@ -12,7 +12,12 @@
+
+
+
+
+
@@ -109,10 +114,14 @@ import ShareItem from '../ShareItem.vue'
import { Feed } from '../../types/Feed'
import { FeedItem } from '../../types/FeedItem'
import { ACTIONS, MUTATIONS } from '../../store'
+import EyeIcon from 'vue-material-design-icons/Eye.vue'
+import EyeCheckIcon from 'vue-material-design-icons/EyeCheck.vue'
export default Vue.extend({
name: 'FeedItemDisplay',
components: {
+ EyeCheckIcon,
+ EyeIcon,
CloseIcon,
StarIcon,
ShareVariant,
@@ -170,6 +179,21 @@ export default Vue.extend({
this.$store.dispatch(item.starred ? ACTIONS.UNSTAR_ITEM : ACTIONS.STAR_ITEM, { item })
},
+ toggleRead(item: FeedItem): void {
+ if (item.unread) {
+ this.$store.dispatch(ACTIONS.MARK_READ, { item })
+ } else {
+ this.$store.dispatch(ACTIONS.MARK_UNREAD, { item })
+ }
+ },
+
+ openUrl(item: FeedItem): void {
+ // Open the item url in a new tab
+ if (item.url) {
+ window.open(item.url, '_blank')
+ }
+ },
+
closeShareMenu() {
this.showShareMenu = false
},
diff --git a/src/types/FeedItem.ts b/src/types/FeedItem.ts
index 879a663f4d..979f4bfcb8 100644
--- a/src/types/FeedItem.ts
+++ b/src/types/FeedItem.ts
@@ -6,4 +6,5 @@ export type FeedItem = {
feedId: number;
guidHash: string;
pubDate: number;
+ url: string;
};