diff options
Diffstat (limited to 'packages/frontend/src/widgets/WidgetUnixClock.vue')
| -rw-r--r-- | packages/frontend/src/widgets/WidgetUnixClock.vue | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/packages/frontend/src/widgets/WidgetUnixClock.vue b/packages/frontend/src/widgets/WidgetUnixClock.vue index f51ef12a2a..226a4c73aa 100644 --- a/packages/frontend/src/widgets/WidgetUnixClock.vue +++ b/packages/frontend/src/widgets/WidgetUnixClock.vue @@ -19,29 +19,29 @@ SPDX-License-Identifier: AGPL-3.0-only import { onUnmounted, ref, watch } from 'vue'; import { useWidgetPropsManager } from './widget.js'; import type { WidgetComponentEmits, WidgetComponentExpose, WidgetComponentProps } from './widget.js'; -import type { GetFormResultType } from '@/utility/form.js'; +import type { FormWithDefault, GetFormResultType } from '@/utility/form.js'; const name = 'unixClock'; const widgetPropsDef = { transparent: { - type: 'boolean' as const, + type: 'boolean', default: false, }, fontSize: { - type: 'number' as const, + type: 'number', default: 1.5, step: 0.1, }, showMs: { - type: 'boolean' as const, + type: 'boolean', default: true, }, showLabel: { - type: 'boolean' as const, + type: 'boolean', default: true, }, -}; +} satisfies FormWithDefault; type WidgetProps = GetFormResultType<typeof widgetPropsDef>; @@ -54,7 +54,7 @@ const { widgetProps, configure } = useWidgetPropsManager(name, emit, ); -let intervalId; +let intervalId: number | null = null; const ss = ref(''); const ms = ref(''); const showColon = ref(false); @@ -84,7 +84,10 @@ watch(() => widgetProps.showMs, () => { }, { immediate: true }); onUnmounted(() => { - window.clearInterval(intervalId); + if (intervalId) { + window.clearInterval(intervalId); + intervalId = null; + } }); defineExpose<WidgetComponentExpose>({ |