UserScript:ポモドーロテクニック
code:script.js
const intervalPeriod = 25*60*1000
//const intervalPeriod = 60*1000 // for Test
let isRunning = false
let interval = undefined
scrapbox.PageMenu.addMenu({
title: 'Pomodoro Timer',
})
scrapbox.PageMenu('Pomodoro Timer').addItem({
title: () => (isRunning)? "⏹Stop timer" : "▶Start timer",
onClick: () => {
if (isRunning) {
isRunning = false
clearInterval(interval)
}
else {
isRunning = true
interval = setInterval(TimeUp, intervalPeriod)
}
}
})
function TimeUp() {
// タイマーをクリア
isRunning = false
clearInterval(interval)
fetch(url)
.then(response => response.text())
.then(text => {
console.log(text)
alert(text)
// ページに書き込む
//const now = new Date().toLocaleString()
//window.open(https://scrapbox.io/suto3/alert?body=${now}${encodeURIComponent(text)})
}).catch(err => {
console.error('fetch failed', err)
})
}
一定時間(25分)が過ぎると↓このテキストを表示する
code:remind.txt
🍅お時間です。
元ネタ
UserScript.icon
https://img.shields.io/badge/JavaScript-UserScript_ポモドーロテクニック-F7DF1E.svg?logo=javascript&style=for-the-badge