import React, { useState, useEffect } from 'react'; import axios from 'axios'; import 'bootstrap/dist/css/bootstrap.min.css'; const ITEMS_PER_PAGE = 6; const ReadOnlyMenuList = ({ restaurantId }) => { const [menuItems, setMenuItems] = useState([]); const [currentPage, setCurrentPage] = useState(1); useEffect(() => { const fetchMenu = async () => { try { const response = await axios.get(`http://localhost:8081/api/restaurant-menu/${restaurantId}`); setMenuItems(response.data); setCurrentPage(1); } catch (err) { console.error('Failed to fetch menu:', err); } }; if (restaurantId) { fetchMenu(); } }, [restaurantId]); const indexOfLastItem = currentPage * ITEMS_PER_PAGE; const indexOfFirstItem = indexOfLastItem - ITEMS_PER_PAGE; const currentItems = menuItems.slice(indexOfFirstItem, indexOfLastItem); const totalPages = Math.ceil(menuItems.length / ITEMS_PER_PAGE); const handlePageChange = (pageNumber) => { setCurrentPage(pageNumber); }; return (
{menuItems.length > 0 &&

Menu

}
{currentItems.map((item) => (
{item.itemName}

{item.description}

${item.price.toFixed(2)}
{item.tags && item.tags.length > 0 && (
{item.tags.map((tag) => ( {tag.tagName}: {tag.tagValue} ))}
)}
))}
{totalPages > 1 && ( )}
); }; export default ReadOnlyMenuList;