From 2c594fb9f7ccfd8029d2364eb0fce0c5187f6054 Mon Sep 17 00:00:00 2001 From: "Guillermo.Arrieta" Date: Sat, 7 Mar 2026 06:33:39 +0000 Subject: [PATCH] =?UTF-8?q?Hotfix:=20generaci=C3=B3n=20de=20citas=20en=20o?= =?UTF-8?q?rden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nueva/NuevaBibliografiaModalContainer.tsx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/features/bibliografia/nueva/NuevaBibliografiaModalContainer.tsx b/src/features/bibliografia/nueva/NuevaBibliografiaModalContainer.tsx index ceaffc1..a4c2c75 100644 --- a/src/features/bibliografia/nueva/NuevaBibliografiaModalContainer.tsx +++ b/src/features/bibliografia/nueva/NuevaBibliografiaModalContainer.tsx @@ -506,13 +506,20 @@ export function NuevaBibliografiaModalContainer({ const engine = new CSL.Engine(sys as any, xmlStyle) engine.updateItems(Object.keys(cslItems)) const result = engine.makeBibliography() + + // result[0] contiene los metadatos, result[1] las citas formateadas + const meta = result?.[0] as { entry_ids?: string[][] } | undefined const entries = (result?.[1] ?? []) as Array - const byId = Object.keys(cslItems) const citations: Record = {} - for (let i = 0; i < byId.length; i++) { - const id = byId[i] + + // meta.entry_ids es un arreglo de arreglos: [["id-2"], ["id-1"], ...] + const sortedIds = meta?.entry_ids ?? [] + + for (let i = 0; i < entries.length; i++) { + const id = sortedIds[i]?.[0] // Sacamos el ID real de esta posición if (!id) continue + const cita = citeprocHtmlToPlainText(entries[i] ?? '') citations[id] = cita }