update dependencies and fix algolia search.

This commit is contained in:
Zheyuan Wu
2025-11-07 00:49:04 -06:00
parent c426033b63
commit 6a7fbc6de1
3 changed files with 28 additions and 12 deletions

View File

@@ -83,7 +83,7 @@ export default async function RootLayout({ children }) {
docsRepositoryBase="https://github.com/Trance-0/NoteNextra/tree/main"
sidebar={{ defaultMenuCollapseLevel: 1 }}
pageMap={pageMap}
// TODO: fix algolia search
// TODO: fix local search with distributed search index over containers
search={<AlgoliaSearch/>}
>
{children}

View File

@@ -7,8 +7,8 @@ import {useTheme} from 'next-themes';
import '@docsearch/css';
function AlgoliaSearch () {
const {theme} = useTheme();
const darkMode = theme === 'dark';
const {theme, systemTheme} = useTheme();
const darkMode = theme === 'dark' || (theme === 'system' && systemTheme === 'dark');
// console.log("darkMode", darkMode);
return (
<DocSearch
@@ -16,6 +16,22 @@ function AlgoliaSearch () {
indexName={process.env.NEXT_SEARCH_ALGOLIA_INDEX_NAME || 'notenextra_trance_0'}
apiKey={process.env.NEXT_SEARCH_ALGOLIA_API_KEY || '727b389a61e862e590dfab9ce9df31a2'}
theme={darkMode===false ? 'light' : 'dark'}
// this is the first time that AI is solving some problem that I have no idea how to solve
// BEGIN OF CODE GENERATED BY AI
transformItems={(items) =>
// DocSearch lets you sanitize results before render. Filter out hits that dont have a URL and give lvl0 a safe fallback.
items
.filter((i) => typeof i.url === 'string' && i.url) // drop records with null/empty url
.map((i) => ({
...i,
hierarchy: {
...i.hierarchy,
// ensure strings for all places DocSearch prints text
lvl0: i.hierarchy?.lvl0 ?? i.hierarchy?.lvl1 ?? 'Documentation',
},
}))
}
// END OF CODE GENERATED BY AI
/>
);
}

View File

@@ -8,25 +8,25 @@
"start": "next start"
},
"dependencies": {
"@docsearch/css": "^4.2.0",
"@docsearch/react": "^4.2.0",
"@docsearch/css": "^4.3.1",
"@docsearch/react": "^4.3.1",
"@napi-rs/simple-git": "^0.1.22",
"@next/bundle-analyzer": "^15.3.5",
"@next/bundle-analyzer": "^16.0.1",
"@vercel/analytics": "^1.5.0",
"@vercel/speed-insights": "^1.2.0",
"cross-env": "^7.0.3",
"cross-env": "^10.1.0",
"eslint-config-next": "^16.0.1",
"katex": "^0.16.22",
"katex": "^0.16.25",
"next": "^16.0.1",
"next-sitemap": "^4.2.3",
"nextra": "^4.2.17",
"nextra-theme-docs": "^4.2.17",
"nextra": "^4.6.0",
"nextra-theme-docs": "^4.6.0",
"pagefind": "^1.4.0",
"react": "^19.2.0",
"react-dom": "^19.2.0"
},
"devDependencies": {
"@types/node": "24.0.10",
"@types/react": "19.1.8"
"@types/node": "24.10.0",
"@types/react": "19.2.2"
}
}