import _ from "lodash"; import React from "react"; import request from "axios"; import timeago from "timeago"; import api from "./api"; import transformers from "./feed-transformers"; export default class Feed extends React.Component { state = { messages: [], }; componentDidMount() { this.updateFeed(); } async updateFeed() { const res = await request.get(api("feeds")); const messages = _(res.data) .map((messages, type) => transformers[type](messages)) .flatten() .value(); this.setState({ messages: _(messages) .sortBy("timestamp") .reverse() .value() .slice(0, 40), }); } render() { const messages = this.state.messages.map((message, i) => { let image = ; if (message.imageLink) { image = ( {image} ); } return (
{message.user}
{timeago(message.timestamp)} {message.meta}
); }); return
{messages}
; } }