MOREE!!!!

This commit is contained in:
legop3
2026-06-19 01:22:42 -04:00
parent ea8e027be9
commit c7f5cb68f4
22 changed files with 429 additions and 138 deletions
@@ -8,6 +8,7 @@ import { dockTelemetryEqual, selectDockTelemetry } from '../../context/telemetry
import { formatKeyLabel } from '../../controls/keymapUtils.js';
import { useManualDockAssist } from '../../features/manualDockAssist/useManualDockAssist.js';
import { deriveDriveDockStateFromTelemetry } from './driveDockState.js';
import { trackAnalyticsEvent } from '../../analytics/index.js';
function StatusRow({ value, tone = 'neutral' }) {
const toneClasses =
@@ -126,11 +127,14 @@ export default function DriveDockAction({
const handleReturnToDrive = async () => {
if (!roverId || pending) return;
setPending('drive');
trackAnalyticsEvent('drive_return', { roverId, source: 'drive_dock_action' });
try {
dockAssist.exitAssist();
actions.setMode('drive');
await actions.runMacro('drive-sequence');
trackAnalyticsEvent('drive_return_result', { roverId, status: 'accepted' });
} catch (err) {
trackAnalyticsEvent('drive_return_result', { roverId, status: 'failed', reason: err?.message || 'unknown' });
alert(err.message);
} finally {
setPending(null);
@@ -142,11 +146,14 @@ export default function DriveDockAction({
setConfirmOpen(false);
setShowModal(false);
setPending('drive');
trackAnalyticsEvent('drive_start', { roverId, source: 'drive_dock_action' });
try {
dockAssist.exitAssist();
actions.setMode('drive');
await actions.runMacro('drive-sequence');
trackAnalyticsEvent('drive_start_result', { roverId, status: 'accepted' });
} catch (err) {
trackAnalyticsEvent('drive_start_result', { roverId, status: 'failed', reason: err?.message || 'unknown' });
alert(err.message);
} finally {
setPending(null);
@@ -156,9 +163,12 @@ export default function DriveDockAction({
const handleConfirmDock = async () => {
if (!roverId || pending) return;
setPending('dock');
trackAnalyticsEvent('dock_assist_start', { roverId });
try {
dockAssist.enterAssist();
trackAnalyticsEvent('dock_assist_start_result', { roverId, status: 'accepted' });
} catch (err) {
trackAnalyticsEvent('dock_assist_start_result', { roverId, status: 'failed', reason: err?.message || 'unknown' });
alert(err.message);
} finally {
setPending(null);
@@ -171,10 +181,12 @@ export default function DriveDockAction({
if (dockDisabled) return;
if (manualAssistActive) {
dockAssist.exitAssist();
trackAnalyticsEvent('dock_assist_exit', { roverId });
return;
}
setShowModal(true);
setConfirmOpen(true);
trackAnalyticsEvent('dock_assist_open', { roverId });
};
// The drive/dock card appears inside the mobile controls and can be held or