diff --git a/app/src/i18n/locales/en.json b/app/src/i18n/locales/en.json index fbaf0791..4bd0ea1a 100644 --- a/app/src/i18n/locales/en.json +++ b/app/src/i18n/locales/en.json @@ -7,9 +7,12 @@ "all": "All", "all_apps": "All apps", "api_not_responding": "The YunoHost API is not responding. Maybe 'yunohost-api' is down or got restarted?", + "app_actions": "Actions", "app_change_label": "Change Label", "app_change_url": "Change URL", "app_choose_category": "Choose a category", + "app_config_panel": "Config panel", + "app_config_panel_no_panel": "This application doesn't have any configuration available", "app_info_access_desc": "Groups / users currently allowed to access this app:", "app_info_changelabel_desc": "Change app label in the portal.", "app_info_default_desc": "Redirect domain root to this application ({domain}).", diff --git a/app/src/router/routes.js b/app/src/router/routes.js index 39b90e94..498893fe 100644 --- a/app/src/router/routes.js +++ b/app/src/router/routes.js @@ -179,7 +179,7 @@ const routes = [ { name: 'app-install', path: '/apps/install/:id', - component: () => import(/* webpackChunkName: "views/apps" */ '@/views/app/AppInstall'), + component: () => import(/* webpackChunkName: "views/apps-install" */ '@/views/app/AppInstall'), props: true, meta: { breadcrumb: [ @@ -192,7 +192,7 @@ const routes = [ { name: 'app-install-custom', path: '/apps/install-custom/:id', - component: () => import(/* webpackChunkName: "views/apps" */ '@/views/app/AppInstall'), + component: () => import(/* webpackChunkName: "views/apps-install-custom" */ '@/views/app/AppInstall'), props: true, meta: { breadcrumb: [ @@ -217,13 +217,26 @@ const routes = [ { name: 'app-actions', path: '/apps/:id/actions', - component: () => import(/* webpackChunkName: "views/apps" */ '@/views/app/AppActions'), + component: () => import(/* webpackChunkName: "views/apps-expe" */ '@/views/app/AppActions'), props: true, meta: { breadcrumb: [ { name: 'app-list', trad: 'applications' }, { name: 'app-info', param: 'id' }, - { name: 'app-actions', trad: 'action' } + { name: 'app-actions', trad: 'app_actions' } + ] + } + }, + { + name: 'app-config-panel', + path: '/apps/:id/config-panel', + component: () => import(/* webpackChunkName: "views/apps-expe" */ '@/views/app/AppConfigPanel'), + props: true, + meta: { + breadcrumb: [ + { name: 'app-list', trad: 'applications' }, + { name: 'app-info', param: 'id' }, + { name: 'app-config-panel', trad: 'app_config_panel' } ] } }, diff --git a/app/src/views/app/AppConfigPanel.vue b/app/src/views/app/AppConfigPanel.vue new file mode 100644 index 00000000..85b8bb84 --- /dev/null +++ b/app/src/views/app/AppConfigPanel.vue @@ -0,0 +1,128 @@ + + + + + {{ $t('experimental_warning') }} + + + + + + {{ panel.name }} {{ panel.help }} + + + + {{ $t('words.collapse') }} + + + + + + + {{ section.name }} {{ section.help }} + + + + + + + + + + + + + + + + + {{ $t('app_config_panel_no_panel') }} + + + + +