From ca2db7ca6035b9dc2f6a579d5be44a8b91dffed7 Mon Sep 17 00:00:00 2001 From: Joshua Hsueh Date: Sat, 10 Apr 2021 14:10:24 -0400 Subject: [PATCH] my pools feature --- src/App.js | 5 +- src/components/MyPools.js | 118 ++++++++++++++++++++++++++++++++++++++ src/components/Nav.js | 5 ++ src/components/Pool.js | 5 +- 4 files changed, 128 insertions(+), 5 deletions(-) create mode 100644 src/components/MyPools.js diff --git a/src/App.js b/src/App.js index e586d61..7aa58b9 100644 --- a/src/App.js +++ b/src/App.js @@ -9,7 +9,7 @@ import CreatePool from './components/CreatePool'; import CreateGroup from './components/CreateGroup'; import Groups from './components/Groups'; import MyGroups from './components/MyGroups'; - +import MyPools from './components/MyPools'; import UpdatePool from './components/UpdatePool'; import Home from './components/Home'; import Main from './components/Main'; @@ -28,9 +28,10 @@ function App() { + - + diff --git a/src/components/MyPools.js b/src/components/MyPools.js new file mode 100644 index 0000000..b12d2c8 --- /dev/null +++ b/src/components/MyPools.js @@ -0,0 +1,118 @@ +import React, { useState, useEffect } from 'react'; +import { API_ENDPOINT } from '../api'; + +const MyPools = (props) => { + const id = props.match.params.id; + const [pools, setPools] = useState([ + { + id: 1, + pool_title: 'TJ Carpool', + pool_text: 'Carpool from TJ track to homes', + start_time: '4/10/2021 3:00 PM', + end_time: '4/10/2021 4:00 PM', + capacity: 2, + participants: [], + comments: [ + 'What is the covid vaccination status of all the participants?', + ], + }, + { + id: 2, + pool_title: 'TJ Carpool', + pool_text: 'Carpool from TJ track to homes', + start_time: '4/10/2021 3:00 PM', + end_time: '4/10/2021 4:00 PM', + capacity: 2, + participants: [], + comments: [ + 'What is the covid vaccination status of all the participants?', + ], + }, + { + id: 3, + pool_title: 'TJ Carpool', + pool_text: 'Carpool from TJ track to homes', + start_time: '4/10/2021 3:00 PM', + end_time: '4/10/2021 4:00 PM', + capacity: 2, + participants: [], + comments: [ + 'What is the covid vaccination status of all the participants?', + ], + }, + { + id: 4, + pool_title: 'TJ Carpool', + pool_text: 'Carpool from TJ track to homes', + start_time: '4/10/2021 3:00 PM', + end_time: '4/10/2021 4:00 PM', + capacity: 2, + participants: [], + comments: [ + 'What is the covid vaccination status of all the participants?', + ], + }, + ]); + + useEffect(() => { + console.log(process.env); + fetch(`${API_ENDPOINT}/my_pools`) + .then((response) => response.json()) + .then((json) => { + if (json) { + setPools(json.data); + } + }); + }, []); + + const maybePluralize = (count, noun, suffix = 's') => + `${count} ${noun}${count !== 1 ? suffix : ''}`; + return ( +
+

+ Pools +

+ + Create Pool + +
+

+ {pools.map((pool, index) => { + let background; + if (index % 2 === 0) { + background = '#F1EAE8'; + } else { + background = '#FFFFFF'; + } + return ( +
+ + {pool.pool_title} + +

+ Capacity: {pool.participants.length} / {pool.capacity} +

+

Start Time: {pool.start_time}

+

End Time: {pool.end_time}

+

+ {maybePluralize(pool.comments.length, 'comment')} +

+
+ ); + })} +
+
+ ); +}; + +export default MyPools; diff --git a/src/components/Nav.js b/src/components/Nav.js index 119e7f9..2198209 100644 --- a/src/components/Nav.js +++ b/src/components/Nav.js @@ -36,6 +36,11 @@ const Nav = (props) => { MyGroups +
  • + + MyPools + +
  • diff --git a/src/components/Pool.js b/src/components/Pool.js index 0650725..7d11162 100644 --- a/src/components/Pool.js +++ b/src/components/Pool.js @@ -1,8 +1,7 @@ import React, { useState, useEffect } from 'react'; const Pool = (props) => { - const poolid = props.match.params.poolid; - const id = props.match.params.id; + const poolid = props.match.params.id; const [state, setState] = useState({ pool_title: 'TJ Carpool', id: 1, @@ -15,7 +14,7 @@ const Pool = (props) => { }); const callAPI = () => { - fetch(`${process.env.REACT_APP_API_ENDPOINT}/pool/${id}`) + fetch(`${process.env.REACT_APP_API_ENDPOINT}/pool/${poolid}`) .then((response) => response.json()) .then((data) => { if (data !== undefined) {