2022-07-26 05:48:06 +02:00
|
|
|
<script>
|
2022-07-26 23:36:24 +02:00
|
|
|
import { onDestroy } from 'svelte'
|
|
|
|
|
import { invoke } from '@tauri-apps/api'
|
|
|
|
|
import { listen, once } from '@tauri-apps/api/event'
|
|
|
|
|
|
|
|
|
|
let seconds = 5
|
|
|
|
|
|
|
|
|
|
function start_timer() {
|
|
|
|
|
invoke('start_timer', {
|
|
|
|
|
duration: { secs: seconds, nanos: 0 },
|
|
|
|
|
message: "Hi!",
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
let timer_tick_unlisten = listen('timer-tick', (event) => {
|
|
|
|
|
console.log("Tick!", event.payload.id, event.payload.elapsed)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
once('timer-done', (event) => {
|
|
|
|
|
console.log("Done!", event.payload.id)
|
|
|
|
|
|
|
|
|
|
timer_tick_unlisten.then(ttu => ttu())
|
|
|
|
|
})
|
|
|
|
|
}
|
2022-07-26 05:03:28 +02:00
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<main>
|
2022-07-26 05:48:06 +02:00
|
|
|
<label>
|
|
|
|
|
Fire after
|
|
|
|
|
<input type="number" bind:value={seconds} />
|
|
|
|
|
</label>
|
2022-07-26 23:36:24 +02:00
|
|
|
<button on:click="{start_timer}">Fire!</button>
|
2022-07-26 05:03:28 +02:00
|
|
|
</main>
|