diff --git a/app/package.json b/app/package.json
index a420afe..11e8d07 100755
--- a/app/package.json
+++ b/app/package.json
@@ -2,7 +2,7 @@
"scripts": {
"dev": "bun ./fastify-entry.ts",
"build": "cross-env DEBUG=vike:error,vike:log vike build",
- "preview": "cross-env NODE_ENV=production bun ./fastify-server.ts",
+ "preview": "cross-env NODE_ENV=production bun ./fastify-entry.ts",
"production": "bun run build && bun run preview",
"lint": "biome lint --write .",
"format": "biome format --write ."
diff --git a/app/pages/+config.ts b/app/pages/+config.ts
index 18b2a09..7c3a382 100755
--- a/app/pages/+config.ts
+++ b/app/pages/+config.ts
@@ -25,8 +25,8 @@ export default {
class: "flex min-h-full bg-white",
},
- prerender: true,
- prefetchStaticAssets: "hover",
+ // prerender: true,
+ // prefetchStaticAssets: "hover",
extends: [vikeSolid],
} satisfies Config;
diff --git a/app/partials/Navigation.tsx b/app/partials/Navigation.tsx
index 026411e..a5aa6a9 100644
--- a/app/partials/Navigation.tsx
+++ b/app/partials/Navigation.tsx
@@ -12,13 +12,15 @@ type NavigationItemProps = {
};
function NavigationItem(props: NavigationItemProps) {
- const { urlPathname } = usePageContext();
+ const pageContext = usePageContext();
const [isOpened, setIsOpened] = createSignal(
props.section.links.some(
(link) =>
- link.href === urlPathname ||
- link.subitems?.some((subitem) => subitem.href === urlPathname),
+ link.href === pageContext.urlPathname ||
+ link.subitems?.some(
+ (subitem) => subitem.href === pageContext.urlPathname,
+ ),
),
);
@@ -64,9 +66,9 @@ function NavigationItem(props: NavigationItemProps) {
link={link}
onLinkClick={props.onLinkClick}
isOpened={
- link.href === urlPathname ||
+ link.href === pageContext.urlPathname ||
link.subitems?.some(
- (subitem) => subitem.href === urlPathname,
+ (subitem) => subitem.href === pageContext.urlPathname,
)
}
/>
@@ -87,14 +89,16 @@ type NavigationSubItemProps = {
function NavigationSubItem(props: NavigationSubItemProps) {
const [isOpened, setIsOpened] = createSignal(props.isOpened);
- const { urlPathname } = usePageContext();
+ const pageContext = usePageContext();
createEffect(() => {
setIsOpened(
- props.link.href === urlPathname ||
- props.link.subitems?.some((subitem) => subitem.href === urlPathname),
+ props.link.href === pageContext.urlPathname ||
+ props.link.subitems?.some(
+ (subitem) => subitem.href === pageContext.urlPathname,
+ ),
);
- }, [urlPathname, props.link]);
+ }, [pageContext.urlPathname, props.link]);
return (
<>
@@ -131,7 +135,7 @@ function NavigationSubItem(props: NavigationSubItemProps) {
"before:top-3 before:-translate-y-1/2 font-semibold":
props.link.subitems,
},
- props.link.href !== urlPathname && "before:hidden",
+ props.link.href !== pageContext.urlPathname && "before:hidden",
isOpened()
? "text-violet-500 before:bg-violet-500"
: "text-slate-500 before:bg-slate-300 hover:text-slate-600 hover:before:block",
@@ -153,7 +157,7 @@ function NavigationSubItem(props: NavigationSubItemProps) {
onClick={props.onLinkClick}
class={clsx(
"block w-full pl-3.5 before:pointer-events-none before:absolute before:top-1/2 before:-left-1 before:h-1.5 before:w-1.5 before:-translate-y-1/2 before:rounded-full",
- subitem.href === urlPathname
+ subitem.href === pageContext.urlPathname
? "font-semibold text-violet-500 before:bg-violet-500"
: "text-slate-500 before:hidden before:bg-slate-300 hover:text-slate-600 hover:before:block",
)}
diff --git a/app/partials/TableOfContents.tsx b/app/partials/TableOfContents.tsx
index 4dbb196..4eeb1df 100644
--- a/app/partials/TableOfContents.tsx
+++ b/app/partials/TableOfContents.tsx
@@ -7,19 +7,15 @@ import { Link } from "@/components/Link";
import clsx from "clsx";
export function TableOfContents() {
- const { sections } = useData
();
- if (!sections) return null;
+ const data = useData();
+ if (!data.sections) return null;
- createEffect(() => {
- for (const [key, value] of Object.entries(sections)) {
- console.log(`${key}: ${JSON.stringify(value)}`);
- }
- });
-
- const [currentSection, setCurrentSection] = createSignal(sections[0]?.hash);
+ const [currentSection, setCurrentSection] = createSignal(
+ data.sections[0]?.hash,
+ );
const getHeadings = () => {
- return sections
+ return data.sections
.map((section) => {
if (!section.hash) return null;
@@ -36,7 +32,7 @@ export function TableOfContents() {
};
createEffect(() => {
- if (sections.length === 0) return;
+ if (data.sections.length === 0) return;
const headings = getHeadings();
function onScroll() {
@@ -55,7 +51,7 @@ export function TableOfContents() {
return () => {
window.removeEventListener("scroll", onScroll);
};
- }, [getHeadings, sections]);
+ }, [getHeadings, data.sections]);
function isActive(section: DocSection) {
if (section.hash === currentSection()) return true;
@@ -76,7 +72,7 @@ export function TableOfContents() {
-
+
{(section) => (
-