import { Dialog, DialogContent } from "@/components/ui/dialog"; import { type Media } from "@/domain/types"; import { AuthenticatedImage } from "./authenticated-image"; import { Skeleton } from "../ui/skeleton"; import { ResizablePanelGroup, ResizablePanel, ResizableHandle, } from "@/components/ui/resizable"; import { MediaDetailsSidebar } from "./media-details-sidebar"; type MediaViewerProps = { media: Media | null; onOpenChange: (open: boolean) => void; }; export function MediaViewer({ media, onOpenChange }: MediaViewerProps) { const isOpen = media !== null; return ( {/* We use a resizable panel group to show the image and sidebar */} {/* --- Panel 1: The Image --- */}
{media ? ( ) : ( )}
{/* --- The Handle --- */} {/* --- Panel 2: The Details Sidebar --- */} {media ? ( ) : ( )}
); }