import React from 'react'; import { HiArrowPath, HiArrowTopRightOnSquare, HiComputerDesktop, HiDeviceTablet, HiDevicePhoneMobile } from 'react-icons/hi2'; import { Button } from '../../../ui/Button'; import Typography from '../../../ui/Typography'; import { useBlockTesterStore } from '../../../../stores/blockTesterStore'; import { cn } from '../../../../lib/utils'; import type { ViewportSize } from '../../../../types/block-tester.types'; interface PreviewControlsProps { onRefresh?: () => void; onOpenInNewWindow?: () => void; isLoading?: boolean; className?: string; } /** * Preview controls component for viewport switching and preview actions */ const PreviewControls: React.FC = ({ onRefresh, onOpenInNewWindow, isLoading = false, className }) => { const { previewMode, setPreviewMode } = useBlockTesterStore(); const viewportOptions = [ { mode: 'desktop' as ViewportSize, icon: HiComputerDesktop, label: 'Desktop', dimensions: '1200px' }, { mode: 'tablet' as ViewportSize, icon: HiDeviceTablet, label: 'Tablet', dimensions: '768px' }, { mode: 'mobile' as ViewportSize, icon: HiDevicePhoneMobile, label: 'Mobile', dimensions: '375px' } ]; return (
{/* Viewport selector */}
{viewportOptions.map(({ mode, icon: Icon, label, dimensions }) => ( ))}
{/* Action buttons */}
); }; export default PreviewControls;