-
- {/* Error Overlay */}
- {isError && (
-
- )}
-
- {/* Manual Operation (분리된 콤포넌트) */}
-
-
- {/* Lift & Magnet */}
-
-
- Lift Height
- {Math.round(agvState.liftHeight)}%
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {/* Auto Run Controls */}
- {/* Auto Run Controls (분리된 콤포넌트) */}
-
-
- );
-};
-
-export default AgvControls;
diff --git a/components/AgvManualControls.tsx b/components/AgvManualControls.tsx
index bbaa07c..de726b6 100644
--- a/components/AgvManualControls.tsx
+++ b/components/AgvManualControls.tsx
@@ -1,27 +1,51 @@
import React from 'react';
-import { ArrowUp, ArrowDown, RotateCcw, RotateCw, StopCircle, Disc } from 'lucide-react';
+import { ArrowUp, ArrowDown, RotateCcw, RotateCw, StopCircle, Disc, ChevronsUp, ChevronsDown, Magnet, AlertTriangle } from 'lucide-react';
import { AgvState, AgvMotionState, AgvRunConfig } from '../types';
interface AgvManualControlsProps {
agvState: AgvState;
setMotion: (state: AgvMotionState) => void;
- updateRunConfig: (key: keyof AgvRunConfig, value: any) => void;
+ setRunConfig: (config: AgvRunConfig) => void;
+ setError: (error: string | null) => void;
onTurn180: (direction: 'LEFT' | 'RIGHT') => void;
- handleMarkStop: () => void;
- isRunning: boolean;
- isError: boolean;
+ setLiftStatus: (status: 'IDLE' | 'UP' | 'DOWN') => void;
+ setMagnet: (isOn: boolean) => void;
}
const AgvManualControls: React.FC