Skip to content

Commit af868c3

Browse files
committed
FIX: Potential navigation issue if links are added to guides
1 parent 360f542 commit af868c3

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

packages/frontend/src/help/guide.tsx

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { useParams } from "@solidjs/router";
2-
import { lazy } from "solid-js";
2+
import { createResource, Show } from "solid-js";
33
import { Dynamic } from "solid-js/web";
44

55
import { guidesList } from "./guides";
@@ -14,19 +14,27 @@ export default function GuideHelpPage() {
1414
export function GuideHelp(props: { id?: string }) {
1515
// Note that guide should never be undefined, due to existingGuideFilter
1616
// in routes.ts
17-
const guide = guidesList.find((item) => item.id === props.id);
17+
const guide = () => guidesList.find((item) => item.id === props.id);
18+
19+
const [content] = createResource(
20+
() => props.id,
21+
async (guideId) => {
22+
if (!guideId) {
23+
return null;
24+
}
25+
return await import(`./guide/${guideId}.mdx`);
26+
},
27+
);
1828

1929
return (
2030
<>
2131
<h1>
22-
<a href="/help/guides/">Guides</a> / {guide?.title}
32+
<a href="/help/guides/">Guides</a> / {guide()?.title}
2333
</h1>
2434
<p>
25-
<i>{guide?.description}</i>
35+
<i>{guide()?.description}</i>
2636
</p>
27-
<Dynamic component={helpGuideContent(props.id)} />
37+
<Show when={content()}>{(module) => <Dynamic component={module().default} />}</Show>
2838
</>
2939
);
3040
}
31-
32-
const helpGuideContent = (id?: string) => lazy(() => import(`./guide/${id}.mdx`));

0 commit comments

Comments
 (0)