Sandbox · Level 3 · Hard · 20+ minut

🏆 Vytvoř vlastní achievement

Achievement = malá hvězdička, kterou návštěvník odemkne když udělá něco specifického. V tvém webu jich už je 9. Teď přidáš desátý — svůj. Tohle je JavaScript logika, je to skill.

🎯 Cíl

Vytvořit nový achievement a vymyslet, kdy se má odemknout. Návštěvník udělá akci → toast notifikace v rohu.

Příklady, co bys mohl udělat:

🔍 Jak achievementy fungují

Otevři soubor js/main.js v Claude Code a podívej se. Najdeš tam:

const ACHIEVEMENTS = { first_visit: { icon: '🎉', name: 'První návštěva', desc: '...' }, explorer: { icon: '🗺️', name: 'Průzkumník', desc: '...' }, hacker: { icon: '💀', name: 'Hacker', desc: '...' }, ... };

A funkci unlock(key) — když ji někdo zavolá s názvem achievementu, ten se odemkne.

📝 Co řekni Claude

Pro jednoduchý achievement (např. „Změnil dark/light mode 5×"):

> Chci vytvořit nový achievement v js/main.js: > - Klíč: "color_changer" > - Ikona: 🎨 > - Jméno: "Barvomil" > - Popis: "Přepnul dark/light 5×" > > Ať se odemkne, když uživatel klikne na theme-toggle pětkrát celkem > (počítej přes localStorage). Vysvětli mi co budeš měnit.

Pro složitější (např. „Otevřel web 28. května" = narozeniny Adama):

> Přidej achievement "🎂 Narozeninový kamarád" který se odemkne > automaticky, když je dnešní datum 28. května (Adam má narozeniny). > Spusť kontrolu při načtení stránky.

🧠 Co se v tomhle naučíš

To je solidní porce skutečného programování.

🔍 Test

  1. Otevři index.html v prohlížeči
  2. Otevři DevTools (F12) → záložka Console
  3. Napiš tam localStorage.clear() a stiskni Enter (vymaže všechny achievementy)
  4. Refresh stránku (Ctrl+R)
  5. Udělej akci, která má achievement odemknout
  6. Měl by se objevit toast notifikace v pravém dolním rohu 🎉

🚀 Deploy

> Otestoval jsem, funguje to. Nahraj na adamlunak.cz.

🌟 Bonus výzvy

✅ Hotovo?

Jestli jsi prošel všemi 3 levely, jsi opravdu programátor. To není fráze. Tyhle skill se učí dospělí na bootcampech za desítky tisíc.

Ty máš 12 let. Klidně to flexni.

🎓 Co dál? Teď tě nic nezastaví. Můžeš si stavět co chceš.

Návrhy do budoucna:
← Level 2 Hotovo ✓ → dev hub