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" docsRepositoryBase="https://github.com/Trance-0/NoteNextra/tree/main"
sidebar={{ defaultMenuCollapseLevel: 1 }} sidebar={{ defaultMenuCollapseLevel: 1 }}
pageMap={pageMap} pageMap={pageMap}
// TODO: fix algolia search // TODO: fix local search with distributed search index over containers
search={<AlgoliaSearch/>} search={<AlgoliaSearch/>}
> >
{children} {children}

View File

@@ -7,8 +7,8 @@ import {useTheme} from 'next-themes';
import '@docsearch/css'; import '@docsearch/css';
function AlgoliaSearch () { function AlgoliaSearch () {
const {theme} = useTheme(); const {theme, systemTheme} = useTheme();
const darkMode = theme === 'dark'; const darkMode = theme === 'dark' || (theme === 'system' && systemTheme === 'dark');
// console.log("darkMode", darkMode); // console.log("darkMode", darkMode);
return ( return (
<DocSearch <DocSearch
@@ -16,6 +16,22 @@ function AlgoliaSearch () {
indexName={process.env.NEXT_SEARCH_ALGOLIA_INDEX_NAME || 'notenextra_trance_0'} indexName={process.env.NEXT_SEARCH_ALGOLIA_INDEX_NAME || 'notenextra_trance_0'}
apiKey={process.env.NEXT_SEARCH_ALGOLIA_API_KEY || '727b389a61e862e590dfab9ce9df31a2'} apiKey={process.env.NEXT_SEARCH_ALGOLIA_API_KEY || '727b389a61e862e590dfab9ce9df31a2'}
theme={darkMode===false ? 'light' : 'dark'} 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" "start": "next start"
}, },
"dependencies": { "dependencies": {
"@docsearch/css": "^4.2.0", "@docsearch/css": "^4.3.1",
"@docsearch/react": "^4.2.0", "@docsearch/react": "^4.3.1",
"@napi-rs/simple-git": "^0.1.22", "@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/analytics": "^1.5.0",
"@vercel/speed-insights": "^1.2.0", "@vercel/speed-insights": "^1.2.0",
"cross-env": "^7.0.3", "cross-env": "^10.1.0",
"eslint-config-next": "^16.0.1", "eslint-config-next": "^16.0.1",
"katex": "^0.16.22", "katex": "^0.16.25",
"next": "^16.0.1", "next": "^16.0.1",
"next-sitemap": "^4.2.3", "next-sitemap": "^4.2.3",
"nextra": "^4.2.17", "nextra": "^4.6.0",
"nextra-theme-docs": "^4.2.17", "nextra-theme-docs": "^4.6.0",
"pagefind": "^1.4.0", "pagefind": "^1.4.0",
"react": "^19.2.0", "react": "^19.2.0",
"react-dom": "^19.2.0" "react-dom": "^19.2.0"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "24.0.10", "@types/node": "24.10.0",
"@types/react": "19.1.8" "@types/react": "19.2.2"
} }
} }