ldc-supportweb/resources/ts/back/Components/CustomSidebarTrigger.tsx
2026-04-24 16:53:58 +02:00

43 lines
1.1 KiB
TypeScript

// * Packages
import { PanelRightOpenIcon, PanelRightCloseIcon } from "lucide-react";
// * Components shadcn
import { Button } from "@/components/ui/button";
import { useSidebar } from "@/components/ui/sidebar";
import {
Tooltip,
TooltipContent,
TooltipTrigger,
} from "@/components/ui/tooltip";
// * Other
import useTrans from "@/hooks/use-translations";
export default function CustomSidebarTrigger() {
const { toggleSidebar, state } = useSidebar();
if (state === "collapsed") {
localStorage.setItem("vite-ui-collapsed", "true");
} else {
localStorage.removeItem("vite-ui-collapsed");
}
return (
<Tooltip>
<TooltipTrigger asChild>
<Button
onClick={toggleSidebar}
variant="ghost"
className="rotate-180"
size="icon"
>
{state === "collapsed" ? (
<PanelRightOpenIcon />
) : (
<PanelRightCloseIcon />
)}
</Button>
</TooltipTrigger>
<TooltipContent side="right">
<p>{useTrans("uwil-backend::back.sidebar_trigger_tooltip")}</p>
</TooltipContent>
</Tooltip>
);
}