diff --git a/src/client/components/CandidateCard.tsx b/src/client/components/CandidateCard.tsx
index f994e1b..254d483 100644
--- a/src/client/components/CandidateCard.tsx
+++ b/src/client/components/CandidateCard.tsx
@@ -2,6 +2,7 @@ import { useWeightUnit } from "../hooks/useWeightUnit";
import { formatPrice, formatWeight } from "../lib/formatters";
import { LucideIcon } from "../lib/iconData";
import { useUIStore } from "../stores/uiStore";
+import { StatusBadge } from "./StatusBadge";
interface CandidateCardProps {
id: number;
@@ -14,6 +15,8 @@ interface CandidateCardProps {
productUrl?: string | null;
threadId: number;
isActive: boolean;
+ status: "researching" | "ordered" | "arrived";
+ onStatusChange: (status: "researching" | "ordered" | "arrived") => void;
}
export function CandidateCard({
@@ -27,6 +30,8 @@ export function CandidateCard({
productUrl,
threadId,
isActive,
+ status,
+ onStatusChange,
}: CandidateCardProps) {
const unit = useWeightUnit();
const openCandidateEditPanel = useUIStore((s) => s.openCandidateEditPanel);
@@ -106,6 +111,7 @@ export function CandidateCard({
/>{" "}
{categoryName}
+
diff --git a/src/shared/schemas.ts b/src/shared/schemas.ts
index 2c1bba6..cf9e4d6 100644
--- a/src/shared/schemas.ts
+++ b/src/shared/schemas.ts
@@ -37,7 +37,11 @@ export const updateThreadSchema = z.object({
});
// Candidate status
-export const candidateStatusSchema = z.enum(["researching", "ordered", "arrived"]);
+export const candidateStatusSchema = z.enum([
+ "researching",
+ "ordered",
+ "arrived",
+]);
// Candidate schemas (same fields as items)
export const createCandidateSchema = z.object({