diff --git a/backend/cmd/server/VERSION b/backend/cmd/server/VERSION index 067584f2ae..c63e8841ff 100644 --- a/backend/cmd/server/VERSION +++ b/backend/cmd/server/VERSION @@ -1 +1 @@ -0.1.110.45 +0.1.110.46 diff --git a/frontend/src/components/account/QuotaLimitCard.vue b/frontend/src/components/account/QuotaLimitCard.vue index ff5c11f567..abd10e6993 100644 --- a/frontend/src/components/account/QuotaLimitCard.vue +++ b/frontend/src/components/account/QuotaLimitCard.vue @@ -116,6 +116,20 @@ const timezoneOptions = [ 'Pacific/Auckland', ] +// Compute GMT offset label (e.g. "GMT+8", "GMT-5") for a given IANA timezone. +// Uses the current moment so DST is reflected automatically. +function getTimezoneOffsetLabel(tz: string): string { + try { + const dtf = new Intl.DateTimeFormat('en-US', { timeZone: tz, timeZoneName: 'shortOffset' }) + const parts = dtf.formatToParts(new Date()) + const tzPart = parts.find(p => p.type === 'timeZoneName') + // shortOffset returns "GMT+8" / "GMT-5:30" / "GMT" for UTC + return tzPart ? (tzPart.value === 'GMT' ? 'GMT+0' : tzPart.value) : '' + } catch { + return '' + } +} + // Hours for dropdown (0-23) const hourOptions = Array.from({ length: 24 }, (_, i) => i) @@ -207,7 +221,7 @@ const onWeeklyModeChange = (e: Event) => {
-
+
$
@@ -230,11 +244,11 @@ const onWeeklyModeChange = (e: Event) => { + + + +
-

- - -

@@ -245,7 +259,7 @@ const onWeeklyModeChange = (e: Event) => {
-
+
$
@@ -272,18 +286,18 @@ const onWeeklyModeChange = (e: Event) => { + + + +
-

- - -

@@ -295,7 +309,7 @@ const onWeeklyModeChange = (e: Event) => {
-
+
$