From 121467a8c5ad747e31f1afa71902bd2bbf729ea4 Mon Sep 17 00:00:00 2001 From: Ganga Date: Thu, 3 Sep 2020 04:09:36 +0530 Subject: [PATCH] Adds events firebase api to event section --- src/views/pages/HomeView/Events.js | 46 +++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/src/views/pages/HomeView/Events.js b/src/views/pages/HomeView/Events.js index d04c68ad..8742b22d 100755 --- a/src/views/pages/HomeView/Events.js +++ b/src/views/pages/HomeView/Events.js @@ -1,6 +1,12 @@ -import React from 'react'; +import React, { + useCallback, + useState, + useEffect +} from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; +import axios from 'src/utils/axios'; +import useIsMountedRef from 'src/hooks/useIsMountedRef'; import { Box, @@ -13,7 +19,6 @@ import { import Card from '@material-ui/core/Card'; import CardContent from '@material-ui/core/CardContent'; import CardMedia from '@material-ui/core/CardMedia'; -import { events } from './HomeViewData'; const useStyles = makeStyles(theme => ({ root: { @@ -40,7 +45,8 @@ const useStyles = makeStyles(theme => ({ position: 'relative' }, cardMedia: { - paddingTop: '55.75%' // 16:9 + paddingTop: '55.75%', // 16:9 + borderBottom: '1px solid #eee' }, cardContent: { flexGrow: 1 @@ -95,6 +101,26 @@ const useStyles = makeStyles(theme => ({ function Events({ className, ...rest }) { const classes = useStyles(); + const isMountedRef = useIsMountedRef(); + const [events, setEvents] = useState(null); + + const getEvents = useCallback(() => { + axios + .get('https://us-central1-codeforcauseorg.cloudfunctions.net/widgets/events') + .then((response) => { + if (isMountedRef.current) { + setEvents(response.data); + } + }); + }, [isMountedRef]); + + useEffect(() => { + getEvents(); + }, [getEvents]); + + if (!events) { + return null; + } return (
@@ -116,7 +142,7 @@ function Events({ className, ...rest }) { md={4} > - {event.date_time ? ( + {event.time ? (
- {event.date_time} + {event.time}
) : ( - <> - )} + <> + )} @@ -142,7 +168,7 @@ function Events({ className, ...rest }) { style={{ paddingRight: '15px' }} gutterBottom > - {event.title} + {event.domain} - {event.description} + {event.title}