diff --git a/src/renderer/store/app/watch/appWatchStore.js b/src/renderer/store/app/watch/appWatchStore.js index 3dffefc0..62aa7741 100644 --- a/src/renderer/store/app/watch/appWatchStore.js +++ b/src/renderer/store/app/watch/appWatchStore.js @@ -45,6 +45,25 @@ export default { */ getWatchData: state => ({releaseId = 0, episodeId = 0} = {}) => __get(state, ['items', `${releaseId}:${episodeId}`]) || null, + + /** + * Get release total progress + * + * @param state + * @param getters + * @return {function({releaseId?: *, totalEpisodesNumber?: *}=): number} + */ + getReleaseProgress: (state, getters) => ({releaseId = 0, totalEpisodesNumber = 0} = {}) => { + const watched_episodes = []; + for(let i = 1; i <= totalEpisodesNumber; i++){ + watched_episodes.push(getters.getWatchData({releaseId, episodeId: i})) + } + + return totalEpisodesNumber > 0 + ? (watched_episodes.filter(episode => episode).length / totalEpisodesNumber) * 100 + : 0; + } + }, actions: { diff --git a/src/renderer/store/catalog/catalogStore.js b/src/renderer/store/catalog/catalogStore.js index 93471b90..f56aed62 100644 --- a/src/renderer/store/catalog/catalogStore.js +++ b/src/renderer/store/catalog/catalogStore.js @@ -1,5 +1,5 @@ import AnilibriaProxy from "@proxies/anilibria"; -import AnilibriaCatalogTransformer from "@transformers/anilibria/catalog"; +import AnilibriaReleaseTransformer from "@transformers/anilibria/release"; import {Main} from '@main/utils/windows' import __capitalize from 'lodash/capitalize' @@ -171,7 +171,7 @@ export default { // Get items from server // Transform items const {items} = await new AnilibriaProxy().getCatalogItems({sort, genres, years, page, perPage}); - const releases = AnilibriaCatalogTransformer.fetchCollection(items); + const releases = await AnilibriaReleaseTransformer.fetchCollection(items); // Collect all poster images await Promise.allSettled( diff --git a/src/renderer/views/catalog/components/item/CatalogItem.vue b/src/renderer/views/catalog/components/item/CatalogItem.vue index 45573a61..f5088e2d 100644 --- a/src/renderer/views/catalog/components/item/CatalogItem.vue +++ b/src/renderer/views/catalog/components/item/CatalogItem.vue @@ -1,8 +1,9 @@