From dcfa5fc0e40f5cd8dba5a26be31695ce765c7e23 Mon Sep 17 00:00:00 2001 From: Faton Ramadani Date: Fri, 29 Sep 2023 13:57:36 +0200 Subject: [PATCH] fix(frontend): timezone fix (#2360) * fix(frontend): timezone fix * fix(frontend): remove svelte-timezone-picker: ^2.0.3, * feat(frontend): fix dark mode * feat(frontend): add default value + group by timezone * feat(frontend): remove useless files --- frontend/package.json | 1 - frontend/src/lib/components/CronInput.svelte | 47 +- frontend/src/lib/components/timezones.ts | 574 +++++++++++++++++++ 3 files changed, 619 insertions(+), 3 deletions(-) create mode 100644 frontend/src/lib/components/timezones.ts diff --git a/frontend/package.json b/frontend/package.json index 3c0709e444..d0db56eee9 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -118,7 +118,6 @@ "svelte-exmarkdown": "^2.1.0", "svelte-infinite-loading": "^1.3.8", "svelte-portal": "^2.2.0", - "svelte-timezone-picker": "^2.0.3", "svelte-tiny-virtual-list": "^2.0.5", "tailwind-merge": "^1.13.2", "vscode-ws-jsonrpc": "3.0.0", diff --git a/frontend/src/lib/components/CronInput.svelte b/frontend/src/lib/components/CronInput.svelte index 7b70f1a1f6..e96a6a2a13 100644 --- a/frontend/src/lib/components/CronInput.svelte +++ b/frontend/src/lib/components/CronInput.svelte @@ -5,9 +5,12 @@ // @ts-ignore import Multiselect from 'svelte-multiselect' - import TimezonePicker from 'svelte-timezone-picker' import CollapseLink from './CollapseLink.svelte' import { Button } from './common' + import Select from '../components/apps/svelte-select/lib/index' + import timezones from './timezones' + import { SELECT_INPUT_DEFAULT_STYLE } from '$lib/defaults' + import { onMount } from 'svelte' export let schedule: string // export let offset: number = -60 * Math.floor(new Date().getTimezoneOffset() / 60) @@ -142,6 +145,34 @@ timeZone: timezone, timeZoneName: 'short' }).format + + let darkMode: boolean = false + + function onThemeChange() { + if (document.documentElement.classList.contains('dark')) { + darkMode = true + } else { + darkMode = false + } + } + + onMount(() => { + onThemeChange() + }) + + const items = Object.keys(timezones) + .map((key) => { + return Object.keys(timezones[key]) + .map((subKey) => { + return { + value: subKey, + label: subKey, + group: timezones[key][subKey][1] + } + }) + .flat() + }) + .flat()
@@ -170,7 +201,19 @@ {timezone}
{:else} - (timezone = e.detail.timezone)} /> +