From 66ccd1749283042312d2b41ebab902af2d89838e Mon Sep 17 00:00:00 2001 From: erio Date: Mon, 13 Apr 2026 20:45:12 +0800 Subject: [PATCH] fix(quota-card): balance input widths, inline reset hint, timezone GMT offset - Limit input and notify threshold now share flex-1 equally (was w-28 fixed) - Reset schedule hint text moved inline after the selectors (same row) - Timezone dropdown shows GMT offset, e.g. "Asia/Shanghai (GMT+8)" --- backend/cmd/server/VERSION | 2 +- .../src/components/account/QuotaLimitCard.vue | 38 +++++++++++++------ 2 files changed, 27 insertions(+), 13 deletions(-) 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) => {
-
+
$