Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 14 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
"description": "Multi-person multi-agent AI interactions",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"test": "echo \"Error: no test specified\" && exit 1",
"serve": "vue-cli-service serve",
"build": "vue-cli-service build"
},
"keywords": [
"agentic",
Expand All @@ -27,18 +29,28 @@
"axios": "^1.7.9",
"cheerio": "^1.0.0",
"cors": "^2.8.5",
"d3": "^7.8.5",
"dotenv": "^16.4.7",
"express": "^4.21.2",
"groq-sdk": "^0.9.1",
"helmet": "^8.0.0",
"jsonwebtoken": "^9.0.2",
"multer": "^1.4.5-lts.1",
"neo4j-driver": "^5.12.0",
"openai": "^4.76.0",
"pdfjs-dist": "^4.10.38",
"playht": "^0.16.0",
"short-unique-id": "^5.2.0",
"socket.io": "^4.8.1",
"uuid": "^11.0.3",
"vue": "^3.3.4",
"ws": "^8.18.0"
},
"devDependencies": {
"@vue/cli-service": "~5.0.8",
"@vue/compiler-sfc": "^3.3.4",
"tailwindcss": "^3.3.5",
"postcss": "^8.4.31",
"autoprefixer": "^10.4.16"
}
}
}
116 changes: 63 additions & 53 deletions public/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,69 +3,68 @@ import { useConfigs } from "./composables/useConfigs.js";
import { useModels } from "./composables/useModels.js";
// import { useRealTime } from "./composables/useRealTime.js";
import { useTextToSpeech } from "./composables/useTextToSpeech.js";
import router from "../router/index.js";
import router from "./router/index.js";

export default {
template: `
<div class="min-h-screen bg-gray-950">
<input type="file" ref="fileInput" style="display: none;" @change="handleFileUpload" accept=".json"/>

<div class="min-h-screen">
<nav class="bg-gray-800 shadow-lg border-b border-gray-700">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between h-12 items-center">
<div class="flex items-center">
<!-- Home Link -->
<router-link to="/" class="flex-shrink-0 flex items-center text-emerald-500 font-semibold">
SuperBinder
</router-link>
<nav class="bg-gray-800 shadow-lg border-b border-gray-700">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between h-12 items-center">
<div class="flex items-center">
<!-- Home Link -->
<router-link to="/" class="flex-shrink-0 flex items-center text-emerald-500 font-semibold">
SuperBinder
</router-link>

<!-- Desktop menu -->
<div class="hidden sm:ml-6 sm:flex sm:space-x-8">
<router-link
v-for="item in menuItems"
:key="item.label"
:to="item.to"
class="text-gray-300 hover:text-white px-3 py-2 text-sm font-medium"
>
{{ item.label }}
</router-link>
</div>
</div>

<!-- Mobile menu button -->
<div class="sm:hidden flex items-center">
<button @click="toggleMenu" type="button" class="text-gray-300 hover:text-white">
<span class="sr-only">Open main menu</span>
<svg v-if="!menuOpen" class="block h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
</svg>
<svg v-else class="block h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</button>
<!-- Desktop menu -->
<div class="hidden sm:ml-6 sm:flex sm:space-x-8">
<router-link
v-for="item in menuItems"
:key="item.label"
:to="item.to"
class="text-gray-300 hover:text-white px-3 py-2 text-sm font-medium"
>
{{ item.label }}
</router-link>
</div>
</div>

<!-- Mobile menu button -->
<div class="sm:hidden flex items-center">
<button @click="toggleMenu" type="button" class="text-gray-300 hover:text-white">
<span class="sr-only">Open main menu</span>
<svg v-if="!menuOpen" class="block h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
</svg>
<svg v-else class="block h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</button>
</div>
</div>
</div>

<!-- Mobile menu -->
<div class="sm:hidden" v-show="menuOpen" id="mobile-menu">
<div class="px-2 pt-2 pb-3 space-y-1 bg-gray-800 border-t border-gray-700">
<router-link
v-for="item in menuItems"
:key="item.label"
:to="item.to"
class="block px-3 py-2 text-base font-medium text-gray-300 hover:text-white"
>
{{ item.label }}
</router-link>
</div>
<!-- Mobile menu -->
<div class="sm:hidden" v-show="menuOpen" id="mobile-menu">
<div class="px-2 pt-2 pb-3 space-y-1 bg-gray-800 border-t border-gray-700">
<router-link
v-for="item in menuItems"
:key="item.label"
:to="item.to"
class="block px-3 py-2 text-base font-medium text-gray-300 hover:text-white"
>
{{ item.label }}
</router-link>
</div>
</nav>
<main class="flex-1 overflow-hidden">
<router-view></router-view>
</main>
</div>
</div>
</nav>

<main class="flex-1 overflow-hidden">
<router-view></router-view>
</main>
</div>
`,
setup() {
Expand All @@ -81,9 +80,10 @@ export default {
// Using router path directly
const isLandingPage = Vue.computed(() => router.currentRoute.value.path === '/');

// Define your menu items once here
// Define your menu items with the new knowledge graph page
const menuItems = [
{ label: "Binder", to: "/binder" },
{ label: "Knowledge Graph", to: "/knowledge-graph" }
];

function triggerFileInput() {
Expand Down Expand Up @@ -132,6 +132,16 @@ export default {
menuOpen.value = !menuOpen.value;
}

return { isLandingPage, download, triggerFileInput, handleFileUpload, fileInput, menuOpen, toggleMenu, projects, menuItems };
return {
isLandingPage,
download,
triggerFileInput,
handleFileUpload,
fileInput,
menuOpen,
toggleMenu,
projects,
menuItems
};
},
};
Loading