diff --git a/atsf_server/web/app/(public)/reset/page.tsx b/atsf_server/web/app/(public)/reset/page.tsx
index b085bb8a..936dd236 100644
--- a/atsf_server/web/app/(public)/reset/page.tsx
+++ b/atsf_server/web/app/(public)/reset/page.tsx
@@ -1,12 +1,12 @@
import { Suspense } from 'react';
import { LoadingState } from '@/components/feedback/loading-state';
-import { PasswordResetRequestForm } from '@/features/auth/components/password-reset-request-form';
+import { PasswordResetFlow } from '@/features/auth/components/password-reset-flow';
export default function ResetPasswordPage() {
return (
}>
-
+
);
}
diff --git a/atsf_server/web/app/(public)/user/reset/page.tsx b/atsf_server/web/app/(public)/user/reset/page.tsx
index 2c596179..e02019a0 100644
--- a/atsf_server/web/app/(public)/user/reset/page.tsx
+++ b/atsf_server/web/app/(public)/user/reset/page.tsx
@@ -1,12 +1,12 @@
import { Suspense } from 'react';
import { LoadingState } from '@/components/feedback/loading-state';
-import { PasswordResetConfirmForm } from '@/features/auth/components/password-reset-confirm-form';
+import { PasswordResetFlow } from '@/features/auth/components/password-reset-flow';
export default function LegacyResetPasswordPage() {
return (
}>
-
+
);
}
diff --git a/atsf_server/web/components/layout/public-shell.tsx b/atsf_server/web/components/layout/public-shell.tsx
index 33b6fea4..188438a4 100644
--- a/atsf_server/web/components/layout/public-shell.tsx
+++ b/atsf_server/web/components/layout/public-shell.tsx
@@ -15,9 +15,9 @@ export function PublicShell({ children }: PublicShellProps) {
ATSFlare
-
管理端改造进行中
+
欢迎使用 ATSFlare 管理端
- 认证流程将在阶段 2 接入。当前页面用于承载入口骨架与路由占位。
+ 当前已接入登录、注册、密码重置与 GitHub OAuth 基础流程,后续将继续完善鉴权与业务模块体验。
diff --git a/atsf_server/web/features/auth/components/password-reset-confirm-form.tsx b/atsf_server/web/features/auth/components/password-reset-confirm-form.tsx
index 1cea5411..855cc56b 100644
--- a/atsf_server/web/features/auth/components/password-reset-confirm-form.tsx
+++ b/atsf_server/web/features/auth/components/password-reset-confirm-form.tsx
@@ -1,6 +1,7 @@
'use client';
import { useMutation } from '@tanstack/react-query';
+import Link from 'next/link';
import { useSearchParams } from 'next/navigation';
import { useState } from 'react';
@@ -68,6 +69,13 @@ export function PasswordResetConfirmForm() {
) : null}
+
+
+ 处理完成后可返回
+
+ 登录页
+
+
);
diff --git a/atsf_server/web/features/auth/components/password-reset-flow.tsx b/atsf_server/web/features/auth/components/password-reset-flow.tsx
new file mode 100644
index 00000000..47e04fc7
--- /dev/null
+++ b/atsf_server/web/features/auth/components/password-reset-flow.tsx
@@ -0,0 +1,13 @@
+'use client';
+
+import { useSearchParams } from 'next/navigation';
+
+import { PasswordResetConfirmForm } from '@/features/auth/components/password-reset-confirm-form';
+import { PasswordResetRequestForm } from '@/features/auth/components/password-reset-request-form';
+
+export function PasswordResetFlow() {
+ const searchParams = useSearchParams();
+ const hasConfirmationParams = Boolean(searchParams?.get('email') && searchParams?.get('token'));
+
+ return hasConfirmationParams ? : ;
+}
\ No newline at end of file