diff --git a/vite-frontend/package.json b/vite-frontend/package.json index 08843e5..bc1d800 100644 --- a/vite-frontend/package.json +++ b/vite-frontend/package.json @@ -56,7 +56,7 @@ "react-hot-toast": "^2.5.2", "react-is": "^19.2.4", "react-router-dom": "6.30.3", - "react-turnstile": "^1.1.5", + "@marsidev/react-turnstile": "^1.1.0", "recharts": "^3.1.1", "sonner": "^2.0.6", "tailwind-variants": "1.0.0", diff --git a/vite-frontend/src/pages/index.tsx b/vite-frontend/src/pages/index.tsx index e48c850..89dfebf 100644 --- a/vite-frontend/src/pages/index.tsx +++ b/vite-frontend/src/pages/index.tsx @@ -4,7 +4,7 @@ import { Card, CardBody, CardHeader } from "@heroui/card"; import { useState, useEffect } from "react"; import { useNavigate } from "react-router-dom"; import toast from "react-hot-toast"; -import Turnstile from "react-turnstile"; +import { Turnstile } from "@marsidev/react-turnstile"; import { isWebViewFunc } from "@/utils/panel"; import { siteConfig } from "@/config/site"; @@ -243,8 +243,6 @@ export default function IndexPage() { {/* 背景遮罩层 - 模糊效果,暗黑模式下更深 */}
{ setShowCaptcha(false); setLoading(false); @@ -255,14 +253,16 @@ export default function IndexPage() { setLoading(false); } }} + role="button" + tabIndex={0} /> {/* 验证码容器 */}
请完成安全验证
{ + siteKey={siteKey} + onSuccess={(token) => { setForm((prev) => ({ ...prev, captchaId: token })); void performLogin(token); }} @@ -273,13 +273,13 @@ export default function IndexPage() { onExpire={() => { setForm((prev) => ({ ...prev, captchaId: "" })); }} - theme={ - document.documentElement.classList.contains("dark") || + options={{ + theme: (document.documentElement.classList.contains("dark") || document.documentElement.getAttribute("data-theme") === "dark" || window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" - : "light" - } + : "light") as "light" | "dark" | "auto" + }} />