Skip to content

Commit 0dd32ee

Browse files
committed
fix(progress): fix watched calculation and loading indicator
1 parent 0599bc8 commit 0dd32ee

File tree

2 files changed

+11
-13
lines changed

2 files changed

+11
-13
lines changed

src/components/common/list/ListItemPanel.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ const tooltipOptions = computed<PopoverProps>(() => ({
137137
</NTag>
138138
</template>
139139
</NFlex>
140-
<div v-if="showProgress" class="panel-progress">
140+
<div v-if="showProgress && !loading" class="panel-progress">
141141
<NTooltip
142142
class="panel-progress-tooltip"
143143
:disabled="!progress"

src/stores/data/show.store.ts

+10-12
Original file line numberDiff line numberDiff line change
@@ -15,26 +15,24 @@ type ShowProgressDictionary = Record<string, TraktWatchedProgress>;
1515
type LoadingDictionary = Record<string, boolean>;
1616

1717
const watchProgressToListProgress = (progress: TraktWatchedProgress, id: string | number): ListScrollItemProgress => {
18-
let total = 0;
19-
let completed = 0;
20-
const item = {
18+
const total: number = progress.aired;
19+
const { completed } = progress;
20+
const percentage = (completed / total) * 100;
21+
return {
2122
id,
23+
percentage,
24+
total,
2225
...progress,
2326
type: ListScrollItemProgressType.watched,
2427
date: new Date(progress.last_watched_at),
2528
seasons: progress.seasons.map(season => ({
2629
...season,
27-
episodes: season.episodes.map(episode => {
28-
total += 1;
29-
if (episode.completed) completed += 1;
30-
return {
31-
...episode,
32-
date: new Date(episode.last_watched_at),
33-
};
34-
}),
30+
episodes: season.episodes.map(episode => ({
31+
...episode,
32+
date: new Date(episode.last_watched_at),
33+
})),
3534
})),
3635
};
37-
return { ...item, percentage: (completed / total) * 100, total, completed };
3836
};
3937

4038
export const useShowStore = defineStore('data.show', () => {

0 commit comments

Comments
 (0)