diff --git a/packages/kit/package.json b/packages/kit/package.json index 94afb93..e2c25e8 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -49,6 +49,10 @@ "./search": { "types": "./dist/components/search/search-utils.d.ts", "default": "./dist/components/search/search-utils.js" + }, + "./context":{ + "types": "./dist/components/context/context.d.ts", + "default": "./dist/components/context/context.js" } }, "peerDependencies": { diff --git a/packages/kit/src/lib/components/context/context.ts b/packages/kit/src/lib/components/context/context.ts new file mode 100644 index 0000000..d441567 --- /dev/null +++ b/packages/kit/src/lib/components/context/context.ts @@ -0,0 +1,11 @@ +import { getContext, setContext } from 'svelte'; + +const key = Symbol('context'); + +export function setBasePathContext(basePath: string) { + setContext(key, basePath); +} + +export function getBasePathContext() { + return getContext(key) as string; +} \ No newline at end of file diff --git a/packages/kit/src/lib/components/layout/docs-sidebar.svelte b/packages/kit/src/lib/components/layout/docs-sidebar.svelte index 051b9e5..e1a01cb 100644 --- a/packages/kit/src/lib/components/layout/docs-sidebar.svelte +++ b/packages/kit/src/lib/components/layout/docs-sidebar.svelte @@ -3,8 +3,11 @@ import { page } from "$app/stores"; import type { Navigation, SidebarNavSection } from "$lib/types.js"; import type { Snippet } from "svelte"; + import {getBasePathContext} from "../context/context.js"; let { navigation, logo }: { navigation: Navigation; logo: Snippet } = $props(); + + const basePath = getBasePathContext() ?? ""; @@ -16,7 +19,7 @@ class="hover:bg-background-secondary active:bg-background-secondary dark:hover:bg-background-secondary dark:active:bg-background-secondary [&>svg]:size-0 [&>svg]:h-7 [&>svg]:w-auto" > {#snippet child({ props })} - + {@render logo()} {/snippet}