summaryrefslogtreecommitdiffstats
path: root/src/store/feed.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/store/feed.ts')
-rw-r--r--src/store/feed.ts21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/store/feed.ts b/src/store/feed.ts
index b6031e4e6..d4bdd6bcc 100644
--- a/src/store/feed.ts
+++ b/src/store/feed.ts
@@ -11,10 +11,14 @@ export const FEED_ACTION_TYPES = {
ADD_FEED: 'ADD_FEED',
FETCH_FEEDS: 'FETCH_FEEDS',
FEED_MARK_READ: 'FEED_MARK_READ',
+
FEED_SET_PINNED: 'FEED_SET_PINNED',
FEED_SET_ORDERING: 'FEED_SET_ORDERING',
FEED_SET_FULL_TEXT: 'FEED_SET_FULL_TEXT',
FEED_SET_UPDATE_MODE: 'FEED_SET_UPDATE_MODE',
+ FEED_SET_TITLE: 'FEED_SET_TITLE',
+
+ FEED_DELETE: 'FEED_DELETE',
}
const state = {
@@ -108,6 +112,18 @@ export const actions = {
commit(FEED_MUTATION_TYPES.UPDATE_FEED, { id: feed.id, updateMode })
},
+
+ async [FEED_ACTION_TYPES.FEED_SET_TITLE]({ commit }: ActionParams, { feed, title }: { feed: Feed, title: string }) {
+ await FeedService.updateFeed({ feedId: feed.id as number, title })
+
+ commit(FEED_MUTATION_TYPES.UPDATE_FEED, { id: feed.id, title })
+ },
+
+ async [FEED_ACTION_TYPES.FEED_DELETE]({ commit }: ActionParams, { feed }: { feed: Feed }) {
+ await FeedService.deleteFeed({ feedId: feed.id as number })
+
+ commit(FEED_MUTATION_TYPES.FEED_DELETE, feed.id)
+ },
}
export const mutations = {
@@ -151,6 +167,11 @@ export const mutations = {
_.assign(feed, { unreadCount: feed.unreadCount - 1 })
}
},
+ [FEED_MUTATION_TYPES.FEED_DELETE](state: AppState, feedId: number) {
+ state.feeds = state.feeds.filter((feed: Feed) => {
+ return feed.id !== feedId
+ })
+ },
}
export default {