mirror of
https://github.com/myfatemi04/wheelshare-frontend.git
synced 2025-04-09 22:00:16 -04:00
86 lines
2.3 KiB
TypeScript
86 lines
2.3 KiB
TypeScript
import { useState, useEffect, FormEventHandler } from 'react';
|
|
import { useParams } from 'react-router';
|
|
|
|
const Pool = () => {
|
|
const id = useParams<{ id: string }>().id;
|
|
const [state, setState] = useState({
|
|
pool_title: 'TJ Carpool',
|
|
id: 1,
|
|
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?'],
|
|
});
|
|
|
|
const callAPI = () => {
|
|
fetch(`${process.env.REACT_APP_API_ENDPOINT}/pool/${id}`)
|
|
.then((response) => response.json())
|
|
.then((data) => {
|
|
if (data !== undefined) {
|
|
setState(data);
|
|
}
|
|
});
|
|
};
|
|
const onComment: FormEventHandler<HTMLFormElement> = (e) => {
|
|
e.preventDefault();
|
|
|
|
fetch(`${process.env.REACT_APP_API_ENDPOINT}/pool/comments`)
|
|
.then((response) => response.json())
|
|
.then((data) => {
|
|
console.log(data);
|
|
});
|
|
};
|
|
useEffect(() => {
|
|
callAPI();
|
|
}, []);
|
|
return (
|
|
<div className="bg-dark" style={{ minHeight: '100vh' }}>
|
|
<h1
|
|
style={{ backgroundColor: '#F1EAE8', fontFamily: 'Impact' }}
|
|
className=" d-flex justify-content-center p-4"
|
|
>
|
|
Pool {id}
|
|
</h1>
|
|
<div className="container " style={{ fontFamily: 'Courier New' }}>
|
|
<div className="card card-body " style={{ backgroundColor: '#F1EAE8' }}>
|
|
<h1 className="card-title">{state.pool_title}</h1>
|
|
<p className="text-left">
|
|
Capacity: {state.participants.length} / {state.capacity}
|
|
</p>
|
|
<p className="text-left">Start Time: {state.start_time}</p>
|
|
<p className="text-left">End Time: {state.end_time}</p>
|
|
<p className="text-left">{state.pool_text}</p>
|
|
</div>
|
|
<form onSubmit={onComment}>
|
|
<div id="form-group" className="text-left">
|
|
<textarea
|
|
className="form-control"
|
|
id="comment"
|
|
placeholder="Enter comment here..."
|
|
/>
|
|
<input className="btn btn-primary" type="submit" value="Submit" />
|
|
</div>
|
|
<br />
|
|
</form>
|
|
<div className="text-left">
|
|
<h4 className="text-white">Comments:</h4>
|
|
{state.comments.map((comment) => {
|
|
return (
|
|
<div
|
|
className="card card-body"
|
|
style={{ backgroundColor: '#D6D1D0' }}
|
|
>
|
|
<p className="card-text">{comment}</p>
|
|
</div>
|
|
);
|
|
})}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default Pool;
|