import { useStore } from '@nanostores/react'; import { fileMetadata, modifiedFileData, pushToUndoStack, undo, canUndo, isCompiling, hasModifications, compileImage } from '../stores/imageStore'; import { allGlitchEffects } from '../utils/glitchEffects'; export default function GlitchControls() { const metadata = useStore(fileMetadata); const compiling = useStore(isCompiling); const undoAvailable = useStore(canUndo); const applyGlitchEffect = async (effectApply: (data: Uint8Array) => void) => { const currentData = modifiedFileData.get(); if (!currentData) return; pushToUndoStack(currentData); const newData = new Uint8Array(currentData); effectApply(newData); modifiedFileData.set(newData); hasModifications.set(true); await compileImage(); }; const handleUndo = async () => { undo(); await compileImage(); }; if (!metadata) return null; return (