Bazen en tatmin edici projeler en küçükleri oluyor. Bu hafta sonu tek dosyalık bir pomodoro sayacı yazdım: HTML + CSS + JS, toplam ~130 satır.

Pomodoro tekniği: 25 dakika kesintisiz odak + 5 dakika mola. Dört turda bir uzun mola önerilir.

Kalbi: SVG halka animasyonu

Geri sayım halkası tek bir SVG dairesi. Numara, stroke-dasharray'i çemberin çevresine eşitleyip stroke-dashoffset'i kalan süreye göre kaydırmak:

const CEVRE = 2 * Math.PI * 110; // yarıçap 110
halka.style.strokeDasharray = CEVRE;

function ciz() {
  halka.style.strokeDashoffset = CEVRE * (1 - kalan / toplam);
}

CSS tarafında transition: stroke-dashoffset 1s linear vererek her saniye akıcı biçimde ilerlemesini sağlıyoruz. Duraklat/devam ise tek bir setInterval'i kurup bozmaktan ibaret.

Kendiniz deneyin

pomodoro.html - kaynak dosyaHTML · 3,6 KB · bağımlılık yok

İndirin, çift tıklayın, çalışsın. Kaynağı açıp kurcalamak serbest - süreleri değiştirin, kendi renklerinizi verin.

Canlı önizle →

Tek dosyalık araçlar; öğrenmek, hızla prototiplemek ve başkalarıyla paylaşmak için mükemmel bir formattır. Sandbox'lanmış hâlde güvenle paylaşılabiliyorlar.