-
+
-
-
+
setPassword(event.target.value)}
placeholder={isLogin ? copy.passwordLoginPlaceholder : copy.passwordSignupPlaceholder}
- className="w-full rounded-lg border border-slate-300 bg-white py-2.5 pl-10 pr-10 text-sm text-slate-950 placeholder:text-slate-400 transition-all focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20"
+ className="w-full rounded-xl border border-slate-200 bg-slate-50/50 py-3 pl-11 pr-11 text-sm text-slate-900 placeholder:text-slate-400 transition-all duration-200 focus:border-blue-500 focus:bg-white focus:outline-none focus:ring-4 focus:ring-blue-500/10"
/>
@@ -406,7 +481,7 @@ export function LoginClient({ nextPath, initialMode }: LoginClientProps) {
{!isLogin && (
-
+
{copy.termsAgreement}
)}
@@ -414,43 +489,44 @@ export function LoginClient({ nextPath, initialMode }: LoginClientProps) {
-
-
-
+
+
+
{isEn ? "or" : "或"}
-
+
- {errorText ? {errorText}
: null}
- {infoText ? {infoText}
: null}
+ {errorText ? {errorText}
: null}
+ {infoText ? {infoText}
: null}
{errorText && isLogin && errorText.includes("Invalid login") ? (
- {copy.loginFailedHint}
+ {copy.loginFailedHint}
) : null}
{infoText === copy.signupCheckEmail ? (
- {copy.resendVerify}
+ {copy.resendVerify}
) : null}
{/* Footer */}
-
+
© {new Date().getFullYear()} PolyWeather. All rights reserved.
diff --git a/web/services/scan_ai_config.py b/web/services/scan_ai_config.py
index e9cfcbab..a897ebfc 100644
--- a/web/services/scan_ai_config.py
+++ b/web/services/scan_ai_config.py
@@ -44,9 +44,9 @@ SCAN_TERMINAL_BUILD_TIMEOUT_SEC = max(
)
SCAN_TERMINAL_MAX_WORKERS = _env_int(
"POLYWEATHER_SCAN_TERMINAL_MAX_WORKERS",
- 6,
+ 8,
min_value=1,
- max_value=8,
+ max_value=12,
)
DEFAULT_SCAN_AI_MODEL = "mimo-v2.5-pro"
DEFAULT_SCAN_AI_BASE_URL = "https://token-plan-cn.xiaomimimo.com/v1"