Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
inference-widgets
/
packages
/widgets
/src
/lib
/components
/InferenceWidget
/shared
/WidgetTimer
/WidgetTimer.svelte
| <script lang="ts"> | |
| import { onDestroy } from "svelte"; | |
| export let isDisabled = false; | |
| let counterSeconds = 0.0; | |
| let interval: ReturnType<typeof setInterval>; | |
| let shouldDisplay = false; | |
| // timer show in seconds | |
| $: counterHuman = counterSeconds.toLocaleString(undefined, { | |
| minimumFractionDigits: 1, | |
| }); | |
| export function start(): void { | |
| // reset timer for new run | |
| stop(); | |
| counterSeconds = 0.0; | |
| shouldDisplay = true; | |
| // new run | |
| interval = setInterval(() => (counterSeconds += 0.1), 100); | |
| } | |
| export function stop(): void { | |
| if (interval) { | |
| clearInterval(interval); | |
| } | |
| } | |
| onDestroy(() => stop()); | |
| </script> | |
| {#if shouldDisplay && !isDisabled} | |
| <span class="font-mono text-xs text-gray-500">{counterHuman}</span> | |
| {/if} | |