升级依赖版本并修复构建问题

This commit is contained in:
2025-11-20 12:10:16 +08:00
parent fa6a4e5121
commit c02ffc9983
26 changed files with 669 additions and 649 deletions

View File

@@ -1,70 +1,21 @@
'use client'
import {ChangePasswordDialog} from '@/components/composites/dialogs/change-password-dialog'
import {RealnameAuthDialog} from '@/components/composites/dialogs/realname-auth-dialog'
import {useState, useEffect} from 'react'
import {User} from '@/lib/models'
export function PasswordSetupWrapper({profile}: {profile: User}) {
const [showPasswordDialog, setShowPasswordDialog] = useState(false)
const [showRealnameDialog, setShowRealnameDialog] = useState(false)
useEffect(() => {
// 每次profile变化时都检查是否需要显示弹窗
if (!profile.has_password) {
setShowPasswordDialog(true)
}
else if (!profile.id_token) {
setShowRealnameDialog(true)
}
}, [profile.has_password, profile.id_token])
const handleDismiss = (type: 'password' | 'realname') => {
// 可选使用sessionStorage只在当前会话期间记住关闭状态
if (typeof window !== 'undefined') {
sessionStorage.setItem(`dismissed${type === 'password' ? 'PasswordSetup' : 'RealnameAuth'}`, 'true')
}
}
return (
<>
{showPasswordDialog && (
<ChangePasswordDialog
triggerClassName="hidden"
open={showPasswordDialog}
onOpenChange={(open) => {
setShowPasswordDialog(open)
if (!open) {
handleDismiss('password')
if (!profile.id_token) {
setShowRealnameDialog(true)
}
}
}}
onSuccess={() => {
setShowPasswordDialog(false)
if (!profile.id_token) {
setShowRealnameDialog(true)
}
}}
/>
)}
<RealnameAuthDialog
hasAuthenticated={!!profile.id_token}
triggerClassName="hidden"
defaultOpen={!profile.id_token}
/>
{showRealnameDialog && (
<RealnameAuthDialog
hasAuthenticated={!!profile.id_token}
triggerClassName="hidden"
open={showRealnameDialog}
onOpenChange={(open) => {
setShowRealnameDialog(open)
if (!open) {
handleDismiss('realname')
}
}}
onSuccess={() => {
setShowRealnameDialog(false)
}}
/>
)}
<ChangePasswordDialog
triggerClassName="hidden"
defaultOpen={profile.has_password}
/>
</>
)
}