diff --git a/25_fetch_await/index.html b/25_fetch_await/index.html
new file mode 100644
index 0000000..bfb8e3f
--- /dev/null
+++ b/25_fetch_await/index.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+ Fetch API
+
+
+ Hledání uživatele (Fetch API)
+
+
+ Zadejte ID uživatele (1-10):
+
+ Najít uživatele
+ Najít všechny
+
+
+
+
Připraveno k hledání....
+
+
+
+
+
\ No newline at end of file
diff --git a/25_fetch_await/script.js b/25_fetch_await/script.js
new file mode 100644
index 0000000..86a5c37
--- /dev/null
+++ b/25_fetch_await/script.js
@@ -0,0 +1,68 @@
+const inputId = document.getElementById("userId");
+const btnNajdi = document.getElementById("btnNajdi");
+const btnVse = document.getElementById("btnVse");
+const stav = document.getElementById("stav");
+const vysledek = document.getElementById("vysledek");
+
+// FUNKCE 1 : Načtení všech uživatelů
+async function nactiVsechny() {
+ vysledek.innerHTML = "";
+ stav.innerText = "Načítám seznam všech uživatelů";
+
+ try{
+ const odpoved = await fetch("https://jsonplaceholder.typicode.com/users")
+ if (!odpoved.ok){
+ throw new Error("Nepodařilo se stáhnout seznam uživatelů")
+ }
+ const data = await odpoved.json();
+
+ //Vytvoření seznam (createElement/appendChild)
+ const ul = document.createElement("ul");
+ data.forEach(u => {
+ const li = document.createElement("li");
+ li.innerText = u.name
+ ul.appendChild(li);
+ });
+ vysledek.appendChild(ul)
+ stav.innerText = "Seznam Načten"
+
+
+ } catch (e) {
+ stav.innerText = "CHYBA:" + e.message;
+ }
+
+}
+
+async function nactiJednoho() {
+ const id = inputId.value;
+ vysledek.innerHTML = "";
+ stav.innerText = `Hledám uživatele s ID: ${id}`;
+
+ try{
+ const odpoved = await fetch(`https://jsonplaceholder.typicode.com/users/${id}`)
+ if(!odpoved.ok) {
+ throw new Error(`Uživatel s ID ${id} neexistuje (HTTP ${odpoved.status})`);
+ }
+ const u = await odpoved.json();
+ vysledek.innerHTML = `
+ ${u.name}
+
+ ${u.username}
+ ${u.email}
+ ${u.adress}
+
+ `;//AltGR + ý = ` (Template literal)
+ stav.innerText = "Uživatel nalezen"
+
+ } catch (error) {
+ stav.innerText = "Došlo k chybě";
+ vysledek.innerHTML = `Chyba:${error.message}
`
+ console.error("Podropbnosti chyby:",error)
+ } finally {
+ console.log(`Pokus o načtení ID ${id} dokončen`);
+ }
+
+}
+
+btnVse.addEventListener("click",nactiVsechny);
+btnNajdi.addEventListener("click",nactiJednoho);
\ No newline at end of file