From 456a6f4548aad286cce0ef836223e89093bbc5bb Mon Sep 17 00:00:00 2001 From: Almeida Date: Thu, 20 Nov 2025 21:22:36 +0000 Subject: [PATCH] fix: header link on packages with entrypoints (#11285) * fix: header link on packages with entrypoints * types: add types --------- Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> --- apps/website/src/components/EntrypointSelect.tsx | 3 ++- apps/website/src/components/Sidebar.tsx | 8 ++++++-- apps/website/src/util/fetchEntryPoints.ts | 6 +++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/apps/website/src/components/EntrypointSelect.tsx b/apps/website/src/components/EntrypointSelect.tsx index 0008518b1..fa6d58375 100644 --- a/apps/website/src/components/EntrypointSelect.tsx +++ b/apps/website/src/components/EntrypointSelect.tsx @@ -3,13 +3,14 @@ import { Loader2Icon } from 'lucide-react'; import { useParams, useRouter } from 'next/navigation'; import { Select, SelectList, SelectOption, SelectTrigger } from '@/components/ui/Select'; +import type { EntryPoint } from '@/util/fetchEntryPoints'; import { parseDocsPathParams } from '@/util/parseDocsPathParams'; export function EntryPointSelect({ entryPoints, isLoading, }: { - readonly entryPoints: { readonly entryPoint: string }[]; + readonly entryPoints: EntryPoint[]; readonly isLoading: boolean; }) { const router = useRouter(); diff --git a/apps/website/src/components/Sidebar.tsx b/apps/website/src/components/Sidebar.tsx index 234af1901..c54bcc3ca 100644 --- a/apps/website/src/components/Sidebar.tsx +++ b/apps/website/src/components/Sidebar.tsx @@ -12,6 +12,7 @@ import { VersionSelect } from '@/components/VersionSelect'; import { SidebarHeader as BasSidebarHeader } from '@/components/ui/Sidebar'; import { buttonStyles } from '@/styles/ui/button'; import { PACKAGES_WITH_ENTRY_POINTS } from '@/util/constants'; +import type { EntryPoint } from '@/util/fetchEntryPoints'; export function SidebarHeader() { const params = useParams<{ @@ -21,7 +22,7 @@ export function SidebarHeader() { const hasEntryPoints = PACKAGES_WITH_ENTRY_POINTS.includes(params.packageName); - const { data: entryPoints, isLoading: isLoadingEntryPoints } = useQuery({ + const { data: entryPoints, isLoading: isLoadingEntryPoints } = useQuery({ queryKey: ['entryPoints', params.packageName, params.version], queryFn: async () => { const response = await fetch(`/api/docs/entrypoints?packageName=${params.packageName}&version=${params.version}`); @@ -43,7 +44,10 @@ export function SidebarHeader() {
- + {params.packageName}
diff --git a/apps/website/src/util/fetchEntryPoints.ts b/apps/website/src/util/fetchEntryPoints.ts index d481d8965..cc6b129f8 100644 --- a/apps/website/src/util/fetchEntryPoints.ts +++ b/apps/website/src/util/fetchEntryPoints.ts @@ -3,7 +3,7 @@ import { join } from 'node:path'; import { PACKAGES_WITH_ENTRY_POINTS } from './constants'; import { ENV } from './env'; -export async function fetchEntryPoints(packageName: string, version: string) { +export async function fetchEntryPoints(packageName: string, version: string): Promise { const hasEntryPoint = PACKAGES_WITH_ENTRY_POINTS.includes(packageName); if (!hasEntryPoint) { @@ -37,3 +37,7 @@ export async function fetchEntryPoints(packageName: string, version: string) { return fileContent.json(); } + +export interface EntryPoint { + readonly entryPoint: string; +}