From 8d951952de8e62c9a0507c6707c7289a67b6d48d Mon Sep 17 00:00:00 2001 From: codingfrog27 Date: Tue, 23 Dec 2025 20:16:14 +0100 Subject: [PATCH] made Pagefinder.svelt just use Base URL (passed from search.astro) instead of hardcoded check Added trailing slashed to base path in configs for BP and for consistent URL construction --- packages/astro-theme/components/search/Pagefind.svelte | 8 +++----- packages/astro-theme/components/search/Search.astro | 3 +++ sites/browserpod/astro.config.mjs | 2 +- sites/cheerpj/astro.config.mjs | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/astro-theme/components/search/Pagefind.svelte b/packages/astro-theme/components/search/Pagefind.svelte index 21795d57..e994deae 100644 --- a/packages/astro-theme/components/search/Pagefind.svelte +++ b/packages/astro-theme/components/search/Pagefind.svelte @@ -5,16 +5,14 @@ export let productId: string | undefined; export let placeholder: string; export let locale: string; + export let baseUrl: string; let pagefind: Pagefind; let results: PagefindResult[] = []; let noResultsForQuery = false; onMount(async () => { - const url = - productId === "cheerpj3" - ? new URL(window.origin + "/docs/pagefind/pagefind.js").href // Add /docs/ for CJ so search bar is able to link correctly - : new URL(window.origin + "/pagefind/pagefind.js").href; // Can't use import.meta.url because Vite prefixes the module with /@fs. + const url = new URL(window.origin + baseUrl + "pagefind/pagefind.js").href; // @ts-ignore const pf = await import(/* @vite-ignore */ url); await pf.init(); @@ -35,7 +33,7 @@ const response = await pagefind.debouncedSearch(query, { filters: { productId, language: locale }, - baseUrl: import.meta.env.BASE_URL, + baseUrl, }); if (response === null) { // Debounce. diff --git a/packages/astro-theme/components/search/Search.astro b/packages/astro-theme/components/search/Search.astro index 887e4da4..186be2b0 100644 --- a/packages/astro-theme/components/search/Search.astro +++ b/packages/astro-theme/components/search/Search.astro @@ -8,6 +8,8 @@ import { t } from "../../lib/i18n"; interface Props { filterProductId?: Product | "blog"; // data-pagefind-filter productId } + +const baseUrl = import.meta.env.BASE_URL || "/"; --- @@ -35,6 +37,7 @@ interface Props { productId={Astro.props.filterProductId} placeholder={t("Type to search...", Astro.currentLocale)} locale={Astro.currentLocale} + {baseUrl} >