Tema
/
Interneto svetainių kliento dalies kūrimas JS
📖 Teorija

Namų darbas — pajusk skausmą

Namų darbas — pajusk skausmą (ne perskaityk apie jį).

  1. Surink laisvą būseną. main.js viršuje turėk visus ~dešimt kintamųjų. Įgyvendink toggleFavorite, kuris keičia favorites ir perpiešia tris vaizdus (galeriją, kolekciją, pradžios skaitiklį). Kol kolekcijos/pradžios dar nėra, pakeisk jas paprastais console.log/skaitiklio atnaujinimais — svarbu principas.
  2. Atkurk tylųjį melą. Pridėk removeFromCollection, kuris perpiešia kolekciją ir skaitiklį, bet ne galeriją. Įdėk nuotrauką, pašalink ją iš kolekcijos, grįžk į galeriją — ♡ liko pilnas. Užfiksuok tą momentą.
  3. „Ištaisyk" ranka. Pridėk trūkstamą renderGallery(). Dabar veikia — bet tik todėl, kad prisiminei. Pagalvok: kiek dar veiksmų turi tą patį reikalavimą?
  4. Suskaičiuok porų. Užsirašyk visus veiksmus, keičiančius favorites (toggle, remove, rate, tag…), ir visus vaizdus, kurie jį rodo. Kiekvienas veiksmas turi „pasiekti" kiekvieną vaizdą. Tai — porų skaičius, kurį turi laikyti galvoje.

Privalomi „testai" (tai pamoka, ne funkcija):

  • Melo testas: sugebi atkurti pilną ♡ po pašalinimo iš kolekcijos.
  • Supratimo testas: gali paaiškinti, kodėl tai NE „neatidumas", o struktūros yda.

Atsiskaitymui: trumpas video arba nuotraukų seka, rodanti tylųjį melą (♡ pilnas, nors nuotrauka pašalinta), + 2–3 sakiniai: kodėl disciplina čia neatlaiko.

Toliau. Tu pajutai problemą. 9 pamokoje — atsakymas: pub/sub. Vienas subscribe/notify panaikina visus rankinius perpiešimus — vaizdai atsinaujina patys, o favorites dar ir išsaugomas (localStorage), kad neišnyktų perkrovus. Skausmas → įrankis.