diff options
author | Devlin Junker <devlin.junker@gmail.com> | 2023-08-24 17:12:27 -0700 |
---|---|---|
committer | Benjamin Brahmer <info@b-brahmer.de> | 2023-08-26 07:48:18 +0200 |
commit | d4d20e91e5cdd801f837cbd296e1e798cbcfbf12 (patch) | |
tree | 5deef72826264c6506a3239d048c572b80a626f9 /src | |
parent | 8183510385bad408ea3f0136bd4a5487ba7df526 (diff) |
Add more unit tests and all passing
Signed-off-by: Devlin Junker <devlin.junker@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/components/FeedItemDisplay.vue | 43 | ||||
-rw-r--r-- | src/components/Unread.vue | 1 |
2 files changed, 36 insertions, 8 deletions
diff --git a/src/components/FeedItemDisplay.vue b/src/components/FeedItemDisplay.vue index edb576b5f..5818fad51 100644 --- a/src/components/FeedItemDisplay.vue +++ b/src/components/FeedItemDisplay.vue @@ -129,28 +129,55 @@ export default Vue.extend({ ...mapState(['feeds']), }, methods: { - clearSelected() { + /** + * Sends message to state to clear the selectedId number + */ + clearSelected(): void { this.$store.commit(MUTATIONS.SET_SELECTED_ITEM, { id: undefined }) }, - formatDate(epoch: number) { + /** + * Returns locale formatted date string + * + * @param {number} epoch date value in epoch format + * @return {string} locale formatted date string (based on users browser) + */ + formatDate(epoch: number): string { return new Date(epoch).toLocaleString() }, - formatDatetime(epoch: number) { + /** + * Returns UTC formatted datetime in format recognized by `datetime` property + * + * @param {number} epoch date value in epoch format + * @return {string} UTC formatted datetime string (in format yyyy-MM-ddTHH:mm:ssZ) + */ + formatDatetime(epoch: number): string { return new Date(epoch).toISOString() }, + /** + * Retrieve the feed by id number + * + * @param {number} id id of feed to fetch + * @return {Feed} associated Feed + */ getFeed(id: number): Feed { return this.$store.getters.feeds.find((feed: Feed) => feed.id === id) || {} }, - getMediaType(mime: any): 'audio' | 'video' | false { + /** + * Sends message to change the items starred property to the opposite value + * + * @param {FeedItem} item item to toggle starred status on + */ + toggleStarred(item: FeedItem): void { + this.$store.dispatch(item.starred ? ACTIONS.UNSTAR_ITEM : ACTIONS.STAR_ITEM, { item }) + }, + + getMediaType(mime: string): 'audio' | 'video' | false { // TODO: figure out how to check media type return false }, - play(item: any) { + play(item: FeedItem) { // TODO: implement play audio/video }, - toggleStarred(item: FeedItem): void { - this.$store.dispatch(item.starred ? ACTIONS.UNSTAR_ITEM : ACTIONS.STAR_ITEM, { item }) - }, }, }) diff --git a/src/components/Unread.vue b/src/components/Unread.vue index 195623245..9a59f529b 100644 --- a/src/components/Unread.vue +++ b/src/components/Unread.vue @@ -26,6 +26,7 @@ import { FeedItem } from '../types/FeedItem' import { ACTIONS, MUTATIONS } from '../store' type UnreadItemState = { + // need cache so we aren't always removing items when they get read unreadCache?: FeedItem[] } |