1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-22 21:14:18 +00:00
pds-2021-g2-nest/nest_frontend/components/interactive/BoxRepositoryTweets.js

40 lines
1.1 KiB
JavaScript
Raw Normal View History

import React, { useMemo } from "react"
2021-05-18 17:15:53 +00:00
import BoxFullScrollable from "../base/BoxFullScrollable"
import SummaryTweet from "./SummaryTweet"
2021-05-20 09:39:40 +00:00
import Empty from "./Empty"
2021-05-23 03:03:41 +00:00
import useRepositoryViewer from "../../hooks/useRepositoryViewer"
import useStrings from "../../hooks/useStrings"
2021-05-18 17:15:53 +00:00
2021-05-23 03:03:41 +00:00
/**
* 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
*/
2021-05-21 14:37:30 +00:00
export default function BoxRepositoryTweets({ ...props }) {
2021-05-23 03:03:41 +00:00
const strings = useStrings()
const { tweets } = useRepositoryViewer()
2021-05-18 17:15:53 +00:00
const content = useMemo(
() => {
if(tweets.length === 0) {
return <Empty/>
}
else {
return tweets.map(tweet => <SummaryTweet key={tweet["snowflake"]} tweet={tweet}/>)
}
},
2021-05-23 14:20:53 +00:00
[tweets],
)
2021-05-20 09:39:40 +00:00
2021-05-18 17:15:53 +00:00
return (
2021-05-20 16:28:08 +00:00
<BoxFullScrollable header={strings.tweets} {...props}>
2021-05-20 09:39:40 +00:00
{content}
2021-05-18 17:15:53 +00:00
</BoxFullScrollable>
)
}