reafactor fetch by qwen2.5Plux

This commit is contained in:
tom 2025-02-13 14:00:46 +01:00
parent e4a7d17094
commit 9748e1d2e2
4 changed files with 84 additions and 20 deletions

32
src/data/data.json Normal file
View File

@ -0,0 +1,32 @@
[
{
"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"
}
]

View File

@ -6,6 +6,8 @@
<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>
</head> </head>
<body> <body>
<header> <header>
@ -40,6 +42,7 @@
</div> </div>
<footer> <footer>
Stronę internetową operacował: JA Stronę internetową operacował: Team Work, CKZiU 2025
</body> </body>
</html> </html>

View File

@ -1,20 +1,15 @@
document.addEventListener('DOMContentLoaded', function() { // src/js/get.js
// const imieSelect = document.getElementById('imie'); export const fetchData = () => {
return fetch('/src/data/data.json') // Ścieżka do pliku data.json
imieSelect.addEventListener('focus', function() { .then(response => {
fetch('get.php') if (!response.ok) {
.then(response => response.json()) throw new Error(`HTTP error! status: ${response.status}`);
.then(data => { }
/* return response.json(); // Parsujemy odpowiedź jako JSON
usersData = data; })
imieSelect.innerHTML = ""; .catch(error => {
data.forEach(dane => { console.error('Error fetching data:', error);
}); throw error; // Propagujemy błąd dalej
*/ });
};
})
.catch(error => console.error('Error fetching data:', error));
});
});

View File

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