diff --git a/komga-webui/src/components/BrowseLibraries.vue b/komga-webui/src/components/BrowseLibraries.vue
index 4a41ab8ffe..3f23cf8b3f 100644
--- a/komga-webui/src/components/BrowseLibraries.vue
+++ b/komga-webui/src/components/BrowseLibraries.vue
@@ -41,6 +41,19 @@
+
+
+
+
+ mdi-dots-vertical
+
+
+
+
+ Analyze
+
+
+
@@ -242,6 +255,9 @@ export default Vue.extend({
} else {
return 'All libraries'
}
+ },
+ analyze () {
+ this.$komgaLibraries.analyzeLibrary(this.libraryId)
}
}
})
diff --git a/komga-webui/src/services/komga-libraries.service.ts b/komga-webui/src/services/komga-libraries.service.ts
index 4dd33ca69e..dcec743a31 100644
--- a/komga-webui/src/services/komga-libraries.service.ts
+++ b/komga-webui/src/services/komga-libraries.service.ts
@@ -56,4 +56,16 @@ export default class KomgaLibrariesService {
throw new Error(msg)
}
}
+
+ async analyzeLibrary (libraryId: number) {
+ try {
+ await this.http.post(`${API_LIBRARIES}/${libraryId}/analyze`)
+ } catch (e) {
+ let msg = `An error occurred while trying to analyze library`
+ if (e.response.data.message) {
+ msg += `: ${e.response.data.message}`
+ }
+ throw new Error(msg)
+ }
+ }
}