import React, { useState } from 'react'; import { View, StyleSheet, ScrollView } from 'react-native'; import { TextInput } from 'react-native-paper'; import DropDown from "react-native-paper-dropdown"; import { Task, RobotAction } from '../types/task'; import { LOCATIONS, ROBOT_ACTIONS, PAYLOADS } from '../data/mockData'; interface TaskFormProps { task: Task; onTaskChange: (updatedTask: Task) => void; } const TaskForm: React.FC = ({ task, onTaskChange }) => { const [showStartLocation, setShowStartLocation] = useState(false); const [showEndLocation, setShowEndLocation] = useState(false); const [showRobotAction, setShowRobotAction] = useState(false); const [showPayload, setShowPayload] = useState(false); const handleParamChange = (field: string, value: string | RobotAction) => { const updatedTask = { ...task, parameters: { ...task.parameters, [field]: value, }, }; onTaskChange(updatedTask); }; return ( onTaskChange({ ...task, name: text })} style={styles.input} mode="outlined" /> {/* setShowStartLocation(true)} onDismiss={() => setShowStartLocation(false)} value={task.parameters.startLocation} setValue={(value) => handleParamChange('startLocation', value)} list={LOCATIONS.map((location) => ({ label: location.label, value: location.value, }))} dropDownStyle={styles.input} /> */} handleParamChange('startLocation', text)} style={styles.input} mode="outlined" /> {/* setShowEndLocation(true)} onDismiss={() => setShowEndLocation(false)} value={task.parameters.endLocation} setValue={(value) => handleParamChange('endLocation', value)} list={LOCATIONS.map((location) => ({ label: location.label, value: location.value, }))} dropDownStyle={styles.input} /> */} handleParamChange('endLocation', text)} style={styles.input} mode="outlined" /> handleParamChange('waypoint', text)} style={styles.input} mode="outlined" /> {/* setShowRobotAction(true)} onDismiss={() => setShowRobotAction(false)} value={task.parameters.robotAction} setValue={(value) => handleParamChange('robotAction', value)} list={ROBOT_ACTIONS.map((action) => ({ label: action.label, value: action.value, }))} dropDownStyle={styles.input} /> */} handleParamChange('robotAction', text)} style={styles.input} mode="outlined" /> {/* setShowPayload(true)} onDismiss={() => setShowPayload(false)} value={task.parameters.payload} setValue={(value) => handleParamChange('payload', value)} list={PAYLOADS.map((payload) => ({ label: payload.label, value: payload.value, }))} dropDownStyle={styles.input} /> */} handleParamChange('payload', text)} style={styles.input} mode="outlined" /> ); }; const styles = StyleSheet.create({ container: { padding: 16, }, input: { marginBottom: 16, }, }); export default TaskForm;