"use client"; import * as React from "react"; import { cn } from "@/lib/utils"; import { useMediaQuery } from "@app/hooks/useMediaQuery"; import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog"; import { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger } from "@/components/ui/drawer"; import { Sheet, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger } from "./ui/sheet"; interface BaseProps { children: React.ReactNode; } interface RootCredenzaProps extends BaseProps { open?: boolean; onOpenChange?: (open: boolean) => void; } interface CredenzaProps extends BaseProps { className?: string; asChild?: true; } const desktop = "(min-width: 768px)"; const Credenza = ({ children, ...props }: RootCredenzaProps) => { const isDesktop = useMediaQuery(desktop); // const isDesktop = true; const Credenza = isDesktop ? Dialog : Sheet; return {children}; }; const CredenzaTrigger = ({ className, children, ...props }: CredenzaProps) => { const isDesktop = useMediaQuery(desktop); // const isDesktop = true; const CredenzaTrigger = isDesktop ? DialogTrigger : SheetTrigger; return ( {children} ); }; const CredenzaClose = ({ className, children, ...props }: CredenzaProps) => { const isDesktop = useMediaQuery(desktop); // const isDesktop = true; const CredenzaClose = isDesktop ? DialogClose : DrawerClose; return ( {children} ); }; const CredenzaContent = ({ className, children, ...props }: CredenzaProps) => { const isDesktop = useMediaQuery(desktop); // const isDesktop = true; const CredenzaContent = isDesktop ? DialogContent : SheetContent; return ( {children} ); }; const CredenzaDescription = ({ className, children, ...props }: CredenzaProps) => { const isDesktop = useMediaQuery(desktop); // const isDesktop = true; const CredenzaDescription = isDesktop ? DialogDescription : SheetDescription; return ( {children} ); }; const CredenzaHeader = ({ className, children, ...props }: CredenzaProps) => { const isDesktop = useMediaQuery(desktop); // const isDesktop = true; const CredenzaHeader = isDesktop ? DialogHeader : SheetHeader; return ( {children} ); }; const CredenzaTitle = ({ className, children, ...props }: CredenzaProps) => { const isDesktop = useMediaQuery(desktop); // const isDesktop = true; const CredenzaTitle = isDesktop ? DialogTitle : SheetTitle; return ( {children} ); }; const CredenzaBody = ({ className, children, ...props }: CredenzaProps) => { // return ( //
// {children} //
// ); return (
{children}
); }; const CredenzaFooter = ({ className, children, ...props }: CredenzaProps) => { const isDesktop = useMediaQuery(desktop); // const isDesktop = true; const CredenzaFooter = isDesktop ? DialogFooter : SheetFooter; return ( {children} ); }; export { Credenza, CredenzaTrigger, CredenzaClose, CredenzaContent, CredenzaDescription, CredenzaHeader, CredenzaTitle, CredenzaBody, CredenzaFooter };