import type { JSX } from "react";
interface AgentPathTailLabelProps {
path?: string | null;
fallback: string;
className?: string;
}
export function AgentPathTailLabel({
path,
fallback,
className
}: AgentPathTailLabelProps): JSX.Element {
"use memo";
const label = path?.trim() || fallback;
const parts = splitPathTail(label);
if (!parts) {
return (
{label}
);
}
return (
{parts.directory}
{parts.fileName}
);
}
function splitPathTail(
value: string
): { directory: string; fileName: string } | null {
const lastForwardSlash = value.lastIndexOf("/");
const lastBackwardSlash = value.lastIndexOf("\\");
const lastSeparator = Math.max(lastForwardSlash, lastBackwardSlash);
if (lastSeparator <= 0 || lastSeparator === value.length - 1) {
return null;
}
return {
directory: value.slice(0, lastSeparator + 1),
fileName: value.slice(lastSeparator + 1)
};
}