收敛完善资料页入口样式

This commit is contained in:
WuYongJie 2026-05-28 21:44:00 +08:00
parent 88a43ad902
commit f95c121afc
2 changed files with 11 additions and 10 deletions

View File

@ -23,10 +23,10 @@ function CompleteProfileContent() {
const [profileToken, setProfileToken] = useState('')
const [logoError, setLogoError] = useState(false)
const pageClass = 'min-h-screen flex items-center justify-center bg-slate-50 dark:bg-slate-950 p-4'
const panelClass = 'w-full max-w-md rounded-xl border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 shadow-sm p-6'
const inputClass = 'w-full px-4 py-3 rounded-xl border border-slate-300 dark:border-slate-700 bg-white dark:bg-slate-800 text-slate-900 dark:text-white placeholder:text-slate-400 dark:placeholder:text-slate-500 focus:border-slate-900 dark:focus:border-slate-500 focus:ring-2 focus:ring-slate-200 dark:focus:ring-slate-700 outline-none transition-colors'
const panelClass = 'w-full max-w-md rounded-lg border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 shadow-sm p-6'
const inputClass = 'w-full px-4 py-3 rounded-lg border border-slate-300 dark:border-slate-700 bg-white dark:bg-slate-800 text-slate-900 dark:text-white placeholder:text-slate-400 dark:placeholder:text-slate-500 focus:border-slate-900 dark:focus:border-slate-500 focus:ring-2 focus:ring-slate-200 dark:focus:ring-slate-700 outline-none transition-colors'
const readonlyClass = `${inputClass} bg-slate-50 dark:bg-slate-700 cursor-not-allowed`
const buttonClass = 'w-full py-3 rounded-xl bg-slate-900 dark:bg-slate-100 text-white dark:text-slate-900 hover:bg-slate-800 dark:hover:bg-white font-medium transition-colors disabled:opacity-60'
const buttonClass = 'w-full py-3 rounded-lg bg-slate-900 dark:bg-slate-100 text-white dark:text-slate-900 hover:bg-slate-800 dark:hover:bg-white font-medium transition-colors disabled:opacity-60'
// 系统设置
const [loginLogoUrl, setLoginLogoUrl] = useState(process.env.NEXT_PUBLIC_DEFAULT_LOGIN_LOGO_URL || '')
@ -175,7 +175,7 @@ function CompleteProfileContent() {
if (error && !userInfo) {
return (
<div className={pageClass}>
<div className="w-full max-w-md rounded-xl border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 shadow-sm p-6">
<div className="w-full max-w-md rounded-lg border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 shadow-sm p-6">
<div className="text-center">
<div className="mb-4">
<svg className="mx-auto h-12 w-12 text-red-500" fill="none" viewBox="0 0 24 24" stroke="currentColor">
@ -209,11 +209,11 @@ function CompleteProfileContent() {
width={80}
height={80}
unoptimized
className="rounded-xl border border-slate-200 dark:border-slate-700 shadow-sm"
className="rounded-lg border border-slate-200 dark:border-slate-700 shadow-sm"
onError={() => setLogoError(true)}
/>
) : (
<div className="w-20 h-20 rounded-xl border border-slate-200 dark:border-slate-700 shadow-sm bg-slate-900 dark:bg-slate-700 flex items-center justify-center">
<div className="w-20 h-20 rounded-lg border border-slate-200 dark:border-slate-700 shadow-sm bg-slate-900 dark:bg-slate-700 flex items-center justify-center">
<span className="text-3xl font-bold text-white">{siteName.charAt(0) || 'F'}</span>
</div>
)}
@ -225,7 +225,7 @@ function CompleteProfileContent() {
{/* Form */}
<div className={panelClass}>
{userInfo && (
<div className="mb-6 p-4 bg-slate-50 dark:bg-slate-800 rounded-xl border border-slate-200 dark:border-slate-700">
<div className="mb-6 p-4 bg-slate-50 dark:bg-slate-800 rounded-lg border border-slate-200 dark:border-slate-700">
<div className="flex items-center gap-3">
{userInfo.avatar && (
<Image
@ -247,13 +247,13 @@ function CompleteProfileContent() {
<form onSubmit={handleSubmit} className="space-y-6">
{error && (
<div className="bg-red-50 border border-red-200 text-red-600 px-4 py-3 rounded-xl text-sm">
<div className="bg-red-50 border border-red-200 text-red-600 px-4 py-3 rounded-lg text-sm">
{error}
</div>
)}
{success && (
<div className="bg-green-50 border border-green-200 text-green-600 px-4 py-3 rounded-xl text-sm">
<div className="bg-green-50 border border-green-200 text-green-600 px-4 py-3 rounded-lg text-sm">
{success}
</div>
)}

View File

@ -1168,6 +1168,7 @@ NAS 私有化系统可能在平板或窄屏浏览器里使用。模板编辑器
- `app/register/page.tsx:88`:注册页已增加默认 Logo 兜底,没有配置图片时显示文字占位,不再显示破图。
- `app/complete-profile/page.tsx:25`:完善资料页已改为和登录页一致的浅灰背景。
- `app/complete-profile/page.tsx:205`:完善资料页已增加默认 Logo 兜底。
- `app/complete-profile/page.tsx`:完善资料页表单、Logo、提示框和钉钉账号信息卡已从 `rounded-xl` 收为 `rounded-lg`,与登录/注册入口保持一致。
- `app/activate/page.tsx`:激活页已完成第二轮收口,默认只展示许可证密钥激活,并跟随系统名称和登录 Logo;“免费试用/购买许可证”入口已改为显式环境开关下的“自助试用”,客户默认安装现场不再露出公网获客口径。
- `app/dingtalk-callback/page.tsx`:钉钉回调页已完成第一轮收口,蓝色渐变整屏背景改为浅灰背景,`rounded-2xl shadow-xl` 大卡片改为 `rounded-lg border shadow-sm` 普通状态卡片,加载/成功/失败状态复用同一个中性外壳。
- 代码复扫:`app/dingtalk-callback/page.tsx` 已无 `bg-gradient`、`rounded-2xl`、`shadow-xl`、大尺寸状态图标等命中。
@ -1175,7 +1176,7 @@ NAS 私有化系统可能在平板或窄屏浏览器里使用。模板编辑器
建议动作:
- 登录、激活、回调、完善资料页统一成同一套私有化安装/访问风格;登录/注册/激活页已完成第一轮圆角、口径和系统名称/Logo 对齐,邀请注册链路已修复;钉钉回调页已完成第一轮视觉收口,激活页公网试用/购买口径已进一步隐藏。
- 登录、激活、回调、完善资料页统一成同一套私有化安装/访问风格;登录/注册/激活/完善资料页已完成第一轮圆角、口径和系统名称/Logo 对齐,邀请注册链路已修复;钉钉回调页已完成第一轮视觉收口,激活页公网试用/购买口径已进一步隐藏。
- 背景用纯色或轻灰,不用大面积渐变。
- 登录页可以保留品牌感,但减少泛 SaaS 视觉:小 Logo、清晰表单、明确客户系统名称即可。