feat: market event
This commit is contained in:
@@ -509,8 +509,32 @@ function EventDetail({
|
||||
setRecMsg(`✓ ${rec.template_name}${rec.confidence ? ` (${Math.round(rec.confidence * 100)}%)` : ''}`)
|
||||
await instantiate(rec.template_id)
|
||||
} else {
|
||||
setRecMsg('Aucun template adapté trouvé')
|
||||
setNoTemplateFound(true)
|
||||
// Aucun template adapté — création automatique d'un nouveau
|
||||
setRecMsg('Aucun template adapté — création en cours…')
|
||||
setNoTemplateFound(false)
|
||||
setLoadingCreate(true)
|
||||
try {
|
||||
const cr = await fetch('/api/causal-lab/create-from-event', {
|
||||
method: 'POST', headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({ market_event_id: detail.id }),
|
||||
})
|
||||
const cd = await cr.json()
|
||||
if (!cr.ok) throw new Error(cd.detail || cr.statusText)
|
||||
const newTmplId = cd.template?.id ?? cd.template_id
|
||||
if (newTmplId) {
|
||||
setTemplates(prev => [...prev, cd.template].filter(Boolean))
|
||||
setSelTmpl(newTmplId)
|
||||
setRecMsg(`✦ Nouveau template créé : ${cd.template?.name ?? 'template'}`)
|
||||
await instantiate(newTmplId)
|
||||
} else {
|
||||
setRecMsg('Template créé mais ID manquant')
|
||||
}
|
||||
} catch (ce: any) {
|
||||
setRecMsg(`✗ Création échouée : ${ce.message}`)
|
||||
setNoTemplateFound(true)
|
||||
} finally {
|
||||
setLoadingCreate(false)
|
||||
}
|
||||
}
|
||||
} catch (e: any) { setRecMsg(`✗ ${(e as any).message}`) }
|
||||
finally { setLoadingRec(false) }
|
||||
|
||||
Reference in New Issue
Block a user