TF-624 Add loading widget when click single sign-on button
This commit is contained in:
@@ -129,4 +129,12 @@ abstract class BaseLoginView extends GetWidget<LoginController> {
|
||||
..hintText(AppLocalizations.of(context).password))
|
||||
.build()));
|
||||
}
|
||||
|
||||
Widget buildLoadingCircularProgress() {
|
||||
return const SizedBox(
|
||||
key: Key('login_loading_icon'),
|
||||
width: 40,
|
||||
height: 40,
|
||||
child: CircularProgressIndicator(color: AppColor.primaryColor));
|
||||
}
|
||||
}
|
||||
@@ -85,19 +85,19 @@ class LoginView extends BaseLoginView {
|
||||
return Obx(() => loginController.loginState.value.viewState.fold(
|
||||
(failure) => _buildNextButtonInContext(context),
|
||||
(success) => success is LoginLoadingAction
|
||||
? _buildLoadingCircularProgress()
|
||||
? buildLoadingCircularProgress()
|
||||
: _buildNextButtonInContext(context)));
|
||||
case LoginFormType.credentialForm:
|
||||
return Obx(() => loginController.loginState.value.viewState.fold(
|
||||
(failure) => _buildLoginButtonInContext(context),
|
||||
(success) => success is LoginLoadingAction
|
||||
? _buildLoadingCircularProgress()
|
||||
? buildLoadingCircularProgress()
|
||||
: _buildLoginButtonInContext(context)));
|
||||
case LoginFormType.ssoForm:
|
||||
return Obx(() => loginController.loginState.value.viewState.fold(
|
||||
(failure) => _buildLoginButtonInContext(context),
|
||||
(success) => success is LoginLoadingAction
|
||||
? _buildLoadingCircularProgress()
|
||||
? buildLoadingCircularProgress()
|
||||
: _buildLoginButtonInContext(context)));
|
||||
default:
|
||||
return const SizedBox.shrink();
|
||||
@@ -189,14 +189,6 @@ class LoginView extends BaseLoginView {
|
||||
? buildLoginButton(context)
|
||||
: _buildExpandedButton(context, buildLoginButton(context));
|
||||
}
|
||||
|
||||
Widget _buildLoadingCircularProgress() {
|
||||
return const SizedBox(
|
||||
key: Key('login_loading_icon'),
|
||||
width: 40,
|
||||
height: 40,
|
||||
child: CircularProgressIndicator(color: AppColor.primaryColor));
|
||||
}
|
||||
|
||||
bool _supportScrollForm(BuildContext context) {
|
||||
return !(responsiveUtils.isMobile(context) && responsiveUtils.isPortrait(context));
|
||||
|
||||
@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:get/get_state_manager/src/rx_flutter/rx_obx_widget.dart';
|
||||
import 'package:tmail_ui_user/features/login/presentation/base_login_view.dart';
|
||||
import 'package:tmail_ui_user/features/login/presentation/state/login_state.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
class LoginView extends BaseLoginView {
|
||||
@@ -47,7 +48,11 @@ class LoginView extends BaseLoginView {
|
||||
Obx(() => buildLoginMessage(context, loginController.loginState.value)),
|
||||
buildInputCredentialForm(context),
|
||||
buildLoginButton(context),
|
||||
buildSSOButton(context),
|
||||
Obx(() => loginController.loginState.value.viewState.fold(
|
||||
(failure) => _buildSSOButton(context),
|
||||
(success) => success is LoginLoadingAction
|
||||
? buildLoadingCircularProgress()
|
||||
: _buildSSOButton(context))),
|
||||
],
|
||||
)
|
||||
),
|
||||
@@ -163,7 +168,11 @@ class LoginView extends BaseLoginView {
|
||||
Obx(() => buildLoginMessage(context, loginController.loginState.value)),
|
||||
buildInputCredentialForm(context),
|
||||
buildLoginButton(context),
|
||||
buildSSOButton(context),
|
||||
Obx(() => loginController.loginState.value.viewState.fold(
|
||||
(failure) => _buildSSOButton(context),
|
||||
(success) => success is LoginLoadingAction
|
||||
? buildLoadingCircularProgress()
|
||||
: _buildSSOButton(context))),
|
||||
],
|
||||
)
|
||||
)
|
||||
@@ -201,7 +210,7 @@ class LoginView extends BaseLoginView {
|
||||
);
|
||||
}
|
||||
|
||||
Widget buildSSOButton(BuildContext context) {
|
||||
Widget _buildSSOButton(BuildContext context) {
|
||||
return Container(
|
||||
margin: const EdgeInsets.only(bottom: 16, left: 24, right: 24),
|
||||
width: responsiveUtils.getDeviceWidth(context),height: 48,
|
||||
|
||||
Reference in New Issue
Block a user