From 678638534bbed2bf2d75f4f867accaed462ce62c Mon Sep 17 00:00:00 2001 From: axolotle Date: Thu, 25 Jul 2024 10:08:11 +0200 Subject: [PATCH] refactor: update config panels views using useConfigPanels --- app/src/router/routes.ts | 64 +++++++------------- app/src/views/app/AppInfo.vue | 94 +++++++++++++---------------- app/src/views/domain/DomainInfo.vue | 75 +++++++++++------------ app/src/views/tool/ToolSettings.vue | 66 +++++++++----------- 4 files changed, 126 insertions(+), 173 deletions(-) diff --git a/app/src/router/routes.ts b/app/src/router/routes.ts index dadfb423..8422ca4a 100644 --- a/app/src/router/routes.ts +++ b/app/src/router/routes.ts @@ -141,22 +141,15 @@ const routes = [ }, }, { - path: '/domains/:name', + name: 'domain-info', + path: '/domains/:name/:tabId?', component: () => import('@/views/domain/DomainInfo.vue'), props: true, - children: [ - { - name: 'domain-info', - path: ':tabId?', - component: () => import('@/components/ConfigPanel.vue'), - props: true, - meta: { - routerParams: ['name'], // Override router key params to avoid view recreation at tab change. - args: { param: 'name' }, - breadcrumb: ['domain-list', 'domain-info'], - }, - }, - ], + meta: { + routerParams: ['name'], // Override router key params to avoid view recreation at tab change. + args: { param: 'name' }, + breadcrumb: ['domain-list', 'domain-info'], + }, }, /* ───────╮ @@ -202,22 +195,15 @@ const routes = [ }, }, { - path: '/apps/:id', + name: 'app-info', + path: '/apps/:id/:tabId?', component: () => import('@/views/app/AppInfo.vue'), props: true, - children: [ - { - name: 'app-info', - path: ':tabId?', - component: () => import('@/components/ConfigPanel.vue'), - props: true, - meta: { - routerParams: ['id'], // Override router key params to avoid view recreation at tab change. - args: { param: 'id' }, - breadcrumb: ['app-list', 'app-info'], - }, - }, - ], + meta: { + routerParams: ['id'], // Override router key params to avoid view recreation at tab change. + args: { param: 'id' }, + breadcrumb: ['app-list', 'app-info'], + }, }, /* ────────────────╮ @@ -315,21 +301,15 @@ const routes = [ }, }, { - path: '/tools/settings', + name: 'tool-settings', + path: '/tools/settings/:tabId?', component: () => import('@/views/tool/ToolSettings.vue'), - children: [ - { - name: 'tool-settings', - path: ':tabId?', - component: () => import('@/components/ConfigPanel.vue'), - props: true, - meta: { - routerParams: [], - args: { trad: 'tools_yunohost_settings' }, - breadcrumb: ['tool-list', 'tool-settings'], - }, - }, - ], + props: true, + meta: { + routerParams: [], + args: { trad: 'tools_yunohost_settings' }, + breadcrumb: ['tool-list', 'tool-settings'], + }, }, { name: 'tool-power', diff --git a/app/src/views/app/AppInfo.vue b/app/src/views/app/AppInfo.vue index 255bbe11..a71ede7b 100644 --- a/app/src/views/app/AppInfo.vue +++ b/app/src/views/app/AppInfo.vue @@ -1,26 +1,29 @@