diff --git a/komga-webui/src/components/EditSeriesDialog.vue b/komga-webui/src/components/EditSeriesDialog.vue new file mode 100644 index 000000000..1b813650b --- /dev/null +++ b/komga-webui/src/components/EditSeriesDialog.vue @@ -0,0 +1,150 @@ + + + + + diff --git a/komga-webui/src/functions/text.ts b/komga-webui/src/functions/text.ts new file mode 100644 index 000000000..23603f05d --- /dev/null +++ b/komga-webui/src/functions/text.ts @@ -0,0 +1,3 @@ +export function capitalize (s: string) { + return `${s[0].toUpperCase()}${s.slice(1).toLowerCase()}` +} diff --git a/komga-webui/src/services/komga-series.service.ts b/komga-webui/src/services/komga-series.service.ts index 2df034aff..f3227dcc8 100644 --- a/komga-webui/src/services/komga-series.service.ts +++ b/komga-webui/src/services/komga-series.service.ts @@ -5,7 +5,7 @@ const qs = require('qs') const API_SERIES = '/api/v1/series' export default class KomgaSeriesService { - private http: AxiosInstance; + private http: AxiosInstance constructor (http: AxiosInstance) { this.http = http @@ -104,4 +104,16 @@ export default class KomgaSeriesService { throw new Error(msg) } } + + async updateMetadata (seriesId: number, metadata: SeriesMetadataUpdateDto) { + try { + await this.http.patch(`${API_SERIES}/${seriesId}/metadata`, metadata) + } catch (e) { + let msg = `An error occurred while trying to update series metadata` + if (e.response.data.message) { + msg += `: ${e.response.data.message}` + } + throw new Error(msg) + } + } } diff --git a/komga-webui/src/types/komga-series.ts b/komga-webui/src/types/komga-series.ts index a9d7f4995..222cba337 100644 --- a/komga-webui/src/types/komga-series.ts +++ b/komga-webui/src/types/komga-series.ts @@ -13,3 +13,7 @@ interface SeriesMetadata { created: string, lastModified: string } + +interface SeriesMetadataUpdateDto { + status?: string +} diff --git a/komga-webui/src/views/BrowseSeries.vue b/komga-webui/src/views/BrowseSeries.vue index 90291bf3d..72b72bf5f 100644 --- a/komga-webui/src/views/BrowseSeries.vue +++ b/komga-webui/src/views/BrowseSeries.vue @@ -30,6 +30,10 @@ + + mdi-pencil + + + +