diff options
Diffstat (limited to 'packages/frontend/src/widgets/WidgetDigitalClock.vue')
| -rw-r--r-- | packages/frontend/src/widgets/WidgetDigitalClock.vue | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/packages/frontend/src/widgets/WidgetDigitalClock.vue b/packages/frontend/src/widgets/WidgetDigitalClock.vue index 9ff5f8dcef..ba7b82aad5 100644 --- a/packages/frontend/src/widgets/WidgetDigitalClock.vue +++ b/packages/frontend/src/widgets/WidgetDigitalClock.vue @@ -14,6 +14,7 @@ SPDX-License-Identifier: AGPL-3.0-only </template> <script lang="ts" setup> +import { computed } from 'vue'; import { useWidgetPropsManager, Widget, WidgetComponentEmits, WidgetComponentExpose, WidgetComponentProps } from './widget.js'; import { GetFormResultType } from '@/scripts/form.js'; import { timezones } from '@/scripts/timezones.js'; @@ -63,15 +64,15 @@ const { widgetProps, configure } = useWidgetPropsManager(name, emit, ); -const tzAbbrev = $computed(() => (widgetProps.timezone === null +const tzAbbrev = computed(() => (widgetProps.timezone === null ? timezones.find((tz) => tz.name.toLowerCase() === Intl.DateTimeFormat().resolvedOptions().timeZone.toLowerCase())?.abbrev : timezones.find((tz) => tz.name.toLowerCase() === widgetProps.timezone)?.abbrev) ?? '?'); -const tzOffset = $computed(() => widgetProps.timezone === null +const tzOffset = computed(() => widgetProps.timezone === null ? 0 - new Date().getTimezoneOffset() : timezones.find((tz) => tz.name.toLowerCase() === widgetProps.timezone)?.offset ?? 0); -const tzOffsetLabel = $computed(() => (tzOffset >= 0 ? '+' : '-') + Math.floor(tzOffset / 60).toString().padStart(2, '0') + ':' + (tzOffset % 60).toString().padStart(2, '0')); +const tzOffsetLabel = computed(() => (tzOffset.value >= 0 ? '+' : '-') + Math.floor(tzOffset.value / 60).toString().padStart(2, '0') + ':' + (tzOffset.value % 60).toString().padStart(2, '0')); defineExpose<WidgetComponentExpose>({ name, |