update login transition

This commit is contained in:
2026-02-19 16:45:58 +00:00
parent 3ddd4ecdbd
commit 6bf5a6b6b2
2 changed files with 16 additions and 9 deletions
+5 -4
View File
@@ -339,17 +339,18 @@ export function BootSequence({ onComplete }: BootSequenceProps) {
return () => clearTimeout(timer) return () => clearTimeout(timer)
}, [phase]) }, [phase])
// Fade phase: wait for animations to finish, then complete // Fade phase: notify parent immediately so login can mount alongside fade
useEffect(() => { useEffect(() => {
if (phase !== 'fading') return if (phase !== 'fading') return
const completeTimer = setTimeout(() => { onComplete()
const hideTimer = setTimeout(() => {
setIsVisible(false) setIsVisible(false)
setPhase('done') setPhase('done')
onComplete()
}, BOOT_CONFIG.timing.fadeOutDuration) }, BOOT_CONFIG.timing.fadeOutDuration)
return () => clearTimeout(completeTimer) return () => clearTimeout(hideTimer)
}, [phase, onComplete]) }, [phase, onComplete])
// Reduced motion: skip animation // Reduced motion: skip animation
+11 -5
View File
@@ -168,16 +168,22 @@ export function LoginScreen({ onComplete }: LoginScreenProps) {
className="fixed inset-0 flex items-center justify-center" className="fixed inset-0 flex items-center justify-center"
style={{ style={{
zIndex: 110, zIndex: 110,
backgroundColor: 'rgba(240, 245, 244, 0.7)', }}
backdropFilter: `blur(${BACKDROP_BLUR_PX}px)`, initial={{
WebkitBackdropFilter: `blur(${BACKDROP_BLUR_PX}px)`, backgroundColor: 'rgba(0, 0, 0, 1)',
backdropFilter: 'blur(0px)',
WebkitBackdropFilter: 'blur(0px)',
}} }}
animate={isExiting ? { animate={isExiting ? {
backgroundColor: 'rgba(240, 245, 244, 0)', backgroundColor: 'rgba(240, 245, 244, 0)',
backdropFilter: 'blur(0px)', backdropFilter: 'blur(0px)',
WebkitBackdropFilter: 'blur(0px)', WebkitBackdropFilter: 'blur(0px)',
} : {}} } : {
transition={isExiting ? { duration: 0.6, ease: 'easeOut' } : {}} backgroundColor: 'rgba(240, 245, 244, 0.7)',
backdropFilter: `blur(${BACKDROP_BLUR_PX}px)`,
WebkitBackdropFilter: `blur(${BACKDROP_BLUR_PX}px)`,
}}
transition={isExiting ? { duration: 0.6, ease: 'easeOut' } : { duration: 0.6, ease: 'easeOut' }}
role="dialog" role="dialog"
aria-label="Clinical system login" aria-label="Clinical system login"
aria-modal="true" aria-modal="true"