diff --git a/src/generators/web/ui/components/NavBar.jsx b/src/generators/web/ui/components/NavBar.jsx
index e3499282..a2315a4c 100644
--- a/src/generators/web/ui/components/NavBar.jsx
+++ b/src/generators/web/ui/components/NavBar.jsx
@@ -12,7 +12,7 @@ import Logo from '#theme/Logo';
/**
* NavBar component that displays the headings, search, etc.
*/
-export default () => {
+export default ({ metadata }) => {
const [themePreference, setThemePreference] = useTheme();
return (
@@ -21,7 +21,7 @@ export default () => {
sidebarItemTogglerAriaLabel="Toggle navigation menu"
navItems={[]}
>
-
+
{
- const client = useOrama();
+const SearchBox = ({ pathname }) => {
+ const client = useOrama(pathname);
return (
diff --git a/src/generators/web/ui/hooks/useOrama.mjs b/src/generators/web/ui/hooks/useOrama.mjs
index 85fcd230..e371b640 100644
--- a/src/generators/web/ui/hooks/useOrama.mjs
+++ b/src/generators/web/ui/hooks/useOrama.mjs
@@ -1,10 +1,14 @@
import { create, search, load } from '@orama/orama';
import { useState, useEffect } from 'react';
+import { relative } from '../../../../utils/url.mjs';
+
/**
* Hook for initializing and managing Orama search database
+ *
+ * @param {string} pathname - The current page's path (e.g., '/api/fs')
*/
-export default () => {
+export default pathname => {
const [client, setClient] = useState(null);
useEffect(() => {
@@ -22,7 +26,7 @@ export default () => {
setClient(db);
// Load the search data
- fetch('orama-db.json')
+ fetch(relative('/orama-db.json', pathname))
.then(response => response.ok && response.json())
.then(data => load(db, data));
}, []);