fix(tools): OR'ed where clauses now AND'd so search excludes soft-deleted tools; localize delete confirm dialog
Build & Push Docker Image / build (push) Successful in 2m25s

This commit is contained in:
opencode
2026-08-03 08:48:08 +02:00
parent 743b177c89
commit f851305d78
4 changed files with 25 additions and 13 deletions
+6 -1
View File
@@ -127,7 +127,12 @@
"relatedTools": "Ähnliche Tools",
"costs": "Kosten",
"addCost": "Kosten hinzufügen",
"recentRatings": "Letzte Bewertungen"
"recentRatings": "Letzte Bewertungen",
"deleteConfirmTitle": "Dieses Tool löschen?",
"deleteToTrash": "Dies verschiebt {{name}} in den Papierkorb. Es kann später wiederhergestellt werden.",
"deletePermanent": "Dies entfernt {{name}} dauerhaft inklusive aller Bewertungen. Das kann nicht rückgängig gemacht werden.",
"deleting": "Löschen…",
"deleteAction": "Löschen"
},
"compare": {
"title": "Tools vergleichen",
+6 -1
View File
@@ -127,7 +127,12 @@
"relatedTools": "Related Tools",
"costs": "Costs",
"addCost": "Add Cost",
"recentRatings": "Recent Ratings"
"recentRatings": "Recent Ratings",
"deleteConfirmTitle": "Delete this tool?",
"deleteToTrash": "This will move {{name}} to the trash. It can be restored later.",
"deletePermanent": "This will permanently remove {{name}} and all its ratings. This cannot be undone.",
"deleting": "Deleting…",
"deleteAction": "Delete"
},
"compare": {
"title": "Compare Tools",
+5 -5
View File
@@ -914,23 +914,23 @@ export default function ToolDetail() {
<AlertDialog open={deleteOpen} onOpenChange={setDeleteOpen}>
<AlertDialogContent>
<AlertDialogHeader>
<AlertDialogTitle>Delete this tool?</AlertDialogTitle>
<AlertDialogTitle>{t("detail.deleteConfirmTitle")}</AlertDialogTitle>
<AlertDialogDescription>
{hasTrash ? (
<>This will move <span className="font-medium">{tool?.name}</span> to the trash. It can be restored later.</>
<>{t("detail.deleteToTrash", { name: tool?.name })}</>
) : (
<>This will permanently remove <span className="font-medium">{tool?.name}</span> and all its ratings. This cannot be undone.</>
<>{t("detail.deletePermanent", { name: tool?.name })}</>
)}
</AlertDialogDescription>
</AlertDialogHeader>
<AlertDialogFooter>
<AlertDialogCancel>Cancel</AlertDialogCancel>
<AlertDialogCancel>{t("common.cancel")}</AlertDialogCancel>
<AlertDialogAction
className="bg-destructive text-destructive-foreground hover:bg-destructive/90"
onClick={handleDelete}
disabled={deleteTool.isPending}
>
{deleteTool.isPending ? "Deleting" : "Delete"}
{deleteTool.isPending ? t("detail.deleting") : t("detail.deleteAction")}
</AlertDialogAction>
</AlertDialogFooter>
</AlertDialogContent>