diff --git a/komga-webui/src/locales/en.json b/komga-webui/src/locales/en.json index 2decea4fd..1b59106eb 100644 --- a/komga-webui/src/locales/en.json +++ b/komga-webui/src/locales/en.json @@ -683,6 +683,9 @@ "status": "Status", "url": "URL" }, + "media_management": { + "title": "Media Management" + }, "menu": { "add_to_collection": "Add to collection", "add_to_readlist": "Add to read list", diff --git a/komga-webui/src/router.ts b/komga-webui/src/router.ts index aaab3b4e4..a0c2f95fa 100644 --- a/komga-webui/src/router.ts +++ b/komga-webui/src/router.ts @@ -66,7 +66,7 @@ const router = new Router({ { path: '/settings', name: 'settings', - redirect: {name: 'settings-analysis'}, + redirect: {name: 'settings-users'}, component: () => import(/* webpackChunkName: "settings" */ './views/SettingsHolder.vue'), children: [ { @@ -82,38 +82,6 @@ const router = new Router({ }, ], }, - { - path: '/settings/analysis', - name: 'settings-analysis', - beforeEnter: adminGuard, - component: () => import(/* webpackChunkName: "settings-analysis" */ './views/SettingsMediaAnalysis.vue'), - }, - { - path: '/settings/duplicates', - name: 'settings-duplicates', - beforeEnter: adminGuard, - component: () => import(/* webpackChunkName: "settings-duplicates" */ './views/SettingsDuplicates.vue'), - }, - { - path: '/settings/duplicate-pages', - name: 'settings-duplicate-pages', - redirect: {name: 'settings-duplicate-pages-known'}, - component: () => import(/* webpackChunkName: "settings-duplicate-pages" */ './views/SettingsDuplicatePagesHolder.vue'), - children: [ - { - path: '/settings/duplicate-pages/known', - name: 'settings-duplicate-pages-known', - beforeEnter: adminGuard, - component: () => import(/* webpackChunkName: "settings-duplicate-pages" */ './views/SettingsDuplicatePagesKnown.vue'), - }, - { - path: '/settings/duplicate-pages/unknown', - name: 'settings-duplicate-pages-unknown', - beforeEnter: adminGuard, - component: () => import(/* webpackChunkName: "settings-duplicate-pages" */ './views/SettingsDuplicatePagesUnknown.vue'), - }, - ], - }, { path: '/settings/server', name: 'settings-server', @@ -128,6 +96,46 @@ const router = new Router({ }, ], }, + { + path: '/media-management', + name: 'media-management', + redirect: {name: 'media-analysis'}, + component: () => import(/* webpackChunkName: "media-management" */ './views/MediaManagement.vue'), + children: [ + { + path: '/media-management/analysis', + name: 'media-analysis', + beforeEnter: adminGuard, + component: () => import(/* webpackChunkName: "media-analysis" */ './views/MediaAnalysis.vue'), + }, + { + path: '/media-management/duplicate-files', + name: 'duplicate-files', + beforeEnter: adminGuard, + component: () => import(/* webpackChunkName: "duplicate-files" */ './views/DuplicateFiles.vue'), + }, + { + path: '/media-management/duplicate-pages', + name: 'duplicate-pages', + redirect: {name: 'settings-duplicate-pages-known'}, + component: () => import(/* webpackChunkName: "duplicate-pages" */ './views/DuplicatePagesHolder.vue'), + children: [ + { + path: '/media-management/duplicate-pages/known', + name: 'settings-duplicate-pages-known', + beforeEnter: adminGuard, + component: () => import(/* webpackChunkName: "duplicate-pages" */ './views/DuplicatePagesKnown.vue'), + }, + { + path: '/media-management/duplicate-pages/unknown', + name: 'settings-duplicate-pages-unknown', + beforeEnter: adminGuard, + component: () => import(/* webpackChunkName: "duplicate-pages" */ './views/DuplicatePagesUnknown.vue'), + }, + ], + }, + ], + }, { path: '/history', name: 'history', diff --git a/komga-webui/src/views/SettingsDuplicates.vue b/komga-webui/src/views/DuplicateFiles.vue similarity index 98% rename from komga-webui/src/views/SettingsDuplicates.vue rename to komga-webui/src/views/DuplicateFiles.vue index 72d313649..1ae71cf76 100644 --- a/komga-webui/src/views/SettingsDuplicates.vue +++ b/komga-webui/src/views/DuplicateFiles.vue @@ -49,7 +49,7 @@ import Vue from 'vue' import {BookDto} from '@/types/komga-books' export default Vue.extend({ - name: 'SettingsDuplicates', + name: 'DuplicateFiles', data: function () { return { books: [] as BookDto[], diff --git a/komga-webui/src/views/SettingsDuplicatePagesHolder.vue b/komga-webui/src/views/DuplicatePagesHolder.vue similarity index 89% rename from komga-webui/src/views/SettingsDuplicatePagesHolder.vue rename to komga-webui/src/views/DuplicatePagesHolder.vue index f4c10bd36..455579349 100644 --- a/komga-webui/src/views/SettingsDuplicatePagesHolder.vue +++ b/komga-webui/src/views/DuplicatePagesHolder.vue @@ -12,7 +12,7 @@ import Vue from 'vue' export default Vue.extend({ - name: 'SettingsDuplicatePagesHolder', + name: 'DuplicatePagesHolder', }) diff --git a/komga-webui/src/views/SettingsDuplicatePagesKnown.vue b/komga-webui/src/views/DuplicatePagesKnown.vue similarity index 99% rename from komga-webui/src/views/SettingsDuplicatePagesKnown.vue rename to komga-webui/src/views/DuplicatePagesKnown.vue index b218942f3..281a3f0d5 100644 --- a/komga-webui/src/views/SettingsDuplicatePagesKnown.vue +++ b/komga-webui/src/views/DuplicatePagesKnown.vue @@ -119,7 +119,7 @@ import {PageHashAction} from '@/types/enum-pagehashes' import PageHashMatchesTable from '@/components/PageHashMatchesTable.vue' export default Vue.extend({ - name: 'SettingsDuplicatePagesKnown', + name: 'DuplicatePagesKnown', components: {PageHashKnownCard, PageHashMatchesTable}, data: function () { return { diff --git a/komga-webui/src/views/SettingsDuplicatePagesUnknown.vue b/komga-webui/src/views/DuplicatePagesUnknown.vue similarity index 99% rename from komga-webui/src/views/SettingsDuplicatePagesUnknown.vue rename to komga-webui/src/views/DuplicatePagesUnknown.vue index 6f50237c3..026124c86 100644 --- a/komga-webui/src/views/SettingsDuplicatePagesUnknown.vue +++ b/komga-webui/src/views/DuplicatePagesUnknown.vue @@ -112,7 +112,7 @@ import PageHashUnknownCard from '@/components/PageHashUnknownCard.vue' import PageSizeSelect from '@/components/PageSizeSelect.vue' export default Vue.extend({ - name: 'SettingsDuplicatePagesUnknown', + name: 'DuplicatePagesUnknown', components: {PageHashUnknownCard, PageHashMatchesTable, PageSizeSelect}, data: function () { return { diff --git a/komga-webui/src/views/HomeView.vue b/komga-webui/src/views/HomeView.vue index ea031f53f..a1f6581c6 100644 --- a/komga-webui/src/views/HomeView.vue +++ b/komga-webui/src/views/HomeView.vue @@ -105,6 +105,22 @@ + + + mdi-book-cog + + + + {{ $t('media_management.title') }} + + + + mdi-clock-time-four-outline @@ -119,14 +135,7 @@ mdi-cog - - {{ $t('server_settings.server_settings') }} - + {{ $t('server_settings.server_settings') }} diff --git a/komga-webui/src/views/ImportHolder.vue b/komga-webui/src/views/ImportHolder.vue index a4a02a909..ee2bc61a4 100644 --- a/komga-webui/src/views/ImportHolder.vue +++ b/komga-webui/src/views/ImportHolder.vue @@ -1,6 +1,6 @@