'use client'; import { OpenInV0Button } from '@workspace/ui/components/docs/open-in-v0-button'; import { Button } from '@workspace/ui/components/ui/button'; import { cn } from '@workspace/ui/lib/utils'; import { Fullscreen, RotateCcw, SlidersHorizontal } from 'lucide-react'; import { useState } from 'react'; import { motion } from 'motion/react'; import Iframe from './iframe'; import { useIsMobile } from '@workspace/ui/hooks/use-mobile'; interface ComponentWrapperProps extends React.HTMLAttributes { name: string; iframe?: boolean; bigScreen?: boolean; tweakpane?: React.ReactNode; } export const ComponentWrapper = ({ className, children, name, iframe = false, bigScreen = false, tweakpane, }: ComponentWrapperProps) => { const [tweakMode, setTweakMode] = useState(false); const [key, setKey] = useState(0); const isMobile = useIsMobile(); return ( {!iframe && (
{iframe && ( )} {tweakpane && ( )}
)} {iframe ? (