import { useEffect, useState } from 'react'; import { useViewerStore } from '../../store/viewerStore'; import { CAMERA_PRESET_ORDER, CAMERA_PRESETS } from '../../three/cameraPresets'; export interface ViewerToolbarProps { onCopyShareLink?: () => Promise; className?: string; } export function ViewerToolbar({ onCopyShareLink, className = '' }: ViewerToolbarProps) { const requestCameraPreset = useViewerStore((state) => state.requestCameraPreset); const requestCameraReset = useViewerStore((state) => state.requestCameraReset); const [shareState, setShareState] = useState<'idle' | 'copied' | 'error'>('idle'); useEffect(() => { if (shareState === 'idle') { return undefined; } const timeoutId = window.setTimeout(() => setShareState('idle'), 1800); return () => window.clearTimeout(timeoutId); }, [shareState]); return (
{CAMERA_PRESET_ORDER.map((presetId) => { const preset = CAMERA_PRESETS[presetId]; return ( ); })}
); }