diff --git a/components/Feed.jsx b/components/Feed.jsx index d58174e..761be62 100644 --- a/components/Feed.jsx +++ b/components/Feed.jsx @@ -1,9 +1,14 @@ -import _ from "lodash"; +import flatMap from "lodash/flatMap"; +import sortBy from "lodash/sortBy"; import React from "react"; import request from "axios"; -import timeago from "timeago"; import api from "./api"; import transformers from "./feed-transformers"; +import ReactTimeAgo from "react-time-ago"; +import JavascriptTimeAgo from "javascript-time-ago"; +import timeagoFi from "javascript-time-ago/locale/fi"; + +JavascriptTimeAgo.locale(timeagoFi); export default class Feed extends React.Component { state = { @@ -16,17 +21,13 @@ export default class Feed extends React.Component { async updateFeed() { const res = await request.get(api("feeds")); - const messages = _(res.data) - .map((messages, type) => transformers[type](messages)) - .flatten() - .value(); - + const messages = sortBy( + flatMap(res.data, (messages, type) => transformers[type](messages)), + "timestamp" + ); + messages.reverse(); // In-place this.setState({ - messages: _(messages) - .sortBy("timestamp") - .reverse() - .value() - .slice(0, 40), + messages: messages.slice(0, 40), }); } @@ -36,7 +37,12 @@ export default class Feed extends React.Component { if (message.imageLink) { image = ( - + {image} ); @@ -44,7 +50,9 @@ export default class Feed extends React.Component { return (
- +
{message.user} @@ -52,13 +60,13 @@ export default class Feed extends React.Component {
+ />
- +