mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-10-12 14:34:16 +00:00
39 lines
1.0 KiB
TypeScript
39 lines
1.0 KiB
TypeScript
import { ChevronLeft, ChevronRight } from "lucide-react";
|
|
|
|
import { Button } from "@/components/shadcn/button/button";
|
|
import {
|
|
Tooltip,
|
|
TooltipContent,
|
|
TooltipTrigger,
|
|
} from "@/components/shadcn/tooltip";
|
|
|
|
interface SidebarToggleProps {
|
|
isOpen: boolean | undefined;
|
|
setIsOpen?: () => void;
|
|
}
|
|
|
|
export function SidebarToggle({ isOpen, setIsOpen }: SidebarToggleProps) {
|
|
// Closed → chevron right (will open); open/undefined → chevron left (will collapse).
|
|
const isClosed = isOpen === false;
|
|
const Chevron = isClosed ? ChevronRight : ChevronLeft;
|
|
|
|
return (
|
|
<Tooltip>
|
|
<TooltipTrigger asChild>
|
|
<Button
|
|
type="button"
|
|
variant="bare"
|
|
size="icon-sm"
|
|
onClick={() => setIsOpen?.()}
|
|
aria-label={isClosed ? "Expand sidebar" : "Collapse sidebar"}
|
|
>
|
|
<Chevron className="size-5" />
|
|
</Button>
|
|
</TooltipTrigger>
|
|
<TooltipContent side="bottom">
|
|
{isClosed ? "Expand Sidebar" : "Collapse Sidebar"}
|
|
</TooltipContent>
|
|
</Tooltip>
|
|
);
|
|
}
|