diff --git a/packages/chronicle/src/lib/page-context.tsx b/packages/chronicle/src/lib/page-context.tsx index 2bb4232..56e8543 100644 --- a/packages/chronicle/src/lib/page-context.tsx +++ b/packages/chronicle/src/lib/page-context.tsx @@ -86,7 +86,7 @@ export function PageProvider({ ? [] : pathname.slice(1).split('/').filter(Boolean); - const apiPath = slug.length === 0 ? '/api/page/' : `/api/page/${slug.join('/')}`; + const apiPath = slug.length === 0 ? '/api/page' : `/api/page?slug=${slug.join(',')}`; fetch(apiPath) .then(res => res.json()) diff --git a/packages/chronicle/src/server/api/page/[...slug].ts b/packages/chronicle/src/server/api/page.ts similarity index 78% rename from packages/chronicle/src/server/api/page/[...slug].ts rename to packages/chronicle/src/server/api/page.ts index f17e060..bfb43aa 100644 --- a/packages/chronicle/src/server/api/page/[...slug].ts +++ b/packages/chronicle/src/server/api/page.ts @@ -2,8 +2,8 @@ import { defineHandler, HTTPError } from 'nitro'; import { getPage, extractFrontmatter, getRelativePath, getOriginalPath } from '@/lib/source'; export default defineHandler(async event => { - const slugParam = event.context.params?.slug ?? ''; - const slug = slugParam ? slugParam.split('/') : []; + const slugParam = event.url.searchParams.get('slug') ?? ''; + const slug = slugParam ? slugParam.split(',').filter(Boolean) : []; const page = await getPage(slug); if (!page) { diff --git a/packages/chronicle/src/server/api/page/index.ts b/packages/chronicle/src/server/api/page/index.ts deleted file mode 100644 index 347ef5d..0000000 --- a/packages/chronicle/src/server/api/page/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from './[...slug]';