in assets/src/modules/signup/Home.tsx [519:586]
renderHome() {
const position = {
lat: 40.7397,
lon: -73.9945,
zoom: 14,
}
return (
<div>
<h2>Real-time Bike Station Status</h2>
<Form>
<Form.Row>
<Form.Group as={Col} md="8" className="form-group-inline">
<FormControl
id="search"
minLength={1}
placeholder="Search bike stations.."
value={this.state.searchInput}
onChange={this.handleSearchChange}
onKeyPress={this.handleSearchKeyPress}
required />
</Form.Group>
<Form.Group as={Col} md="1" className="form-group-inline">
<Button variant="primary" type='button' className='uniform-width' onClick={this.handleSearchClick} disabled={!this.validateSearchForm()}>Search</Button>
</Form.Group>
<Form.Group as={Col} md="1" className="form-group-inline">
<Button variant="primary" type='button' className='uniform-width' onClick={this.handleClearClick}>Clear</Button>
</Form.Group>
</Form.Row>
</Form>
<Accordion>
<Card className="adv-search-header">
<Card.Header className="adv-search-header">
<Accordion.Toggle as={Card.Header} variant="link" eventKey="0" className="adv-search-toggle" onClick={this.handleToggleClick}>
<p><i className={this.validateToggle()}></i> Plan Your Trip</p>
</Accordion.Toggle>
</Card.Header>
<Accordion.Collapse eventKey="0">
<Card.Body className="adv-search-body">
<Form>
<Form.Row>
<Form.Group as={Col} md="8" className="form-group-inline">
<DatePicker selected={this.state.predictInput}
onChange={this.handlePredictChange}
showTimeSelect
dateFormat="Pp" />
</Form.Group>
<Form.Group as={Col} md="1" className="form-group-inline">
<Button variant="primary" type="button" className="uniform-width" onClick={this.handlePredictClick}>Plan</Button>
</Form.Group>
</Form.Row>
</Form>
</Card.Body>
</Accordion.Collapse>
</Card>
</Accordion>
<MapContainer center={[position.lat, position.lon]} zoom={position.zoom}>
<TileLayer
attribution='&copy <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
/>
{ this.renderBikeStations(this.state.bikeStations) }
</MapContainer>
<div> </div>
{ this.state.showRideModal && this.renderRideModal() }
{ this.state.showReviewModal && this.renderReviewModal() }
</div>
);
}