diff --git a/web/public/locales/en/components/dialog.json b/web/public/locales/en/components/dialog.json
index a40e62db7..a56c2b1da 100644
--- a/web/public/locales/en/components/dialog.json
+++ b/web/public/locales/en/components/dialog.json
@@ -53,6 +53,7 @@
"selectOrExport": "Select or Export",
"toast": {
"success": "Successfully started export. View the file in the exports page.",
+ "view": "View",
"error": {
"failed": "Failed to start export: {{error}}",
"endTimeMustAfterStartTime": "End time must be after start time",
diff --git a/web/src/components/card/ReviewCard.tsx b/web/src/components/card/ReviewCard.tsx
index 8fc4024db..e8d8121a8 100644
--- a/web/src/components/card/ReviewCard.tsx
+++ b/web/src/components/card/ReviewCard.tsx
@@ -87,7 +87,7 @@ export default function ReviewCard({
position: "top-center",
action: (
-
+
),
});
diff --git a/web/src/components/classification/wizard/Step3ChooseExamples.tsx b/web/src/components/classification/wizard/Step3ChooseExamples.tsx
index e4c157526..6e4311cec 100644
--- a/web/src/components/classification/wizard/Step3ChooseExamples.tsx
+++ b/web/src/components/classification/wizard/Step3ChooseExamples.tsx
@@ -148,7 +148,9 @@ export default function Step3ChooseExamples({
// Step 3: Kick off training
await axios.post(`/classification/${step1Data.modelName}/train`);
- toast.success(t("wizard.step3.trainingStarted"));
+ toast.success(t("wizard.step3.trainingStarted"), {
+ closeButton: true,
+ });
setIsTraining(true);
},
[step1Data, step2Data, t],
diff --git a/web/src/components/overlay/ExportDialog.tsx b/web/src/components/overlay/ExportDialog.tsx
index 832e9faa9..976b20042 100644
--- a/web/src/components/overlay/ExportDialog.tsx
+++ b/web/src/components/overlay/ExportDialog.tsx
@@ -97,7 +97,7 @@ export default function ExportDialog({
position: "top-center",
action: (
-
+
),
});
diff --git a/web/src/components/overlay/MobileReviewSettingsDrawer.tsx b/web/src/components/overlay/MobileReviewSettingsDrawer.tsx
index d7f0c7ae6..78827a99e 100644
--- a/web/src/components/overlay/MobileReviewSettingsDrawer.tsx
+++ b/web/src/components/overlay/MobileReviewSettingsDrawer.tsx
@@ -106,7 +106,9 @@ export default function MobileReviewSettingsDrawer({
position: "top-center",
action: (
-
+
),
},
diff --git a/web/src/pages/FaceLibrary.tsx b/web/src/pages/FaceLibrary.tsx
index 78e0e5760..439a9bde4 100644
--- a/web/src/pages/FaceLibrary.tsx
+++ b/web/src/pages/FaceLibrary.tsx
@@ -808,6 +808,7 @@ function FaceAttemptGroup({
if (resp.status == 200) {
toast.success(t("toast.success.trainedFace"), {
position: "top-center",
+ closeButton: true,
});
onRefresh();
}
diff --git a/web/src/views/classification/ModelTrainingView.tsx b/web/src/views/classification/ModelTrainingView.tsx
index 53328e0e2..d6d03c6cc 100644
--- a/web/src/views/classification/ModelTrainingView.tsx
+++ b/web/src/views/classification/ModelTrainingView.tsx
@@ -104,12 +104,14 @@ export default function ModelTrainingView({ model }: ModelTrainingViewProps) {
if (modelState == "complete") {
toast.success(t("toast.success.trainedModel"), {
position: "top-center",
+ closeButton: true,
});
setWasTraining(false);
refreshDataset();
} else if (modelState == "failed") {
toast.error(t("toast.error.trainingFailed"), {
position: "top-center",
+ closeButton: true,
});
setWasTraining(false);
}
@@ -182,6 +184,7 @@ export default function ModelTrainingView({ model }: ModelTrainingViewProps) {
setWasTraining(true);
toast.success(t("toast.success.trainingModel"), {
position: "top-center",
+ closeButton: true,
});
}
})
@@ -193,6 +196,7 @@ export default function ModelTrainingView({ model }: ModelTrainingViewProps) {
toast.error(t("toast.error.trainingFailedToStart", { errorMessage }), {
position: "top-center",
+ closeButton: true,
});
});
}, [model, t]);
diff --git a/web/src/views/events/EventView.tsx b/web/src/views/events/EventView.tsx
index d054dabc9..417c3231d 100644
--- a/web/src/views/events/EventView.tsx
+++ b/web/src/views/events/EventView.tsx
@@ -219,7 +219,9 @@ export default function EventView({
position: "top-center",
action: (
-
+
),
},