import { Badge } from '@/components/ui/badge' import { Button } from '@/components/ui/button' import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle } from '@/components/ui/dialog' import { STATUS_COLORS } from '../constants' import { FeatureIdea, IdeaGroup, IdeaEdgeData } from '../types' import { Edge } from 'reactflow' type IdeaViewDialogProps = { open: boolean onOpenChange: (open: boolean) => void selectedIdea: FeatureIdea | null safeGroups: IdeaGroup[] safeIdeas: FeatureIdea[] edges: Edge[] onEdit: () => void } export const IdeaViewDialog = ({ open, onOpenChange, selectedIdea, safeGroups, safeIdeas, edges, onEdit, }: IdeaViewDialogProps) => ( {selectedIdea?.title} {selectedIdea && (

{selectedIdea.description}

{selectedIdea.category}

{selectedIdea.priority}

{selectedIdea.status}
{selectedIdea.parentGroup && (

{safeGroups.find((group) => group.id === selectedIdea.parentGroup)?.label || 'Unknown'}

)}

{new Date(selectedIdea.createdAt).toLocaleDateString()}

{edges .filter((edge) => edge.source === selectedIdea.id || edge.target === selectedIdea.id) .map((edge) => { const otherIdeaId = edge.source === selectedIdea.id ? edge.target : edge.source const otherIdea = safeIdeas.find((idea) => idea.id === otherIdeaId) const isOutgoing = edge.source === selectedIdea.id return (
{isOutgoing ? '→' : '←'} {otherIdea?.title || 'Unknown'} {edge.data?.label && ( {edge.data.label} )}
) })} {edges.filter((edge) => edge.source === selectedIdea.id || edge.target === selectedIdea.id).length === 0 && (

No connections

)}
)}
)