From 514586bff4511c57a8696414f7c9bd6ff098bfc9 Mon Sep 17 00:00:00 2001 From: pyr0ball Date: Wed, 13 May 2026 16:57:38 -0700 Subject: [PATCH] =?UTF-8?q?feat:=20Context=20view=20=E2=80=94=20document?= =?UTF-8?q?=20and=20fact=20management=20with=20accessible=20tables?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds /context route with tabbed UI for managing uploaded documents and manually-entered environment facts. Includes inline confirm-before-delete, add-fact form with category/key/value fields, wizard CTA panel, and stub components for DocUploadZone and WizardOverlay (Task 14). --- web/src/App.vue | 1 + web/src/components/DocUploadZone.vue | 7 + web/src/components/WizardOverlay.vue | 7 + web/src/router/index.ts | 2 + web/src/views/ContextView.vue | 258 +++++++++++++++++++++++++++ 5 files changed, 275 insertions(+) create mode 100644 web/src/components/DocUploadZone.vue create mode 100644 web/src/components/WizardOverlay.vue create mode 100644 web/src/views/ContextView.vue diff --git a/web/src/App.vue b/web/src/App.vue index dc651e1..9166780 100644 --- a/web/src/App.vue +++ b/web/src/App.vue @@ -57,6 +57,7 @@ const navLinks = [ { to: '/incidents', label: 'Incidents' }, { to: '/bundles', label: 'Bundles' }, { to: '/sources', label: 'Sources' }, + { to: '/context', label: 'Context' }, ] const isDark = ref(document.documentElement.classList.contains('dark')) diff --git a/web/src/components/DocUploadZone.vue b/web/src/components/DocUploadZone.vue new file mode 100644 index 0000000..2ae2b49 --- /dev/null +++ b/web/src/components/DocUploadZone.vue @@ -0,0 +1,7 @@ + + + diff --git a/web/src/components/WizardOverlay.vue b/web/src/components/WizardOverlay.vue new file mode 100644 index 0000000..8ca915d --- /dev/null +++ b/web/src/components/WizardOverlay.vue @@ -0,0 +1,7 @@ + + + diff --git a/web/src/router/index.ts b/web/src/router/index.ts index ba7c788..ee1903d 100644 --- a/web/src/router/index.ts +++ b/web/src/router/index.ts @@ -6,6 +6,7 @@ import SourcesView from '@/views/SourcesView.vue' import IncidentsView from '@/views/IncidentsView.vue' import BundlesView from '@/views/BundlesView.vue' import SettingsView from '@/views/SettingsView.vue' +import ContextView from '@/views/ContextView.vue' export default createRouter({ history: createWebHistory(import.meta.env.BASE_URL), @@ -17,6 +18,7 @@ export default createRouter({ { path: '/incidents', component: IncidentsView }, { path: '/bundles', component: BundlesView }, { path: '/sources', component: SourcesView }, + { path: '/context', component: ContextView }, { path: '/settings', component: SettingsView }, ], }) diff --git a/web/src/views/ContextView.vue b/web/src/views/ContextView.vue new file mode 100644 index 0000000..1360fe9 --- /dev/null +++ b/web/src/views/ContextView.vue @@ -0,0 +1,258 @@ + + +