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;