Compare commits

...

2 Commits
u2 ... f1

Author SHA1 Message Date
tom
9748e1d2e2 reafactor fetch by qwen2.5Plux 2025-02-13 14:00:46 +01:00
u2
e4a7d17094 get init ver 2025-02-12 14:09:49 +01:00
4 changed files with 85 additions and 1 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">
<title>Restauracja Wszystkie Smaki</title>
<link rel="stylesheet" href="css/style.css">
<script type="module" src="src/js/script.js"></script>
</head>
<body>
<header>
@ -40,6 +42,7 @@
</div>
<footer>
Stronę internetową operacował: JA
Stronę internetową operacował: Team Work, CKZiU 2025
</body>
</html>

View File

@ -0,0 +1,15 @@
// src/js/get.js
export const fetchData = () => {
return fetch('/src/data/data.json') // Ścieżka do pliku data.json
.then(response => {
if (!response.ok) {
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

@ -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);
});
});