diff --git a/frontend/package.json b/frontend/package.json
index 34f3a94..9da5f6f 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -9,6 +9,7 @@
"preview": "vite preview"
},
"dependencies": {
+ "d3": "^7",
"@tiptap/extension-link": "^2.11.0",
"@tiptap/extension-placeholder": "^2.11.0",
"@tiptap/pm": "^2.11.0",
@@ -22,6 +23,7 @@
"vue-router": "^4.4.0"
},
"devDependencies": {
+ "@types/d3": "^7",
"@types/dompurify": "^3.0.0",
"@vitejs/plugin-vue": "^5.1.0",
"typescript": "~5.6.0",
diff --git a/frontend/src/App.vue b/frontend/src/App.vue
index b9b9cfe..093b35a 100644
--- a/frontend/src/App.vue
+++ b/frontend/src/App.vue
@@ -79,6 +79,7 @@ function onGlobalKeydown(e: KeyboardEvent) {
case "t": router.push("/tasks"); break;
case "p": router.push("/projects"); break;
case "c": router.push("/chat"); break;
+ case "g": router.push("/graph"); break;
}
return;
}
diff --git a/frontend/src/components/AppHeader.vue b/frontend/src/components/AppHeader.vue
index bed1775..2f8fc03 100644
--- a/frontend/src/components/AppHeader.vue
+++ b/frontend/src/components/AppHeader.vue
@@ -88,6 +88,7 @@ onUnmounted(() => document.removeEventListener("click", handleClickOutside));