From fc4402295809a9f730f34652244b0b987bc6614c Mon Sep 17 00:00:00 2001 From: wencha Date: Thu, 7 Nov 2019 14:26:59 -0300 Subject: [PATCH] =?UTF-8?q?mejorado=20el=20orden=20en=20el=20que=20se=20mu?= =?UTF-8?q?estran=20los=20ejes/propuestas=20dentro=20de=20las=20consultas?= =?UTF-8?q?=20(tra=C3=ADdo=20del=20revert)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ext/lib/site/home-forum/component.js | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/ext/lib/site/home-forum/component.js b/ext/lib/site/home-forum/component.js index 6ae839242..d05d1f8bf 100644 --- a/ext/lib/site/home-forum/component.js +++ b/ext/lib/site/home-forum/component.js @@ -31,6 +31,28 @@ export default class HomeForum extends Component { ]) }) .then(([forum, [ topics, pagination ]]) => { + console.log(topics) + topics = topics.sort((a,b) => { + // si uno está abierto y el otro cerrado, ordenar por abierto + if (a.closed && !b.closed) + return 1 + if (!a.closed && b.closed) + return -1 + //// si los dos están abiertos o los dos cerrados + // si los dos tienen fecha de cierre, ordenar por eso + if (a.closingAt && b.closingAt) + if (a.closed && b.closed) + return new Date(a.closingAt) < new Date(b.closingAt) ? 1 : -1 + if (!a.closed && !b.closed) + return new Date(a.closingAt) > new Date(b.closingAt) ? 1 : -1 + // si alguno tiene fecha de cierre, poner último + if (a.closingAt) + return 1 + if (b.closingAt) + return -1 + // finalmente, si nada de lo anterior se cumple, ordenar por fecha de publicación + return new Date(a.publishedAt) < new Date(b.publishedAt) ? 1 : -1 + }) this.setState({ forum, topics @@ -142,7 +164,6 @@ export default class HomeForum extends Component { }
{this.state.topics - .sort((a,b) => a.mediaTitle.localeCompare(b.mediaTitle)) .map((topic) => ) }