'use client' import { useState } from 'react' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' import { Play } from 'lucide-react' import { useSimulateMailRule } from '@/lib/api/hooks/use-mail-automation-queries' import type { RuleEditorState, RuleSimulationResult } from '@/lib/mail-automation/types' import { DEFAULT_SIMULATION_MESSAGE, workflowToApiPayload } from '@/lib/mail-automation/defaults' interface RuleSimulatorPanelProps { state: RuleEditorState ruleId?: string } export function RuleSimulatorPanel({ state, ruleId }: RuleSimulatorPanelProps) { const simulate = useSimulateMailRule() const [message, setMessage] = useState(DEFAULT_SIMULATION_MESSAGE) const [result, setResult] = useState(null) async function runSimulation() { const payload = workflowToApiPayload(state) const res = await simulate.mutateAsync({ message, ...(ruleId ? { rule_id: ruleId } : { rule: { conditions: payload.conditions, actions: payload.actions, workflow: payload.workflow, }, }), }) setResult(res) } return (

Tester avec un message exemple

setMessage({ ...message, from: e.target.value })} />
setMessage({ ...message, subject: e.target.value })} />