summaryrefslogtreecommitdiff
path: root/packages/frontend/src/widgets/WidgetUnixClock.vue
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/widgets/WidgetUnixClock.vue')
-rw-r--r--packages/frontend/src/widgets/WidgetUnixClock.vue19
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>({