diff --git a/komga-webui/src/components/BrowseSeries.vue b/komga-webui/src/components/BrowseSeries.vue index 77dd876d5..bb06cee5d 100644 --- a/komga-webui/src/components/BrowseSeries.vue +++ b/komga-webui/src/components/BrowseSeries.vue @@ -48,6 +48,19 @@ + + + + + + Analyze + + + @@ -237,6 +250,9 @@ export default Vue.extend({ } this.books.splice(page.number * page.size, page.size, ...page.content) this.pagesState[page.number] = LoadState.Loaded + }, + analyze () { + this.$komgaSeries.analyzeSeries(this.series) } } }) diff --git a/komga-webui/src/services/komga-series.service.ts b/komga-webui/src/services/komga-series.service.ts index 11f085bea..8446fd691 100644 --- a/komga-webui/src/services/komga-series.service.ts +++ b/komga-webui/src/services/komga-series.service.ts @@ -89,4 +89,16 @@ export default class KomgaSeriesService { throw new Error(msg) } } + + async analyzeSeries (series: SeriesDto) { + try { + await this.http.post(`${API_SERIES}/${series.id}/analyze`) + } catch (e) { + let msg = `An error occurred while trying to analyze series '${series.name}'` + if (e.response.data.message) { + msg += `: ${e.response.data.message}` + } + throw new Error(msg) + } + } }