import React from "react"; import { motion, AnimatePresence } from "framer-motion"; import { useFlowStore } from "../../store/useFlowStore"; import { Badge } from "../shared/Badge"; export const StepDetail: React.FC = () => { const getCurrentStep = useFlowStore((s) => s.getCurrentStep); const step = getCurrentStep(); if (!step) { return (
Select a path to view step details
); } return ( {/* Header */}
{step.title}
{step.description}
{/* Grid of details */}
{/* Side Effects */} {Object.keys(step.sideEffects).length > 0 && (
{step.sideEffects.jobs && ( )} {step.sideEffects.notifications && ( )} {step.sideEffects.dac && ( )} {step.sideEffects.pubsub && ( )}
)} {/* Message types in this step */} {step.messages.length > 0 && (
{Array.from(new Set(step.messages.map((m) => m.type))).map( (type) => ( ) )}
)}
); }; function DetailItem({ label, value, mono, highlight, }: { label: string; value: string; mono?: boolean; highlight?: boolean; }) { return (
{label}
{value}
); } function SideEffectPill({ icon, label, value, }: { icon: string; label: string; value: string; }) { return (
{icon}
{label}
{value}
); }