diff --git a/frontend/src/router/routes/geenforce.js b/frontend/src/router/routes/geenforce.js index a06b4d7..a3953c2 100644 --- a/frontend/src/router/routes/geenforce.js +++ b/frontend/src/router/routes/geenforce.js @@ -1,21 +1,30 @@ /** * GE-Enforce plugin routes. * - * The imaging-PC-type manifest editor lives under /settings. meta.plugin = - * 'geenforce' so the ADR-009 router guard hides it when the plugin is disabled. - * Admin-only, like the other settings pages. + * A top-level section (not under /settings) - the manifest editor + fleet + * reports are a large operational surface, so they get their own full-width + * shell with tabs. meta.plugin = 'geenforce' so the ADR-009 guard hides the + * section when the plugin is disabled. Admin-only. */ export default [ { - path: 'settings/imagingpctypes', - name: 'imagingpctypes', - component: () => import('../../views/settings/ImagingPCTypes.vue'), - meta: { requiresAuth: true, requiresAdmin: true, plugin: 'geenforce' } - }, - { - path: 'settings/enforcementreports', - name: 'enforcementreports', - component: () => import('../../views/settings/EnforcementReports.vue'), - meta: { requiresAuth: true, requiresAdmin: true, plugin: 'geenforce' } + path: 'geenforce', + component: () => import('../../views/geenforce/GeEnforceLayout.vue'), + meta: { requiresAuth: true, requiresAdmin: true, plugin: 'geenforce' }, + children: [ + { path: '', redirect: '/geenforce/manifests' }, + { + path: 'manifests', + name: 'geenforce-manifests', + component: () => import('../../views/geenforce/ManifestEditor.vue'), + meta: { requiresAuth: true, requiresAdmin: true, plugin: 'geenforce' } + }, + { + path: 'reports', + name: 'geenforce-reports', + component: () => import('../../views/geenforce/EnforcementReports.vue'), + meta: { requiresAuth: true, requiresAdmin: true, plugin: 'geenforce' } + } + ] } ] diff --git a/frontend/src/views/geenforce/EnforcementReports.vue b/frontend/src/views/geenforce/EnforcementReports.vue new file mode 100644 index 0000000..5a51f48 --- /dev/null +++ b/frontend/src/views/geenforce/EnforcementReports.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/frontend/src/views/geenforce/GeEnforceLayout.vue b/frontend/src/views/geenforce/GeEnforceLayout.vue new file mode 100644 index 0000000..b5c74af --- /dev/null +++ b/frontend/src/views/geenforce/GeEnforceLayout.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/frontend/src/views/geenforce/ManifestEditor.vue b/frontend/src/views/geenforce/ManifestEditor.vue new file mode 100644 index 0000000..ba57bf8 --- /dev/null +++ b/frontend/src/views/geenforce/ManifestEditor.vue @@ -0,0 +1,632 @@ +