Jack
Initial release
1067b6f
"use client";
import { useState, type PropsWithChildren } from "react";
import { Sheet, SheetContent } from "../ui/sheet";
import { useRouter } from "next/navigation";
export const SheetWrapper = (
props: PropsWithChildren<{
buttonRoute: string;
insideButton: React.ReactNode;
trigger: React.ReactNode;
}>
) => {
const [isOpen, setIsOpen] = useState(false);
const router = useRouter();
return (
<Sheet onOpenChange={() => setIsOpen((prev) => !prev)} open={isOpen}>
{props.trigger}
<SheetContent
size="full"
className="overflow-auto lg:max-w-[600px] sm:max-w-[400px] xl:max-w-[650px]"
>
{props.children}
<div
className="mt-8"
onClick={() => {
setIsOpen(false);
router.push(props.buttonRoute);
}}
>
{props.insideButton}
</div>
</SheetContent>
</Sheet>
);
};