login animation

This commit is contained in:
cheykrym 2025-12-03 08:03:09 +03:00
parent c09858dfbd
commit 1cec8aee3e

View File

@ -48,20 +48,20 @@ struct LoginView: View {
shouldAutofocus: !isShowingMessengerPrompt, shouldAutofocus: !isShowingMessengerPrompt,
onShowModePrompt: showModePrompt onShowModePrompt: showModePrompt
) )
.transition(.move(edge: .trailing).combined(with: .opacity)) .transition(unifiedTransition)
case .passwordlessVerify: case .passwordlessVerify:
PasswordlessVerifyView( PasswordlessVerifyView(
viewModel: viewModel, viewModel: viewModel,
shouldAutofocus: !isShowingMessengerPrompt, shouldAutofocus: !isShowingMessengerPrompt,
onShowModePrompt: showModePrompt onShowModePrompt: showModePrompt
) )
.transition(.move(edge: .leading).combined(with: .opacity)) .transition(unifiedTransition)
case .password: case .password:
PasswordLoginView(viewModel: viewModel, onShowModePrompt: showModePrompt) PasswordLoginView(viewModel: viewModel, onShowModePrompt: showModePrompt)
.transition(.opacity) .transition(unifiedTransition)
case .registration: case .registration:
RegistrationView(viewModel: viewModel, onShowModePrompt: showModePrompt) RegistrationView(viewModel: viewModel, onShowModePrompt: showModePrompt)
.transition(.move(edge: .bottom).combined(with: .opacity)) .transition(unifiedTransition)
} }
} }
} }
@ -73,6 +73,10 @@ struct LoginView: View {
} }
} }
private var unifiedTransition: AnyTransition {
.opacity.combined(with: .scale(scale: 0.98, anchor: .center))
}
private func applyMessengerModeSelection() { private func applyMessengerModeSelection() {
isMessengerModeEnabled = pendingMessengerMode isMessengerModeEnabled = pendingMessengerMode
dismissMessengerPrompt() dismissMessengerPrompt()