1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-23 21:44:19 +00:00
pds-2021-g2-nest/nest_frontend/components/interactive/BoxRepositoryTweets.js
2021-05-23 16:20:53 +02:00

39 lines
1.1 KiB
JavaScript

import React, { useMemo } from "react"
import BoxFullScrollable from "../base/BoxFullScrollable"
import SummaryTweet from "./SummaryTweet"
import Empty from "./Empty"
import useRepositoryViewer from "../../hooks/useRepositoryViewer"
import useStrings from "../../hooks/useStrings"
/**
* A {@link BoxFullScrollable} rendering all the tweets currently displayed in a RepositoryViewer as
* {@link SummaryTweet}s.
*
* @param props - Additional props to pass to the box.
* @returns {JSX.Element}
* @constructor
*/
export default function BoxRepositoryTweets({ ...props }) {
const strings = useStrings()
const { tweets } = useRepositoryViewer()
const content = useMemo(
() => {
if(tweets.length === 0) {
return <Empty/>
}
else {
return tweets.map(tweet => <SummaryTweet key={tweet["snowflake"]} tweet={tweet}/>)
}
},
[tweets],
)
return (
<BoxFullScrollable header={strings.tweets} {...props}>
{content}
</BoxFullScrollable>
)
}