diff options
Diffstat (limited to 'src/store/feed.ts')
-rw-r--r-- | src/store/feed.ts | 21 |
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 { |