oa-login-password-recovery-ux 改进登录找回密码体验
这个提交包含在:
@@ -1,13 +1,31 @@
|
||||
import { Outlet } from "react-router-dom";
|
||||
import { AppBrand } from "../components/shell/AppBrand";
|
||||
import { Button } from "../components/ui/button";
|
||||
import { usePwaUpdatePrompt } from "../hooks/usePwaUpdatePrompt";
|
||||
|
||||
export function AuthLayout() {
|
||||
const { updateReady, applyUpdate, dismissUpdate } = usePwaUpdatePrompt();
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-slate-50 px-4 py-8 sm:px-6 lg:px-10">
|
||||
<div className="mx-auto flex min-h-[calc(100vh-4rem)] max-w-md flex-col justify-center">
|
||||
<div className="mb-5">
|
||||
<AppBrand />
|
||||
</div>
|
||||
{updateReady ? (
|
||||
<div className="mb-4 rounded-xl border border-primary/20 bg-primary/5 px-4 py-3 text-sm text-slate-700" data-testid="auth-pwa-update-notice">
|
||||
<div className="font-medium text-slate-900">系统有新版本</div>
|
||||
<div className="mt-1 leading-6">完成当前输入后刷新页面即可更新,当前表单不会被自动打断。</div>
|
||||
<div className="mt-3 flex gap-2">
|
||||
<Button size="sm" type="button" onClick={applyUpdate}>
|
||||
现在刷新
|
||||
</Button>
|
||||
<Button size="sm" type="button" variant="secondary" onClick={dismissUpdate}>
|
||||
稍后
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
) : null}
|
||||
<section className="w-full">
|
||||
<Outlet />
|
||||
</section>
|
||||
|
||||
在新工单中引用
屏蔽一个用户