diff --git a/src/components/compare/CompareColumnHeader.tsx b/src/components/compare/CompareColumnHeader.tsx index 3c1168a..a2b0427 100644 --- a/src/components/compare/CompareColumnHeader.tsx +++ b/src/components/compare/CompareColumnHeader.tsx @@ -1,6 +1,7 @@ import { Box, Button, Chip, IconButton, Tooltip, Typography } from '@mui/material' import { X, AlertTriangle, BookmarkCheck, ExternalLink, Kanban } from 'lucide-react' import { useNavigate } from 'react-router' +import { usePipelineItems } from '../../hooks/usePipeline' import { usePipelineStore } from '../../stores/pipelineStore' import type { UnifiedMatchResult } from '../../domain/unifiedResult' @@ -20,7 +21,8 @@ interface Props { export function CompareColumnHeader({ item, onRemove }: Props) { const navigate = useNavigate() - const { items: pipelineItems, openSavedDialog } = usePipelineStore() + const { data: pipelineItems = [] } = usePipelineItems() + const { openSavedDialog } = usePipelineStore() const meta = TYPE_META[item.resultType] ?? { label: item.resultType, color: '#64748b' } const prop = item.resultType !== 'FUTURE_AVAILABILITY' ? (item as any).property : null diff --git a/src/components/pipeline/PipelineDetailPanel.tsx b/src/components/pipeline/PipelineDetailPanel.tsx index abc2794..21746fd 100644 --- a/src/components/pipeline/PipelineDetailPanel.tsx +++ b/src/components/pipeline/PipelineDetailPanel.tsx @@ -7,7 +7,7 @@ import { AlertTriangle, ChevronRight, CheckCircle, ExternalLink, FileText, MapPin, MessageSquare, Sparkles, StickyNote, X, } from 'lucide-react' -import { usePipelineStore } from '../../stores/pipelineStore' +import { useMoveStage, useUpdateNotes, useLoseItem } from '../../hooks/usePipeline' import type { PipelineItem } from '../../domain/pipeline' import { STAGES, NEXT_STAGE, MOCK_DOCS } from './pipelineConstants' import { scoreColor, detailPath, getKiInsight } from './pipelineUtils' @@ -16,7 +16,9 @@ import { scoreColor, detailPath, getKiInsight } from './pipelineUtils' export function DetailPanel({ item, onClose }: { item: PipelineItem; onClose: () => void }) { const navigate = useNavigate() - const { moveStage, updateNotes, loseItem } = usePipelineStore() + const { mutate: moveStage } = useMoveStage() + const { mutate: updateNotes } = useUpdateNotes() + const { mutate: loseItem } = useLoseItem() const path = detailPath(item) const [notes, setNotes] = useState(item.notes ?? '') const stageConfig = STAGES.find(s => s.key === item.stage)! @@ -128,7 +130,7 @@ export function DetailPanel({ item, onClose }: { item: PipelineItem; onClose: () {nextStage && ( +