summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDevlin Junker <devlin.junker@gmail.com>2023-09-15 16:02:29 -0700
committerBenjamin Brahmer <info@b-brahmer.de>2023-09-20 17:32:33 +0200
commitb234f334412d6e68a7adcd70e25707730c4808e7 (patch)
treeae4ac478423d3dd07b78bda8c8bb409f780f3698 /src
parenteb9dd0a6ae098c30402b991123aa68be165c1baf (diff)
start on tests
Signed-off-by: Devlin Junker <devlin.junker@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/components/Sidebar.vue3
-rw-r--r--src/components/SidebarFeedLinkActions.vue2
-rw-r--r--src/store/feed.ts73
-rw-r--r--src/store/folder.ts54
-rw-r--r--src/store/item.ts88
5 files changed, 178 insertions, 42 deletions
diff --git a/src/components/Sidebar.vue b/src/components/Sidebar.vue
index a7ab51dfd..3ffb8c0ca 100644
--- a/src/components/Sidebar.vue
+++ b/src/components/Sidebar.vue
@@ -148,6 +148,7 @@ const SideBarState = {
})
navItems = navItems.concat(state.folders)
+ // bring pinned items to the top
return navItems.sort((item, item2) => {
if ((item as Feed).pinned && !(item2 as Feed).pinned) {
return -1
@@ -215,7 +216,7 @@ export default Vue.extend({
renameFolder(folder: Folder) {
const name = window.prompt(t('news', 'Rename Folder'), folder.name)
- // null on escape
+ // null when user presses escape (do nothing)
if (name !== null) {
this.$store.dispatch(ACTIONS.FOLDER_SET_NAME, { folder, name })
}
diff --git a/src/components/SidebarFeedLinkActions.vue b/src/components/SidebarFeedLinkActions.vue
index e9f8bd521..444254cc4 100644
--- a/src/components/SidebarFeedLinkActions.vue
+++ b/src/components/SidebarFeedLinkActions.vue
@@ -131,7 +131,7 @@ export default Vue.extend({
rename() {
const title = window.prompt(t('news', 'Rename Feed'), this.feed.title)
- // null on escape
+ // null when user presses escape (do nothing)
if (title !== null) {
this.$store.dispatch(ACTIONS.FEED_SET_TITLE, { feed: this.feed, title })
}
diff --git a/src/store/feed.ts b/src/store/feed.ts
index ad8b30fad..9fea76a72 100644
--- a/src/store/feed.ts
+++ b/src/store/feed.ts
@@ -42,6 +42,7 @@ export const actions = {
return total + feed.unreadCount
}, 0)))
},
+
async [FEED_ACTION_TYPES.ADD_FEED](
{ commit }: ActionParams,
{ feedReq }: {
@@ -80,9 +81,9 @@ export const actions = {
} catch (e) {
// TODO: show error to user if failure
console.log(e)
-
}
},
+
async [FEED_ACTION_TYPES.FEED_MARK_READ]({ commit }: ActionParams, { feed }: { feed: Feed }) {
// want to fetch feed so that we can retrieve the "highestItemId"
const response = await ItemService.fetchFeedItems(feed.id as number)
@@ -95,43 +96,64 @@ export const actions = {
commit(FEED_MUTATION_TYPES.SET_FEED_ALL_READ, feed)
},
- async [FEED_ACTION_TYPES.FEED_SET_PINNED]({ commit }: ActionParams, { feed, pinned }: { feed: Feed, pinned: boolean }) {
+ async [FEED_ACTION_TYPES.FEED_SET_PINNED](
+ { commit }: ActionParams,
+ { feed, pinned }: { feed: Feed, pinned: boolean },
+ ) {
await FeedService.updateFeed({ feedId: feed.id as number, pinned })
commit(FEED_MUTATION_TYPES.UPDATE_FEED, { id: feed.id, pinned })
},
- async [FEED_ACTION_TYPES.FEED_SET_ORDERING]({ commit }: ActionParams, { feed, ordering }: { feed: Feed, ordering: FEED_ORDER }) {
+ async [FEED_ACTION_TYPES.FEED_SET_ORDERING](
+ { commit }: ActionParams,
+ { feed, ordering }: { feed: Feed, ordering: FEED_ORDER },
+ ) {
await FeedService.updateFeed({ feedId: feed.id as number, ordering })
commit(FEED_MUTATION_TYPES.UPDATE_FEED, { id: feed.id, ordering })
},
- async [FEED_ACTION_TYPES.FEED_SET_FULL_TEXT]({ commit }: ActionParams, { feed, fullTextEnabled }: { feed: Feed, fullTextEnabled: boolean }) {
+ async [FEED_ACTION_TYPES.FEED_SET_FULL_TEXT](
+ { commit }: ActionParams,
+ { feed, fullTextEnabled }: { feed: Feed, fullTextEnabled: boolean },
+ ) {
await FeedService.updateFeed({ feedId: feed.id as number, fullTextEnabled })
commit(FEED_MUTATION_TYPES.UPDATE_FEED, { id: feed.id, fullTextEnabled })
},
- async [FEED_ACTION_TYPES.FEED_SET_UPDATE_MODE]({ commit }: ActionParams, { feed, updateMode }: { feed: Feed, updateMode: FEED_UPDATE_MODE }) {
+ async [FEED_ACTION_TYPES.FEED_SET_UPDATE_MODE](
+ { commit }: ActionParams,
+ { feed, updateMode }: { feed: Feed, updateMode: FEED_UPDATE_MODE },
+ ) {
await FeedService.updateFeed({ feedId: feed.id as number, updateMode })
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 }) {
+ 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 }) {
+ 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)
},
- async [FEED_ACTION_TYPES.MODIFY_FEED_UNREAD_COUNT]({ commit, state }: ActionParams, { feedId, delta }: { feedId: number, delta: number }) {
+ async [FEED_ACTION_TYPES.MODIFY_FEED_UNREAD_COUNT](
+ { commit, state }: ActionParams,
+ { feedId, delta }: { feedId: number, delta: number },
+ ) {
commit(FEED_MUTATION_TYPES.MODIFY_FEED_UNREAD_COUNT, { feedId, delta })
const feed = state.feeds.find((feed: Feed) => {
@@ -146,21 +168,36 @@ export const actions = {
}
export const mutations = {
- [FEED_MUTATION_TYPES.SET_FEEDS](state: AppState, feeds: Feed[]) {
+ [FEED_MUTATION_TYPES.SET_FEEDS](
+ state: AppState,
+ feeds: Feed[],
+ ) {
feeds.forEach(it => {
state.feeds.push(it)
})
},
- [FEED_MUTATION_TYPES.ADD_FEED](state: AppState, feed: Feed) {
+
+ [FEED_MUTATION_TYPES.ADD_FEED](
+ state: AppState,
+ feed: Feed,
+ ) {
state.feeds.push(feed)
},
- [FEED_MUTATION_TYPES.UPDATE_FEED](state: AppState, newFeed: Feed) {
+
+ [FEED_MUTATION_TYPES.UPDATE_FEED](
+ state: AppState,
+ newFeed: Feed,
+ ) {
const feed = state.feeds.find((feed: Feed) => {
return feed.id === newFeed.id
})
_.assign(feed, newFeed)
},
- [FEED_MUTATION_TYPES.SET_FEED_ALL_READ](state: AppState, feed: Feed) {
+
+ [FEED_MUTATION_TYPES.SET_FEED_ALL_READ](
+ state: AppState,
+ feed: Feed,
+ ) {
const priorFeed = state.feeds.find((stateFeed: Feed) => {
return stateFeed.id === feed.id
})
@@ -170,7 +207,11 @@ export const mutations = {
state.unreadCount -= priorUnread
}
},
- [FEED_MUTATION_TYPES.MODIFY_FEED_UNREAD_COUNT](state: AppState, { feedId, delta }: { feedId: number, delta: number }) {
+
+ [FEED_MUTATION_TYPES.MODIFY_FEED_UNREAD_COUNT](
+ state: AppState,
+ { feedId, delta }: { feedId: number, delta: number },
+ ) {
const feed = state.feeds.find((feed: Feed) => {
return feed.id === feedId
})
@@ -178,7 +219,11 @@ export const mutations = {
_.assign(feed, { unreadCount: feed.unreadCount + delta })
}
},
- [FEED_MUTATION_TYPES.FEED_DELETE](state: AppState, feedId: number) {
+
+ [FEED_MUTATION_TYPES.FEED_DELETE](
+ state: AppState,
+ feedId: number,
+ ) {
state.feeds = state.feeds.filter((feed: Feed) => {
return feed.id !== feedId
})
diff --git a/src/store/folder.ts b/src/store/folder.ts
index ca4b3d4e7..33604d4f1 100644
--- a/src/store/folder.ts
+++ b/src/store/folder.ts
@@ -30,11 +30,17 @@ export const actions = {
commit(FOLDER_MUTATION_TYPES.SET_FOLDERS, folders.data.folders)
},
- async [FOLDER_ACTION_TYPES.ADD_FOLDERS]({ commit }: ActionParams, { folder }: { folder: Folder }) {
+ async [FOLDER_ACTION_TYPES.ADD_FOLDERS](
+ { commit }: ActionParams,
+ { folder }: { folder: Folder },
+ ) {
const response = await FolderService.createFolder({ name: folder.name })
commit(FOLDER_MUTATION_TYPES.SET_FOLDERS, response.data.folders)
},
- async [FOLDER_ACTION_TYPES.DELETE_FOLDER]({ commit }: ActionParams, { folder }: { folder: Folder }) {
+ async [FOLDER_ACTION_TYPES.DELETE_FOLDER](
+ { commit }: ActionParams,
+ { folder }: { folder: Folder },
+ ) {
/**
* TODO: look into reversiblyDelete?
this.getByFolderId(folderId).forEach(function (feed) {
@@ -44,25 +50,39 @@ export const actions = {
await FolderService.deleteFolder({ id: folder.id })
commit(FOLDER_MUTATION_TYPES.DELETE_FOLDER, folder)
},
- async [FOLDER_ACTION_TYPES.FOLDER_SET_NAME]({ commit }: ActionParams, { folder, name }: { folder: Folder, name: string }) {
+ async [FOLDER_ACTION_TYPES.FOLDER_SET_NAME](
+ { commit }: ActionParams,
+ { folder, name }: { folder: Folder, name: string },
+ ) {
await FolderService.renameFolder({ id: folder.id, name })
commit(FOLDER_MUTATION_TYPES.UPDATE_FOLDER, { id: folder.id, name })
},
}
export const mutations = {
- [FOLDER_MUTATION_TYPES.SET_FOLDERS](state: AppState, folders: Folder[]) {
+ [FOLDER_MUTATION_TYPES.SET_FOLDERS](
+ state: AppState,
+ folders: Folder[],
+ ) {
folders.forEach(it => {
it.feedCount = 0
it.feeds = []
state.folders.push(it)
})
},
- [FOLDER_MUTATION_TYPES.DELETE_FOLDER](state: AppState, folder: Folder) {
+
+ [FOLDER_MUTATION_TYPES.DELETE_FOLDER](
+ state: AppState,
+ folder: Folder,
+ ) {
const index = state.folders.indexOf(folder)
state.folders.splice(index, 1)
},
- [FEED_MUTATION_TYPES.SET_FEEDS](state: AppState, feeds: Feed[]) {
+
+ [FEED_MUTATION_TYPES.SET_FEEDS](
+ state: AppState,
+ feeds: Feed[],
+ ) {
feeds.forEach(it => {
const folder = state.folders.find((folder: Folder) => { return folder.id === it.folderId })
if (folder) {
@@ -71,28 +91,42 @@ export const mutations = {
}
})
},
- [FEED_MUTATION_TYPES.ADD_FEED](state: AppState, feed: Feed) {
+
+ [FEED_MUTATION_TYPES.ADD_FEED](
+ state: AppState,
+ feed: Feed,
+ ) {
const folder = state.folders.find((folder: Folder) => { return folder.id === feed.folderId })
if (folder) {
folder.feeds.push(feed)
folder.feedCount += feed.unreadCount
}
},
- [FOLDER_MUTATION_TYPES.UPDATE_FOLDER](state: AppState, newFolder: Folder) {
+
+ [FOLDER_MUTATION_TYPES.UPDATE_FOLDER](
+ state: AppState,
+ newFolder: Folder,
+ ) {
const folder = state.folders.find((f: Folder) => { return f.id === newFolder.id })
if (folder) {
_.assign(folder, newFolder)
}
},
- [FOLDER_MUTATION_TYPES.MODIFY_FOLDER_UNREAD_COUNT](state: AppState, { folderId, delta }: {folderId: number; delta: number }) {
+ [FOLDER_MUTATION_TYPES.MODIFY_FOLDER_UNREAD_COUNT](
+ state: AppState,
+ { folderId, delta }: {folderId: number; delta: number },
+ ) {
const folder = state.folders.find((f: Folder) => { return f.id === folderId })
if (folder) {
folder.feedCount += delta
}
},
- [FEED_MUTATION_TYPES.SET_FEED_ALL_READ](state: AppState, feed: Feed) {
+ [FEED_MUTATION_TYPES.SET_FEED_ALL_READ](
+ state: AppState,
+ feed: Feed,
+ ) {
const folder = state.folders.find((folder: Folder) => {
return folder.id === feed.folderId
})
diff --git a/src/store/item.ts b/src/store/item.ts
index 07e79a39d..14ae20658 100644
--- a/src/store/item.ts
+++ b/src/store/item.ts
@@ -67,7 +67,10 @@ export const actions = {
* @param param1 ActionArgs
* @param param1.start
*/
- async [FEED_ITEM_ACTION_TYPES.FETCH_UNREAD]({ commit }: ActionParams, { start }: { start: number } = { start: 0 }) {
+ async [FEED_ITEM_ACTION_TYPES.FETCH_UNREAD](
+ { commit }: ActionParams,
+ { start }: { start: number } = { start: 0 },
+ ) {
commit(FEED_ITEM_MUTATION_TYPES.SET_FETCHING, { key: 'unread', fetching: true })
const response = await ItemService.debounceFetchUnread(start || state.lastItemLoaded.unread)
@@ -91,7 +94,10 @@ export const actions = {
* @param param1 ActionArgs
* @param param1.start
*/
- async [FEED_ITEM_ACTION_TYPES.FETCH_ITEMS]({ commit }: ActionParams, { start }: { start: number } = { start: 0 }) {
+ async [FEED_ITEM_ACTION_TYPES.FETCH_ITEMS](
+ { commit }: ActionParams,
+ { start }: { start: number } = { start: 0 },
+ ) {
commit(FEED_ITEM_MUTATION_TYPES.SET_FETCHING, { key: 'all', fetching: true })
const response = await ItemService.debounceFetchAll(start || state.lastItemLoaded.all)
@@ -117,7 +123,10 @@ export const actions = {
* @param param1 ActionArgs
* @param param1.start
*/
- async [FEED_ITEM_ACTION_TYPES.FETCH_STARRED]({ commit }: ActionParams, { start }: { start: number } = { start: 0 }) {
+ async [FEED_ITEM_ACTION_TYPES.FETCH_STARRED](
+ { commit }: ActionParams,
+ { start }: { start: number } = { start: 0 },
+ ) {
commit(FEED_ITEM_MUTATION_TYPES.SET_FETCHING, { key: 'starred', fetching: true })
const response = await ItemService.debounceFetchStarred(start || state.lastItemLoaded.starred)
@@ -145,7 +154,10 @@ export const actions = {
* @param param1.start
* @param param1.feedId
*/
- async [FEED_ITEM_ACTION_TYPES.FETCH_FEED_ITEMS]({ commit }: ActionParams, { feedId, start }: { feedId: number; start: number }) {
+ async [FEED_ITEM_ACTION_TYPES.FETCH_FEED_ITEMS](
+ { commit }: ActionParams,
+ { feedId, start }: { feedId: number; start: number },
+ ) {
commit(FEED_ITEM_MUTATION_TYPES.SET_FETCHING, { key: 'feed-' + feedId, fetching: true })
const response = await ItemService.debounceFetchFeedItems(feedId, start || state.lastItemLoaded['feed-' + feedId])
@@ -169,7 +181,10 @@ export const actions = {
* @param param1.start
* @param param1.folderId
*/
- async [FEED_ITEM_ACTION_TYPES.FETCH_FOLDER_FEED_ITEMS]({ commit }: ActionParams, { folderId, start }: { folderId: number; start: number }) {
+ async [FEED_ITEM_ACTION_TYPES.FETCH_FOLDER_FEED_ITEMS](
+ { commit }: ActionParams,
+ { folderId, start }: { folderId: number; start: number },
+ ) {
commit(FEED_ITEM_MUTATION_TYPES.SET_FETCHING, { key: 'folder-' + folderId, fetching: true })
const response = await ItemService.debounceFetchFolderFeedItems(folderId, start || state.lastItemLoaded['folder-' + folderId])
@@ -193,7 +208,10 @@ export const actions = {
* @param param1 ActionArgs
* @param param1.item
*/
- [FEED_ITEM_ACTION_TYPES.MARK_READ]({ commit, dispatch }: ActionParams, { item }: { item: FeedItem }) {
+ [FEED_ITEM_ACTION_TYPES.MARK_READ](
+ { commit, dispatch }: ActionParams,
+ { item }: { item: FeedItem },
+ ) {
ItemService.markRead(item, true)
if (item.unread) {
@@ -214,7 +232,10 @@ export const actions = {
* @param param1 ActionArgs
* @param param1.item
*/
- [FEED_ITEM_ACTION_TYPES.MARK_UNREAD]({ commit, dispatch }: ActionParams, { item }: { item: FeedItem}) {
+ [FEED_ITEM_ACTION_TYPES.MARK_UNREAD](
+ { commit, dispatch }: ActionParams,
+ { item }: { item: FeedItem},
+ ) {
ItemService.markRead(item, false)
if (!item.unread) {
@@ -234,7 +255,10 @@ export const actions = {
* @param param1 ActionArgs
* @param param1.item
*/
- [FEED_ITEM_ACTION_TYPES.STAR_ITEM]({ commit }: ActionParams, { item }: { item: FeedItem}) {
+ [FEED_ITEM_ACTION_TYPES.STAR_ITEM](
+ { commit }: ActionParams,
+ { item }: { item: FeedItem},
+ ) {
ItemService.markStarred(item, true)
item.starred = true
@@ -250,7 +274,10 @@ export const actions = {
* @param param1 ActionArgs
* @param param1.item
*/
- [FEED_ITEM_ACTION_TYPES.UNSTAR_ITEM]({ commit }: ActionParams, { item }: { item: FeedItem}) {
+ [FEED_ITEM_ACTION_TYPES.UNSTAR_ITEM](
+ { commit }: ActionParams,
+ { item }: { item: FeedItem},
+ ) {
ItemService.markStarred(item, false)
item.starred = false
@@ -263,6 +290,7 @@ export const mutations = {
[FEED_ITEM_MUTATION_TYPES.SET_SELECTED_ITEM](state: ItemState, { id }: { id: string }) {
state.selectedId = id
},
+
[FEED_ITEM_MUTATION_TYPES.SET_ITEMS](state: ItemState, items: FeedItem[]) {
if (items) {
items.forEach(it => {
@@ -272,26 +300,54 @@ export const mutations = {
})
}
},
- [FEED_ITEM_MUTATION_TYPES.SET_STARRED_COUNT](state: ItemState, count: number) {
+
+ [FEED_ITEM_MUTATION_TYPES.SET_STARRED_COUNT](
+ state: ItemState,
+ count: number,
+ ) {
state.starredCount = count
},
- [FEED_ITEM_MUTATION_TYPES.SET_UNREAD_COUNT](state: ItemState, count: number) {
+
+ [FEED_ITEM_MUTATION_TYPES.SET_UNREAD_COUNT](
+ state: ItemState,
+ count: number,
+ ) {
state.unreadCount = count
},
- [FEED_ITEM_MUTATION_TYPES.UPDATE_ITEM](state: ItemState, { item }: { item: FeedItem }) {
+
+ [FEED_ITEM_MUTATION_TYPES.UPDATE_ITEM](
+ state: ItemState,
+ { item }: { item: FeedItem },
+ ) {
const idx = state.allItems.findIndex((it) => it.id === item.id)
state.allItems.splice(idx, 1, item)
},
- [FEED_ITEM_MUTATION_TYPES.SET_FETCHING](state: ItemState, { fetching, key }: { fetching: boolean; key: string; }) {
+
+ [FEED_ITEM_MUTATION_TYPES.SET_FETCHING](
+ state: ItemState,
+ { fetching, key }: { fetching: boolean; key: string; },
+ ) {
state.fetchingItems[key] = fetching
},
- [FEED_ITEM_MUTATION_TYPES.SET_ALL_LOADED](state: ItemState, { loaded, key }: { loaded: boolean; key: string; }) {
+
+ [FEED_ITEM_MUTATION_TYPES.SET_ALL_LOADED](
+ state: ItemState,
+ { loaded, key }: { loaded: boolean; key: string; },
+ ) {
state.allItemsLoaded[key] = loaded
},
- [FEED_ITEM_MUTATION_TYPES.SET_LAST_ITEM_LOADED](state: ItemState, { lastItem, key }: { lastItem: number; key: string; }) {
+
+ [FEED_ITEM_MUTATION_TYPES.SET_LAST_ITEM_LOADED](
+ state: ItemState,
+ { lastItem, key }: { lastItem: number; key: string; },
+ ) {
state.lastItemLoaded[key] = lastItem
},
- [FEED_MUTATION_TYPES.SET_FEED_ALL_READ](state: ItemState, feed: Feed) {
+
+ [FEED_MUTATION_TYPES.SET_FEED_ALL_READ](
+ state: ItemState,
+ feed: Feed,
+ ) {
state.allItems.forEach((item: FeedItem) => {
if (item.feedId === feed.id) {
item.unread = false