From 7a3dbbbf2673542206db332f7eeed150b4eb6928 Mon Sep 17 00:00:00 2001 From: NeroBlackstone Date: Mon, 22 Sep 2025 20:16:12 +0800 Subject: [PATCH 1/3] add base path context --- packages/kit/package.json | 4 ++++ packages/kit/src/lib/components/context/context.ts | 11 +++++++++++ .../kit/src/lib/components/layout/docs-sidebar.svelte | 5 ++++- 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 packages/kit/src/lib/components/context/context.ts 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..e16c8b2 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.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} From 42c914952e7214c1e22ded08f590089a466b5f4e Mon Sep 17 00:00:00 2001 From: NeroBlackstone Date: Mon, 22 Sep 2025 20:28:51 +0800 Subject: [PATCH 2/3] fix import --- packages/kit/src/lib/components/layout/docs-sidebar.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/src/lib/components/layout/docs-sidebar.svelte b/packages/kit/src/lib/components/layout/docs-sidebar.svelte index e16c8b2..2244e1f 100644 --- a/packages/kit/src/lib/components/layout/docs-sidebar.svelte +++ b/packages/kit/src/lib/components/layout/docs-sidebar.svelte @@ -3,7 +3,7 @@ import { page } from "$app/stores"; import type { Navigation, SidebarNavSection } from "$lib/types.js"; import type { Snippet } from "svelte"; - import {getBasePathContext} from "../context.js"; + import {getBasePathContext} from "../context/context.ts"; let { navigation, logo }: { navigation: Navigation; logo: Snippet } = $props(); From f490f64462a9282ff4cd43cf09c80f091da636b4 Mon Sep 17 00:00:00 2001 From: NeroBlackstone Date: Mon, 22 Sep 2025 20:31:13 +0800 Subject: [PATCH 3/3] update --- packages/kit/src/lib/components/layout/docs-sidebar.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/src/lib/components/layout/docs-sidebar.svelte b/packages/kit/src/lib/components/layout/docs-sidebar.svelte index 2244e1f..e1a01cb 100644 --- a/packages/kit/src/lib/components/layout/docs-sidebar.svelte +++ b/packages/kit/src/lib/components/layout/docs-sidebar.svelte @@ -3,7 +3,7 @@ import { page } from "$app/stores"; import type { Navigation, SidebarNavSection } from "$lib/types.js"; import type { Snippet } from "svelte"; - import {getBasePathContext} from "../context/context.ts"; + import {getBasePathContext} from "../context/context.js"; let { navigation, logo }: { navigation: Navigation; logo: Snippet } = $props();