Skip to content

Commit b80a9b1

Browse files
committed
fix syntax lookup url
1 parent 05bb0b4 commit b80a9b1

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/SyntaxLookup.res

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,6 @@ let make = (
188188
) => {
189189
let allItems = mdxSources->Array.map(mdxSource => {
190190
let {id, keywords, category, summary, name, status, href} = mdxSource
191-
192191
{
193192
Item.id,
194193
keywords,
@@ -213,7 +212,6 @@ let make = (
213212

214213
let fuse: Fuse.t<Item.t> = Fuse.make(allItems, fuseOpts)
215214

216-
let location = ReactRouter.useLocation()
217215
let (state, setState) = React.useState(_ => {
218216
switch activeItem {
219217
| Some(item) => ShowDetails((item :> Item.t))
@@ -238,6 +236,8 @@ let make = (
238236

239237
let navigate = ReactRouter.useNavigate()
240238

239+
let {pathname} = ReactRouter.useLocation()
240+
241241
// onSearchValueChange() is called when:
242242
// [A] The search value changes.
243243
// [B] The search is cleared.
@@ -248,7 +248,6 @@ let make = (
248248
// [2] Search exactly matches an item - trigger a route change, and allow the EFFECT to update the view state.
249249
// [3] Search does not match an item - immediately update the view state to show filtered items.
250250
let onSearchValueChange = value => {
251-
Console.log2("value changed", value)
252251
switch value {
253252
| "" =>
254253
setState(_ => ShowAll)
@@ -259,7 +258,14 @@ let make = (
259258
let filtered = searchItems(value)
260259
setState(_ => ShowFiltered(value, filtered))
261260
}
262-
| Some(item) => navigate("/syntax-lookup/" ++ item.id)
261+
| Some(item) => {
262+
let target = "/syntax-lookup/" ++ item.href
263+
264+
// This makes sure we don't double navigate
265+
if (pathname :> string) != target {
266+
navigate(target)
267+
}
268+
}
263269
}
264270
}
265271
}

0 commit comments

Comments
 (0)