diff --git a/vite-frontend/src/pages/settings.tsx b/vite-frontend/src/pages/settings.tsx
index b196759..55e3217 100644
--- a/vite-frontend/src/pages/settings.tsx
+++ b/vite-frontend/src/pages/settings.tsx
@@ -9,6 +9,7 @@ import { Select, SelectItem } from "@/shadcn-bridge/heroui/select";
import { Switch } from "@/shadcn-bridge/heroui/switch";
import { reinitializeBaseURL } from "@/api/network";
import { getConfigByName, updateConfig } from "@/api";
+import { BackIcon } from "@/components/icons";
import {
type UpdateReleaseChannel,
getUpdateReleaseChannel,
@@ -168,20 +169,7 @@ export const SettingsPage = () => {
variant="light"
onPress={() => navigate(-1)}
>
-
+
面板设置
diff --git a/vite-frontend/src/shadcn-bridge/heroui/date-picker.tsx b/vite-frontend/src/shadcn-bridge/heroui/date-picker.tsx
index a467df1..7eeff37 100644
--- a/vite-frontend/src/shadcn-bridge/heroui/date-picker.tsx
+++ b/vite-frontend/src/shadcn-bridge/heroui/date-picker.tsx
@@ -38,23 +38,27 @@ function parseDateText(value: string) {
return null;
}
- // 兼容纯数字输入:YYYYMMDD
const digitsOnly = trimmed.replace(/\D/g, "");
- if (digitsOnly.length === 8) {
+ if (/^\d+$/.test(trimmed)) {
+ if (digitsOnly.length !== 8) {
+ return null;
+ }
+
const year = Number(digitsOnly.slice(0, 4));
const month = Number(digitsOnly.slice(4, 6));
const day = Number(digitsOnly.slice(6, 8));
- if (isValidCalendarDate(year, month, day)) {
- return { day, month, year };
+ if (!isValidCalendarDate(year, month, day)) {
+ return null;
}
+
+ return { day, month, year };
}
- // 兼容多种分隔输入:YYYY-MM-DD / YYYY/MM/DD / YYYY.MM.DD / YYYY年M月D日 / YYYY M D
const numberParts = trimmed.match(/\d+/g);
- if (!numberParts || numberParts.length < 3 || numberParts[0].length !== 4) {
+ if (!numberParts || numberParts.length !== 3 || numberParts[0].length !== 4) {
return null;
}