document.addEventListener("DOMContentLoaded", function() {
// Fetch the Boats Data
const apiKey = "7aacc555dc321f5095c4833cc5e06727";
const endpoints = {
allBoats: `http://api.boats.com/inventory/search?key=${apiKey}`,
active: `http://api.boats.com/inventory/search?key=${apiKey}&salesstatus=active`,
pending: `http://api.boats.com/inventory/search?key=${apiKey}&salesstatus=sale%20pending`,
onOrder: `http://api.boats.com/inventory/search?key=${apiKey}&salesstatus=on-order`
};
// Function to fetch and display boat listings
function fetchBoats(endpoint) {
fetch(endpoint)
.then(response => response.json())
.then(data => {
const container = document.getElementById('boats-listings');
container.innerHTML = ""; // Clear previous listings
if (data.inventory && data.inventory.length > 0) {
data.inventory.forEach(boat => {
const boatElement = document.createElement('div');
boatElement.className = 'boat-card';
boatElement.innerHTML = `
<h2>${boat.name}</h2>
<p>Status: ${boat.salesstatus}</p>
<p>Price: ${boat.price ? `$${boat.price}` : "Price on Request"}</p>
`;
container.appendChild(boatElement);
});
} else {
container.innerHTML = `<p>No boats available for the selected status.</p>`;
}
})
.catch(error => console.error("Error fetching boats data:", error));
}
// Display all boats initially
fetchBoats(endpoints.allBoats);
// Optionally, add event listeners for different statuses
document.getElementById("filter-active").addEventListener("click", function() {
fetchBoats(endpoints.active);
});
document.getElementById("filter-pending").addEventListener("click", function() {
fetchBoats(endpoints.pending);
});
document.getElementById("filter-on-order").addEventListener("click", function() {
fetchBoats(endpoints.onOrder);
});
});