create user Board component and withUserConnected hoc

This commit is contained in:
memeriau 2022-01-30 00:15:23 +01:00
parent b842174ebe
commit 4800e12d9f
3 changed files with 29 additions and 6 deletions

View File

@ -0,0 +1,15 @@
import { FC, memo } from "react"
import DayWishes from "./DayWishes/DayWishes"
import DayWishesFormModal from "./DayWishesForm/DayWishesFormModal"
import DDayInformations from "./DDayInformations/DDaysInformations"
import withUserConnected from "../../utils/withUserConnected"
const Board: FC = (): JSX.Element => (
<div>
<DayWishes />
<DayWishesFormModal />
<DDayInformations />
</div>
)
export default memo(withUserConnected(Board))

View File

@ -5,10 +5,8 @@ import { useSelector } from "react-redux"
import { AppThunk } from "../../store"
import { fetchVolunteerDayWishesSetIfNeed } from "../../store/volunteerDayWishesSet"
import { selectUserJwtToken } from "../../store/auth"
import DDayInformations from "../../components/VolunteerBoard/DDayInformations/DDaysInformations"
import DayWishes from "../../components/VolunteerBoard/DayWishes/DayWishes"
import DayWishesFormModal from "../../components/VolunteerBoard/DayWishesForm/DayWishesFormModal"
import Page from "../../components/Page/Page"
import Board from "../../components/VolunteerBoard/Board"
export type Props = RouteComponentProps
@ -19,9 +17,7 @@ const BoardPage: FC<Props> = (): JSX.Element => {
if (jwtToken) {
return (
<Page>
<DayWishes />
<DayWishesFormModal />
<DDayInformations />
<Board />
</Page>
)
}

View File

@ -0,0 +1,12 @@
import React from "react"
import { useSelector } from "react-redux"
import { isUserConnected } from "../store/auth"
function withUserConnected<T>(Component: React.ComponentType<T>) {
return (props: T): JSX.Element | null => {
const connected = useSelector(isUserConnected)
return connected ? <Component {...props} /> : null
}
}
export default withUserConnected