Professional Documents
Culture Documents
Chapter 4
Chapter 4
CHAPTER 4
SAMPLE CODE
Home.jsx
</div>
{children > 0 && (
<div className="mb-2">
<span>Children Ages</span>
<div className="flex flex-wrap">
{childAges.map((age, index) => (
<select key={index} value={age} onChange={e
=> handleChildAgeChange(index, parseInt(e.target.value))} className="px-2 py-1
border border-gray-300 rounded-md mr-2 mt-1">
{Array.from({ length: 12 }, (_, i) => i +
1).map(age => (
<option key={age}
value={age}>{age}</option>
))}
</select>
))}
</div>
</div>
)}
<div className="flex justify-between mb-2">
<span>Rooms</span>
<div className="flex items-center">
<button onClick={handleRoomsDecrement}
className="px-3 py-1 bg-blue-500 text-white rounded-full
focus:outline-none">-</button>
<span className="px-3 py-1">{rooms}</span>
<button onClick={handleRoomsIncrement}
className="px-3 py-1 bg-blue-500 text-white rounded -full
focus:outline-none">+</button>
</div>
</div>
24
<section className="py-16">
<div className="container mx-auto">
<h2 className="text-3xl md:text-4xl font-bold mb-8 text-center">Contact
Us</h2>
<p className="text-lg text-center mb-8">Have questions or ready to book your
next adventure? Reach out to us today!</p>
<div className="flex justify-center">
<p className="bg-blue-500 hover:bg-blue-600 text-white font-bold py-3 px-6
rounded-full transition duration-300" onClick={()=>navigate('/contact')}>Contact
Us</p>
</div>
</div></section></div>);};export default Home;
Boat Controller.java
package com.boat.boathouse.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.boat.boathouse.constant.Api;
28
import com.boat.boathouse.model.Boat;
import com.boat.boathouse.model.Passenger;
import com.boat.boathouse.service.BoatService;
@RequestMapping(Api.AUTH)
@RestController
@CrossOrigin("*")
public class BoatController {
@Autowired
private BoatService boatService;
@PostMapping(value="/saveboat")
public Boat saveBoat(@RequestBody Boat boat) {
System.out.println("Boat details saved successfully");
Boat savedBoat = boatService.saveBoat(boat);
List<Passenger> passengers = savedBoat.getPassengers();
if (passengers != null) {
for (Passenger passenger : passengers) {
passenger.setBoat(savedBoat);
}
}
savedBoat.setPassengers(passengers);
return boatService.saveBoat(savedBoat);
}
@GetMapping(value="/getboats")
public List<Boat> getAllBoats() {
return boatService.getAllBoats();
}
@GetMapping(value="/getboat/{id}")
public Boat getBoatById(@PathVariable int id) {
return boatService.findById(id);
}
@GetMapping(value="/getboatwithpass/{id}")
29
@GetMapping("/boats/lowtohigh")
public List<Boat> findBoatsByLowToHighFare() {
return boatService.findBoatsByLowToHighFare();
}
@GetMapping("/boats/hightolow")
public List<Boat> findBoatsByHighToLowFare() {
return boatService.findBoatsByHighToLowFare();
}
@GetMapping("/boats/class/{boatClass}")
public List<Boat> findBoatsByClass(@PathVariable String boatClass) {
return boatService.findBoatsByClass(boatClass);
}
}