<!DOCTYPE html> <html> <head> <title>Category Management</title> <style> body { font-family: Arial, sans-serif; margin: 20px; } .card { background-color: #f2f2f2; padding: 20px; border-radius: 5px; margin-bottom: 20px; } .card-heading { text-align: center; } .card-button { background-color: #4CAF50; color: white; padding: 10px 15px; border: none; border-radius: 4px; margin-right: 10px; cursor: pointer; } </style> </head> <body> <div class="card"> <h1 class="card-heading">Category Management</h1> <div> <button class="card-button" onclick="viewAllCategories()">View All Categories</button> </div> </div> <script> function simulateApiRequest() { return new Promise((resolve, reject) => { // Simulate the API request setTimeout(() => { // Simulated response data const categories = [ { id: 1, name: "Category 1" }, { id: 2, name: "Category 2" }, { id: 3, name: "Category 3" } ]; resolve(categories); }, 2000); // Simulate a delay of 2 seconds (2000 milliseconds) }); } function viewAllCategories() { simulateApiRequest() .then(categories => { console.log("Categories:", categories); // Perform any additional actions or update UI as needed displayCategories(categories); }) .catch(error => { console.error("Failed to fetch categories:", error); // Handle error and display appropriate message or UI feedback }); } function displayCategories(categories) { // Get the container element to display the categories const container = document.getElementById("categories-container"); container.innerHTML = ""; // Clear any existing categories // Create a list of categories and append them to the container const ul = document.createElement("ul"); categories.forEach(category => { const li = document.createElement("li"); li.textContent = `${category.id}: ${category.name}`; ul.appendChild(li); }); container.appendChild(ul); } </script> <div id="categories-container"></div> </body> </html>