UserScript:ポモドーロテクニック
script.jsconst intervalPeriod = 25*60*1000
//const intervalPeriod = 60*1000 // for Test
let isRunning = false
let interval = undefined
scrapbox.PageMenu.addMenu({
title: 'Pomodoro Timer',
image: 'https://gyazo.com/978797f03cb0112a0a4cafdf02dcdde8/raw'
})
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)
const url = 'https://scrapbox.io/api/code/suto3/UserScript:ポモドーロテクニック/remind.txt'
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分)が過ぎると↓このテキストを表示する
元ネタ