suppress double toasts

This commit is contained in:
Josh Hawkins 2025-11-10 15:32:31 -06:00
parent b88bf2f08d
commit 7e4f95c10d

View File

@ -334,7 +334,8 @@ export default function Step2ProbeOrSnapshot({
[generateDynamicStreamUrl],
);
const testConnection = useCallback(async () => {
const testConnection = useCallback(
async (showToast = true) => {
const streamUrl = await generateStreamUrl(wizardData);
if (!streamUrl) {
@ -363,13 +364,18 @@ export default function Step2ProbeOrSnapshot({
},
],
});
if (showToast) {
toast.success(t("cameraWizard.step2.testSuccess"));
}
} else {
const errMsg = result?.error || "Unable to probe stream";
setTestResult({
success: false,
error: errMsg,
});
if (showToast) {
toast.error(
t("cameraWizard.commonErrors.testFailed", { error: errMsg }),
{
@ -377,6 +383,7 @@ export default function Step2ProbeOrSnapshot({
},
);
}
}
} catch (error) {
const axiosError = error as {
response?: { data?: { message?: string; detail?: string } };
@ -391,17 +398,22 @@ export default function Step2ProbeOrSnapshot({
success: false,
error: errorMessage,
});
if (showToast) {
toast.error(
t("cameraWizard.commonErrors.testFailed", { error: errorMessage }),
{
duration: 10000,
},
);
}
} finally {
setIsTesting(false);
setTestStatus("");
}
}, [wizardData, generateStreamUrl, t, onUpdate, probeUri]);
},
[wizardData, generateStreamUrl, t, onUpdate, probeUri],
);
const handleContinue = useCallback(() => {
onNext();
@ -416,7 +428,8 @@ export default function Step2ProbeOrSnapshot({
if (probeMode) {
probeCamera();
} else {
testConnection();
// Auto-run the connection test but suppress toasts to avoid duplicates
testConnection(false);
}
}
}, [hasStarted, probeMode, probeCamera, testConnection]);