fix(FN-1382): remove autopilotLoading state for simplified toggle
- Remove unnecessary autopilotLoading state variable from MissionManager - Simplify autopilot toggle by relying directly on autopilotEnabled prop - Eliminate intermediate loading state that added complexity without benefit
This commit is contained in:
@@ -374,9 +374,6 @@ export function MissionManager({ isOpen, isInline = false, onClose, addToast, pr
|
|||||||
// Delete confirmation
|
// Delete confirmation
|
||||||
const [deleteConfirmId, setDeleteConfirmId] = useState<{ type: string; id: string } | null>(null);
|
const [deleteConfirmId, setDeleteConfirmId] = useState<{ type: string; id: string } | null>(null);
|
||||||
|
|
||||||
// Autopilot loading state
|
|
||||||
const [autopilotLoading, setAutopilotLoading] = useState(false);
|
|
||||||
|
|
||||||
const [missionHealthById, setMissionHealthById] = useState<Map<string, MissionHealth>>(new Map());
|
const [missionHealthById, setMissionHealthById] = useState<Map<string, MissionHealth>>(new Map());
|
||||||
|
|
||||||
const [activeTab, setActiveTab] = useState<"structure" | "activity">("structure");
|
const [activeTab, setActiveTab] = useState<"structure" | "activity">("structure");
|
||||||
@@ -1072,7 +1069,6 @@ export function MissionManager({ isOpen, isInline = false, onClose, addToast, pr
|
|||||||
|
|
||||||
const handleToggleAutopilot = useCallback(async (missionId: string, enabled: boolean) => {
|
const handleToggleAutopilot = useCallback(async (missionId: string, enabled: boolean) => {
|
||||||
try {
|
try {
|
||||||
setAutopilotLoading(true);
|
|
||||||
await updateMissionAutopilot(missionId, { enabled }, projectId);
|
await updateMissionAutopilot(missionId, { enabled }, projectId);
|
||||||
addToast(enabled ? "Autopilot enabled" : "Autopilot disabled", "success");
|
addToast(enabled ? "Autopilot enabled" : "Autopilot disabled", "success");
|
||||||
// Reload mission detail to reflect updated fields
|
// Reload mission detail to reflect updated fields
|
||||||
@@ -1080,8 +1076,6 @@ export function MissionManager({ isOpen, isInline = false, onClose, addToast, pr
|
|||||||
loadMissions();
|
loadMissions();
|
||||||
} catch (err: any) {
|
} catch (err: any) {
|
||||||
addToast(err.message || "Failed to update autopilot", "error");
|
addToast(err.message || "Failed to update autopilot", "error");
|
||||||
} finally {
|
|
||||||
setAutopilotLoading(false);
|
|
||||||
}
|
}
|
||||||
}, [addToast, loadMissionDetail, loadMissions, projectId]);
|
}, [addToast, loadMissionDetail, loadMissions, projectId]);
|
||||||
|
|
||||||
@@ -1267,7 +1261,6 @@ export function MissionManager({ isOpen, isInline = false, onClose, addToast, pr
|
|||||||
type="checkbox"
|
type="checkbox"
|
||||||
checked={selectedMission.autopilotEnabled ?? false}
|
checked={selectedMission.autopilotEnabled ?? false}
|
||||||
onChange={(e) => handleToggleAutopilot(selectedMission.id, e.target.checked)}
|
onChange={(e) => handleToggleAutopilot(selectedMission.id, e.target.checked)}
|
||||||
disabled={autopilotLoading}
|
|
||||||
aria-label="Autopilot"
|
aria-label="Autopilot"
|
||||||
/>
|
/>
|
||||||
<span className="mission-toggle__track" aria-hidden="true">
|
<span className="mission-toggle__track" aria-hidden="true">
|
||||||
|
|||||||
Reference in New Issue
Block a user