feat(10-01): wire pros/cons through client hooks, form, and card indicator

- CandidateResponse: add pros/cons string|null fields
- CandidateForm: add pros/cons to FormData, INITIAL_FORM, pre-fill, payload
- CandidateForm: add Pros/Cons textarea inputs (after Notes, before Product Link)
- CandidateCard: add pros/cons props, render purple +/- Notes badge when present
- Thread detail route: pass pros/cons props to CandidateCard
This commit is contained in:
2026-03-16 21:36:10 +01:00
parent 7a64a1887d
commit 4f2aefe7a4
4 changed files with 57 additions and 0 deletions

View File

@@ -18,6 +18,8 @@ interface CandidateCardProps {
isActive: boolean;
status: "researching" | "ordered" | "arrived";
onStatusChange: (status: "researching" | "ordered" | "arrived") => void;
pros?: string | null;
cons?: string | null;
}
export function CandidateCard({
@@ -33,6 +35,8 @@ export function CandidateCard({
isActive,
status,
onStatusChange,
pros,
cons,
}: CandidateCardProps) {
const unit = useWeightUnit();
const currency = useCurrency();
@@ -174,6 +178,11 @@ export function CandidateCard({
{categoryName}
</span>
<StatusBadge status={status} onStatusChange={onStatusChange} />
{(pros || cons) && (
<span className="inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium bg-purple-50 text-purple-700">
+/- Notes
</span>
)}
</div>
</div>
</button>