From 1cec8aee3eea1bccd3eb85219f2c1baa9cdf2fde Mon Sep 17 00:00:00 2001 From: cheykrym Date: Wed, 3 Dec 2025 08:03:09 +0300 Subject: [PATCH] login animation --- yobble/Views/Login/LoginView.swift | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/yobble/Views/Login/LoginView.swift b/yobble/Views/Login/LoginView.swift index de289e1..335eaa4 100644 --- a/yobble/Views/Login/LoginView.swift +++ b/yobble/Views/Login/LoginView.swift @@ -48,20 +48,20 @@ struct LoginView: View { shouldAutofocus: !isShowingMessengerPrompt, onShowModePrompt: showModePrompt ) - .transition(.move(edge: .trailing).combined(with: .opacity)) + .transition(unifiedTransition) case .passwordlessVerify: PasswordlessVerifyView( viewModel: viewModel, shouldAutofocus: !isShowingMessengerPrompt, onShowModePrompt: showModePrompt ) - .transition(.move(edge: .leading).combined(with: .opacity)) + .transition(unifiedTransition) case .password: PasswordLoginView(viewModel: viewModel, onShowModePrompt: showModePrompt) - .transition(.opacity) + .transition(unifiedTransition) case .registration: 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() { isMessengerModeEnabled = pendingMessengerMode dismissMessengerPrompt()