"use client";
import type { ReactNode } from "react";
import {
IconSearch,
IconListTree,
IconFolderShare,
IconFolderOpen,
IconCopy,
IconCheck,
IconPlus,
} from "@tabler/icons-react";
import { Tooltip, TooltipContent, TooltipTrigger } from "@kandev/ui/tooltip";
import { Skeleton } from "@kandev/ui/skeleton";
import { cn } from "@/lib/utils";
import { PanelHeaderBarSplit } from "./panel-primitives";
function ToolbarButton({
onClick,
label,
icon,
}: {
onClick: () => void;
label: string;
icon: ReactNode;
}) {
return (
{label}
);
}
type FileBrowserToolbarProps = {
displayPath: string;
fullPath: string;
copied: boolean;
expandedPathsSize: number;
onCopyPath: (text: string) => void;
onStartCreate?: () => void;
onOpenFolder: () => void;
onStartSearch: () => void;
onCollapseAll: () => void;
showCreateButton: boolean;
};
export function FileBrowserToolbar({
displayPath,
fullPath,
copied,
expandedPathsSize,
onCopyPath,
onStartCreate,
onOpenFolder,
onStartSearch,
onCollapseAll,
showCreateButton,
}: FileBrowserToolbarProps) {
return (
Copy workspace path
{displayPath ? (
{displayPath}
) : (
)}
>
}
right={
<>
{showCreateButton && onStartCreate && (
}
/>
)}
}
/>
}
/>
{expandedPathsSize > 0 && (
}
/>
)}
>
}
/>
);
}