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 (
);
}
function SideEffectPill({
icon,
label,
value,
}: {
icon: string;
label: string;
value: string;
}) {
return (
);
}