-
-
- {data.name == "unknown" ? t("details.unknown") : data.name}
+ )}
+
+
+
+
+ {data.name == "unknown" ? t("details.unknown") : data.name}
+
+ {data.score && (
+
+ {Math.round(data.score * 100)}%
- {data.score && (
-
- {Math.round(data.score * 100)}%
-
- )}
-
-
- {children}
-
+ )}
+
+
+ {children}
- >
+
);
}
diff --git a/web/src/components/overlay/ClassificationSelectionDialog.tsx b/web/src/components/overlay/ClassificationSelectionDialog.tsx
index f86ced19a..ca5057ee5 100644
--- a/web/src/components/overlay/ClassificationSelectionDialog.tsx
+++ b/web/src/components/overlay/ClassificationSelectionDialog.tsx
@@ -20,15 +20,14 @@ import {
TooltipTrigger,
} from "@/components/ui/tooltip";
import { isDesktop, isMobile } from "react-device-detect";
-import { LuPlus } from "react-icons/lu";
import { useTranslation } from "react-i18next";
import { cn } from "@/lib/utils";
import React, { ReactNode, useCallback, useMemo, useState } from "react";
import TextEntryDialog from "./dialog/TextEntryDialog";
import { Button } from "../ui/button";
-import { MdCategory } from "react-icons/md";
import axios from "axios";
import { toast } from "sonner";
+import { Separator } from "../ui/separator";
type ClassificationSelectionDialogProps = {
className?: string;
@@ -97,7 +96,7 @@ export default function ClassificationSelectionDialog({
);
return (
-
+
{newClass && (
- setNewClass(true)}
- >
-
- {t("createCategory.new")}
-
{classes.sort().map((category) => (
onCategorizeImage(category)}
>
-
{category.replaceAll("_", " ")}
))}
+
+ setNewClass(true)}
+ >
+ {t("createCategory.new")}
+
diff --git a/web/src/components/overlay/dialog/TrainFilterDialog.tsx b/web/src/components/overlay/dialog/TrainFilterDialog.tsx
index f4ccf41e1..982523ae9 100644
--- a/web/src/components/overlay/dialog/TrainFilterDialog.tsx
+++ b/web/src/components/overlay/dialog/TrainFilterDialog.tsx
@@ -60,7 +60,7 @@ export default function TrainFilterDialog({
moreFiltersSelected ? "text-white" : "text-secondary-foreground",
)}
/>
- {isDesktop && t("more")}
+ {isDesktop && t("filter")}
);
const content = (
@@ -122,7 +122,7 @@ export default function TrainFilterDialog({
return (
{
e.stopPropagation();
onDelete([image]);
@@ -817,22 +817,8 @@ function StateTrainGrid({
image={data.filename}
onRefresh={onRefresh}
>
-
+
-
-
- {
- e.stopPropagation();
- onDelete([data.filename]);
- }}
- />
-
-
- {t("button.deleteClassificationAttempts")}
-
-
))}