Bepul Pomodoro Taymer

Pomodoro texnikasi bilan diqqatingizni saqlang. Ish va tanaffus davomiyligini sozlang, bajarilgan sessiyalarni kuzating va har bir bosqich tugaganda audio signal eshiting.

Yuklangandan keyin oflayn ishlaydi
25:00Diqqat

Tezkor tugmalar: Bo'shliq — boshlash/pauza · R — qayta boshlash · S — o'tkazib yuborish

Tezkor presetlar (diqqat/tanaffus)
0
Bugungi Pomodorolar
0 / 4
Sessiya
0
Diqqat bilan o'tkazilgan daqiqalar

Qanday ishlaydi

Bu Pomodoro taymeri nol tashqi kutubxona bilan to'liq brauzerda ishlaydi. Teskari sanoq Date.now() dan foydalanib devor-soati vaqt belgisiga bog'langan, shuning uchun fon-yorliq sekinlashtirish taymerni sekinlashtira olmaydi, barcha bildirishnoma tovushlari esa talab bo'yicha Web Audio API orqali sintez qilinadi — hech qanday audio fayl yuklanmaydi.

  1. 1
    Devor-soati teskari sanoq dvigateli
    Boshlashni bosganingizda, taymer mutlaq tugash vaqt belgisini (Date.now() plyus qolgan soniyalar) yozib oladi. Har 500 ms da, setInterval joriy vaqtni shu qat'iy nuqtadan ayirib qancha soniya qolganini qayta hisoblaydi. Agar brauzer yorliqni sekinlashtirsa, matematika keyingi tikilish ishga tushgan zahoti o'z-o'zini tuzatadi.
  2. 2
    Yorliq-fokusi qayta-sinxronizatsiyasi
    visibilitychange hodisasi tinglovchisi yorliqqa qaytgan zahotingiz bir xil sinxronlash funksiyasini ishga tushiradi. Bu ko'rsatkich keyingi 500 ms tikilishini kutish o'rniga to'g'ri qolgan vaqtga darhol sakrashini anglatadi — yorliq uzoq vaqt fonda bo'lganda muhim.
  3. 3
    Web Audio API tovush sintezi
    Uchta ogohlantirish tovushi (klassik, qo'ng'iroq, raqamli) to'liq brauzerning o'rnatilgan AudioContext'i tomonidan yaratiladi — OscillatorNode chastota va to'lqin shakli turini (sinus yoki kvadrat) o'rnatadi, GainNode esa konvertni shakllantirish uchun eksponensial ovoz balandligi rampasini qo'llaydi. Hech qanday audio fayl olinmaydi yoki dekodlanmaydi.
  4. 4
    Sozlamalar va kunlik hisob saqlanishi
    Maxsus davomiyliklaringiz va bugungi tugallangan-pomodoro hisobingiz ikkita alohida kalit ostida localStorage'ga yoziladi. Sahifa yuklanganda asbob ularni qayta o'qiydi, har bir qiymatni ruxsat etilgan diapazonlarga qarshi tekshiradi va taymerni qayta tiklaydi — shuning uchun sozlamalaringiz serverga borib-kelishsiz sahifa yangilanishidan omon qoladi.

Tegishli asboblar

Ko'p so'raladigan savollar