feat(06-03): update display components to use categoryIcon with LucideIcon
- Rename categoryEmoji to categoryIcon in ItemCard, CandidateCard, ThreadCard, ItemPicker - Import and render LucideIcon at appropriate sizes (36px placeholder, 14-16px badges) - Update hook interfaces to match server API (categoryIcon instead of categoryEmoji) - Rename iconData.ts to iconData.tsx (contains JSX) - Update useCategories mutation type to use icon instead of emoji Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { useNavigate } from "@tanstack/react-router";
|
||||
import { formatPrice } from "../lib/formatters";
|
||||
import { LucideIcon } from "../lib/iconData";
|
||||
|
||||
interface ThreadCardProps {
|
||||
id: number;
|
||||
@@ -10,7 +11,7 @@ interface ThreadCardProps {
|
||||
createdAt: string;
|
||||
status: "active" | "resolved";
|
||||
categoryName: string;
|
||||
categoryEmoji: string;
|
||||
categoryIcon: string;
|
||||
}
|
||||
|
||||
function formatDate(iso: string): string {
|
||||
@@ -36,7 +37,7 @@ export function ThreadCard({
|
||||
createdAt,
|
||||
status,
|
||||
categoryName,
|
||||
categoryEmoji,
|
||||
categoryIcon,
|
||||
}: ThreadCardProps) {
|
||||
const navigate = useNavigate();
|
||||
|
||||
@@ -66,7 +67,7 @@ export function ThreadCard({
|
||||
</div>
|
||||
<div className="flex flex-wrap gap-1.5">
|
||||
<span className="inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium bg-blue-50 text-blue-700">
|
||||
{categoryEmoji} {categoryName}
|
||||
<LucideIcon name={categoryIcon} size={16} className="inline-block mr-1 text-gray-500" /> {categoryName}
|
||||
</span>
|
||||
<span className="inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium bg-purple-50 text-purple-700">
|
||||
{candidateCount} {candidateCount === 1 ? "candidate" : "candidates"}
|
||||
|
||||
Reference in New Issue
Block a user