Latihan 1: Microinteractions & Animation — UI/UX

Latihan 1 dari materi Microinteractions & Animation di UI/UX — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Tulis rules tombol "Pesan kamar, bayar di tempat" sebagai state machine dengan tiga state: idle, hover, pressed. Kode awal sudah punya dua function kosong dan empat baris console.log; biarkan keempat baris itu dan urutannya.

  1. nextState(current, event) mengembalikan state berikutnya:
    • idle + pointerenter jadi hover
    • hover + pointerleave jadi idle
    • hover + pointerdown jadi pressed
    • pressed + pointerup jadi hover
    • event lain yang gak dikenal state itu: state-nya tetap, jadi nextState("idle", "click") mengembalikan "idle".
  2. runSequence(events) mulai dari idle, memproses tiap event di array berurutan dengan nextState, lalu mengembalikan state akhirnya. runSequence([]) mengembalikan "idle", dan runSequence(["pointerenter", "pointerleave", "pointerenter"]) mengembalikan "hover".
  3. Keempat baris console, berurutan, harus mencetak:
    • hover
    • pressed
    • hover
    • idle

Hint