This commit is contained in:
tom 2025-02-14 13:45:35 +01:00
parent 9748e1d2e2
commit ea1dad181c
4 changed files with 48 additions and 22 deletions

View File

@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Restauracja Wszystkie Smaki</title> <title>Restauracja Wszystkie Smaki</title>
<link rel="stylesheet" href="css/style.css"> <link rel="stylesheet" href="css/style.css">
<script type="module" src="src/js/script.js"></script> <script type="module" src="js/script.js"></script>
</head> </head>
<body> <body>
@ -21,9 +21,9 @@
<div id="prawy"> <div id="prawy">
<h4>U nas dobrze zjesz!</h4> <h4>U nas dobrze zjesz!</h4>
<ol> <ol>
<li>Obiady od 40 zł</li> <li></li>
<li>Przekąski od 10 zł</li> <li></li>
<li>Kolacje od 20 zł</li> <li></li>
</ol> </ol>
</div> </div>

View File

@ -1,15 +1,7 @@
// src/js/get.js
export const fetchData = () => { export const fetchData = () => {
return fetch('/src/data/data.json') // Ścieżka do pliku data.json return fetch('./data/data.json')
.then(response => { .then(response => {
if (!response.ok) { return response.json();
throw new Error(`HTTP error! status: ${response.status}`);
}
return response.json(); // Parsujemy odpowiedź jako JSON
}) })
.catch(error => {
console.error('Error fetching data:', error);
throw error; // Propagujemy błąd dalej
});
}; };

View File

@ -1,5 +1,8 @@
// src/js/script.js // src/js/script.js
import { fetchData } from './get.js'; // Importujemy funkcję fetchData import { fetchData } from './get.js'; // Importujemy funkcję fetchData
document.addEventListener('DOMContentLoaded', () => { document.addEventListener('DOMContentLoaded', () => {
@ -8,27 +11,21 @@ document.addEventListener('DOMContentLoaded', () => {
fetchData() // Wywołujemy funkcję fetchData fetchData() // Wywołujemy funkcję fetchData
.then(data => { .then(data => {
// Filtruj dane według kategorii
const obiady = data.filter(item => item.kategoria === 'obiady'); const obiady = data.filter(item => item.kategoria === 'obiady');
const przekaski = data.filter(item => item.kategoria === 'przekąski'); const przekaski = data.filter(item => item.kategoria === 'przekąski');
const kolacje = data.filter(item => item.kategoria === 'kolacje'); const kolacje = data.filter(item => item.kategoria === 'kolacje');
// Funkcja do renderowania elementów
const renderItems = (items) => items.map(item => const renderItems = (items) => items.map(item =>
`<li>${item.nazwa} - ${item.cena} zł</li>` `<li>${item.nazwa} - ${item.cena} zł</li>`
).join(''); ).join('');
// Tworzymy HTML dla każdej kategorii
const htmlContent = ` const htmlContent = `
<li>Obiady od 40 <br><ul>${renderItems(obiady)}</ul></li> <li><br><ul>${renderItems(obiady)}</ul></li>
<li>Przekąski od 10 <br><ul>${renderItems(przekaski)}</ul></li> <li>Przekąski od 10 <br><ul>${renderItems(przekaski)}</ul></li>
<li>Kolacje od 20 <br><ul>${renderItems(kolacje)}</ul></li> <li>Kolacje od 20 <br><ul>${renderItems(kolacje)}</ul></li>
`; `;
// Wstawiamy wygenerowany HTML do listy
lista.innerHTML = htmlContent; lista.innerHTML = htmlContent;
}) })
.catch(error => {
console.error('Błąd podczas ładowania danych:', error);
});
}); });

View File

@ -0,0 +1,37 @@
<?php
header('Content-Type: application/json');
$menu = [
[
"id" => 1,
"nazwa" => "Obiad: Kura w sosie kremowym",
"cena" => 45,
"kategoria" => "obiady"
],
[
"id" => 2,
"nazwa" => "Przekąska: Kanapka z szynką i serem",
"cena" => 12,
"kategoria" => "przekąski"
],
[
"id" => 3,
"nazwa" => "Kolacja: Spaghetti carbonara",
"cena" => 25,
"kategoria" => "kolacje"
],
[
"id" => 4,
"nazwa" => "Obiad: Zupa pomidorowa + kluski",
"cena" => 40,
"kategoria" => "obiady"
],
[
"id" => 5,
"nazwa" => "Przekąska: Sałata grecka",
"cena" => 15,
"kategoria" => "przekąski"
]
];
echo json_encode($menu);
?>