fix: temporary fix for docsearch navigation

pull/4513/head
Divyansh Singh 8 months ago
parent f93d415242
commit e0350275b3

@ -95,8 +95,8 @@
"*": "prettier --write --ignore-unknown" "*": "prettier --write --ignore-unknown"
}, },
"dependencies": { "dependencies": {
"@docsearch/css": "3.8.2", "@docsearch/css": "^3.8.3",
"@docsearch/js": "3.8.2", "@docsearch/js": "^3.8.3",
"@iconify-json/simple-icons": "^1.2.21", "@iconify-json/simple-icons": "^1.2.21",
"@shikijs/core": "^2.1.0", "@shikijs/core": "^2.1.0",
"@shikijs/transformers": "^2.1.0", "@shikijs/transformers": "^2.1.0",

@ -17,11 +17,11 @@ importers:
.: .:
dependencies: dependencies:
'@docsearch/css': '@docsearch/css':
specifier: 3.8.2 specifier: ^3.8.3
version: 3.8.2 version: 3.8.3
'@docsearch/js': '@docsearch/js':
specifier: 3.8.2 specifier: ^3.8.3
version: 3.8.2(@algolia/client-search@5.19.0) version: 3.8.3(@algolia/client-search@5.19.0)
'@iconify-json/simple-icons': '@iconify-json/simple-icons':
specifier: ^1.2.21 specifier: ^1.2.21
version: 1.2.21 version: 1.2.21
@ -329,22 +329,22 @@ importers:
packages: packages:
'@algolia/autocomplete-core@1.17.7': '@algolia/autocomplete-core@1.17.9':
resolution: {integrity: sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==} resolution: {integrity: sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==}
'@algolia/autocomplete-plugin-algolia-insights@1.17.7': '@algolia/autocomplete-plugin-algolia-insights@1.17.9':
resolution: {integrity: sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==} resolution: {integrity: sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==}
peerDependencies: peerDependencies:
search-insights: '>= 1 < 3' search-insights: '>= 1 < 3'
'@algolia/autocomplete-preset-algolia@1.17.7': '@algolia/autocomplete-preset-algolia@1.17.9':
resolution: {integrity: sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==} resolution: {integrity: sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==}
peerDependencies: peerDependencies:
'@algolia/client-search': '>= 4.9.1 < 6' '@algolia/client-search': '>= 4.9.1 < 6'
algoliasearch: '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6'
'@algolia/autocomplete-shared@1.17.7': '@algolia/autocomplete-shared@1.17.9':
resolution: {integrity: sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==} resolution: {integrity: sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==}
peerDependencies: peerDependencies:
'@algolia/client-search': '>= 4.9.1 < 6' '@algolia/client-search': '>= 4.9.1 < 6'
algoliasearch: '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6'
@ -449,14 +449,14 @@ packages:
conventional-commits-parser: conventional-commits-parser:
optional: true optional: true
'@docsearch/css@3.8.2': '@docsearch/css@3.8.3':
resolution: {integrity: sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==} resolution: {integrity: sha512-1nELpMV40JDLJ6rpVVFX48R1jsBFIQ6RnEQDsLFGmzOjPWTOMlZqUcXcvRx8VmYV/TqnS1l784Ofz+ZEb+wEOQ==}
'@docsearch/js@3.8.2': '@docsearch/js@3.8.3':
resolution: {integrity: sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==} resolution: {integrity: sha512-CQsX1zeoPJIWxN3IGoDSWOqzRc0JsOE9Bclegf9llwjYN2rzzJF93zagGcT3uI3tF31oCqTuUOVGW/mVFb7arw==}
'@docsearch/react@3.8.2': '@docsearch/react@3.8.3':
resolution: {integrity: sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==} resolution: {integrity: sha512-6UNrg88K7lJWmuS6zFPL/xgL+n326qXqZ7Ybyy4E8P/6Rcblk3GE8RXxeol4Pd5pFpKMhOhBhzABKKwHtbJCIg==}
peerDependencies: peerDependencies:
'@types/react': '>= 16.8.0 < 19.0.0' '@types/react': '>= 16.8.0 < 19.0.0'
react: '>= 16.8.0 < 19.0.0' react: '>= 16.8.0 < 19.0.0'
@ -2783,29 +2783,29 @@ packages:
snapshots: snapshots:
'@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)': '@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)':
dependencies: dependencies:
'@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)
'@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)
transitivePeerDependencies: transitivePeerDependencies:
- '@algolia/client-search' - '@algolia/client-search'
- algoliasearch - algoliasearch
- search-insights - search-insights
'@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)': '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)':
dependencies: dependencies:
'@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)
transitivePeerDependencies: transitivePeerDependencies:
- '@algolia/client-search' - '@algolia/client-search'
- algoliasearch - algoliasearch
'@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)': '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)':
dependencies: dependencies:
'@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)
'@algolia/client-search': 5.19.0 '@algolia/client-search': 5.19.0
algoliasearch: 5.19.0 algoliasearch: 5.19.0
'@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)': '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)':
dependencies: dependencies:
'@algolia/client-search': 5.19.0 '@algolia/client-search': 5.19.0
algoliasearch: 5.19.0 algoliasearch: 5.19.0
@ -2937,11 +2937,11 @@ snapshots:
conventional-commits-filter: 5.0.0 conventional-commits-filter: 5.0.0
conventional-commits-parser: 6.0.0 conventional-commits-parser: 6.0.0
'@docsearch/css@3.8.2': {} '@docsearch/css@3.8.3': {}
'@docsearch/js@3.8.2(@algolia/client-search@5.19.0)': '@docsearch/js@3.8.3(@algolia/client-search@5.19.0)':
dependencies: dependencies:
'@docsearch/react': 3.8.2(@algolia/client-search@5.19.0) '@docsearch/react': 3.8.3(@algolia/client-search@5.19.0)
preact: 10.25.4 preact: 10.25.4
transitivePeerDependencies: transitivePeerDependencies:
- '@algolia/client-search' - '@algolia/client-search'
@ -2950,11 +2950,11 @@ snapshots:
- react-dom - react-dom
- search-insights - search-insights
'@docsearch/react@3.8.2(@algolia/client-search@5.19.0)': '@docsearch/react@3.8.3(@algolia/client-search@5.19.0)':
dependencies: dependencies:
'@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)
'@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)
'@docsearch/css': 3.8.2 '@docsearch/css': 3.8.3
algoliasearch: 5.19.0 algoliasearch: 5.19.0
transitivePeerDependencies: transitivePeerDependencies:
- '@algolia/client-search' - '@algolia/client-search'

@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import docsearch from '@docsearch/js' import docsearch from '@docsearch/js'
import { useRoute, useRouter } from 'vitepress' import { useRouter } from 'vitepress'
import type { DefaultTheme } from 'vitepress/theme' import type { DefaultTheme } from 'vitepress/theme'
import { nextTick, onMounted, watch } from 'vue' import { nextTick, onMounted, watch } from 'vue'
import { useData } from '../composables/data' import { useData } from '../composables/data'
@ -10,7 +10,6 @@ const props = defineProps<{
}>() }>()
const router = useRouter() const router = useRouter()
const route = useRoute()
const { site, localeIndex, lang } = useData() const { site, localeIndex, lang } = useData()
type DocSearchProps = Parameters<typeof docsearch>[0] type DocSearchProps = Parameters<typeof docsearch>[0]
@ -51,18 +50,8 @@ function initialize(userOptions: DefaultTheme.AlgoliaSearchOptions) {
navigator: { navigator: {
navigate({ itemUrl }) { navigate({ itemUrl }) {
const { pathname: hitPathname } = new URL(
window.location.origin + itemUrl
)
// router doesn't handle same-page navigation so we use the native
// browser location API for anchor navigation
if (route.path === hitPathname) {
window.location.assign(window.location.origin + itemUrl)
} else {
router.go(itemUrl) router.go(itemUrl)
} }
}
}, },
transformItems(items) { transformItems(items) {
@ -71,17 +60,6 @@ function initialize(userOptions: DefaultTheme.AlgoliaSearchOptions) {
url: getRelativePath(item.url) url: getRelativePath(item.url)
}) })
}) })
},
hitComponent({ hit, children }) {
return {
__v: null,
type: 'a',
ref: undefined,
constructor: undefined,
key: undefined,
props: { href: hit.url, children }
}
} }
}) as DocSearchProps }) as DocSearchProps

Loading…
Cancel
Save