Release/0.21 #6

Merged
shishantbiswas merged 45 commits from release/0.21 into main 2026-09-26 13:17:01 +00:00
2 changed files with 16 additions and 5 deletions
Showing only changes of commit e68d29760a - Show all commits
+5
View File
@@ -16,6 +16,11 @@ export type BkndAdminConfig = {
* @default `/`
*/
basepath?: string;
/**
* Sub-path for the Admin UI within the base path
* @default ``
*/
admin_basepath?: string;
/**
* Path to return to when clicking the logo
* @default `/`
+11 -5
View File
@@ -1,5 +1,6 @@
import { type LinkProps, Link as WouterLink, useRouter } from "wouter";
import { useEvent } from "../../hooks/use-event";
import { useBkndOptions } from "ui/client/BkndProvider";
/*
* Transforms `path` into its relative `base` version
@@ -70,11 +71,13 @@ export function Link({
return false;
}
const bkndOptions = useBkndOptions();
const adminBasePath = bkndOptions?.admin_basepath ?? "";
const _href = props.href ?? props.to;
const href = router
.hrefs(
_href[0] === "~" ? _href.slice(1) : router.base + _href,
_href[0] === "~" ? adminBasePath + _href.slice(1) : router.base + _href,
router, // pass router as a second argument for convinience
)
.replace("//", "/");
@@ -82,8 +85,10 @@ export function Link({
const active =
href.replace(router.base, "").length <= 1 ? href === absPath : isActive(absPath, href);
// console.log({ adminBasePath, _href, href, bkndOptions })
if (native) {
return <a className={`${active ? "active " : ""}${className}`} {...props} />;
// @ts-expect-error update wouter breaks types for anchor tag
return <a className={`${active ? "active " : ""}${className}`} {...props} href={href} />;
}
const wouterOnClick = (e: any) => {
@@ -99,10 +104,11 @@ export function Link({
};
return (
<WouterLink
// @ts-expect-error className is not typed on WouterLink
className={`${active ? "active " : ""}${className}`}
<WouterLink
{...props}
className={`${active ? "active " : ""}${className}`}
href={`~${href}`}
onClick={wouterOnClick}
/>
);