TF-2311 Sync use variables in BaseController to avoid wasting memory

Signed-off-by: dab246 <tdvu@linagora.com>

Signed-off-by: dab246 <tdvu@linagora.com>
(cherry picked from commit 21ac80615f7bc9e832fd72cb8ae6875c967d3cea)
This commit is contained in:
dab246
2023-11-14 17:33:17 +07:00
committed by Dat Vu
parent 4ff601b4fc
commit fb47832225
57 changed files with 727 additions and 958 deletions
@@ -15,7 +15,7 @@ import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class LoginView extends BaseLoginView {
LoginView({Key? key}) : super(key: key);
const LoginView({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
@@ -66,7 +66,7 @@ class LoginView extends BaseLoginView {
children: [
Padding(
padding: EdgeInsets.only(
top: responsiveUtils.isHeightShortest(context) ? 64 : 0),
top: controller.responsiveUtils.isHeightShortest(context) ? 64 : 0),
child: Text(
AppLocalizations.of(context).login,
style: const TextStyle(fontSize: 32, color: AppColor.colorNameEmail, fontWeight: FontWeight.w900)
@@ -102,7 +102,7 @@ class LoginView extends BaseLoginView {
key: const Key('login_arrow_back_button'),
onPressed: () => controller.handleBackInCredentialForm(),
icon: SvgPicture.asset(
imagePaths.icBack,
controller.imagePaths.icBack,
alignment: Alignment.center,
colorFilter: AppColor.primaryColor.asFilter()
)
@@ -127,7 +127,7 @@ class LoginView extends BaseLoginView {
controller.formatUrl(pattern);
return controller.getAllRecentLoginUrlAction(pattern);
},
itemBuilder: (context, loginUrl) => RecentItemTileWidget(loginUrl, imagePath: imagePaths),
itemBuilder: (context, loginUrl) => RecentItemTileWidget(loginUrl, imagePath: controller.imagePaths),
onSuggestionSelected: (loginUrl) => controller.formatUrl(loginUrl.url),
suggestionsBoxDecoration: const SuggestionsBoxDecoration(borderRadius: BorderRadius.all(Radius.circular(14))),
noItemsFoundBuilder: (context) => const SizedBox(),
@@ -149,7 +149,7 @@ class LoginView extends BaseLoginView {
Widget _buildNextButton(BuildContext context) {
return Container(
margin: const EdgeInsets.only(bottom: 16, left: 24, right: 24),
width: responsiveUtils.getDeviceWidth(context),height: 48,
width: controller.responsiveUtils.getDeviceWidth(context),height: 48,
child: ElevatedButton(
key: const Key('nextToCredentialForm'),
style: ButtonStyle(
@@ -184,7 +184,7 @@ class LoginView extends BaseLoginView {
}
bool _supportScrollForm(BuildContext context) {
return !(responsiveUtils.isMobile(context) && responsiveUtils.isPortrait(context));
return !(controller.responsiveUtils.isMobile(context) && controller.responsiveUtils.isPortrait(context));
}
Widget _buildLoadingProgress(BuildContext context) {
@@ -12,7 +12,7 @@ import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class LoginView extends BaseLoginView {
LoginView({Key? key}) : super(key: key);
const LoginView({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
@@ -20,7 +20,7 @@ class LoginView extends BaseLoginView {
backgroundColor: AppColor.primaryLightColor,
body: Center(child: SingleChildScrollView(
child: ResponsiveWidget(
responsiveUtils: responsiveUtils,
responsiveUtils: controller.responsiveUtils,
mobile: _buildMobileForm(context),
desktop: _buildWebForm(context),
))),
@@ -71,7 +71,7 @@ class LoginView extends BaseLoginView {
child: Align(
alignment: Alignment.bottomCenter,
child: SvgPicture.asset(
imagePaths.icPowerByLinagora,
controller.imagePaths.icPowerByLinagora,
width: 97,
height: 44,
fit: BoxFit.fill)))
@@ -101,7 +101,7 @@ class LoginView extends BaseLoginView {
padding: const EdgeInsets.only(top: 24),
child: SloganBuilder(
arrangedByHorizontal: true,
logoSVG: imagePaths.icJMAPStandard,
logoSVG: controller.imagePaths.icJMAPStandard,
sizeLogo: 48.0,
paddingText: const EdgeInsets.only(left: 12),
text: AppLocalizations.of(context).jmapStandard,
@@ -112,7 +112,7 @@ class LoginView extends BaseLoginView {
padding: const EdgeInsets.only(top: 16),
child: SloganBuilder(
arrangedByHorizontal: true,
logoSVG: imagePaths.icEncrypted,
logoSVG: controller.imagePaths.icEncrypted,
sizeLogo: 48.0,
paddingText: const EdgeInsets.only(left: 12),
text: AppLocalizations.of(context).encryptedMailbox,
@@ -123,7 +123,7 @@ class LoginView extends BaseLoginView {
padding: const EdgeInsets.only(top: 16),
child: SloganBuilder(
arrangedByHorizontal: true,
logoSVG: imagePaths.icTeam,
logoSVG: controller.imagePaths.icTeam,
sizeLogo: 48.0,
paddingText: const EdgeInsets.only(left: 12),
text: AppLocalizations.of(context).manageEmailAsATeam,
@@ -134,7 +134,7 @@ class LoginView extends BaseLoginView {
padding: const EdgeInsets.only(top: 16),
child: SloganBuilder(
arrangedByHorizontal: true,
logoSVG: imagePaths.icIntegration,
logoSVG: controller.imagePaths.icIntegration,
sizeLogo: 48.0,
paddingText: const EdgeInsets.only(left: 12),
text: AppLocalizations.of(context).multipleIntegrations,
@@ -144,7 +144,7 @@ class LoginView extends BaseLoginView {
Padding(
padding: const EdgeInsets.only(top: 44),
child: SvgPicture.asset(
imagePaths.icLoginGraphic,
controller.imagePaths.icLoginGraphic,
fit: BoxFit.fill,
alignment: Alignment.center
)
@@ -202,7 +202,7 @@ class LoginView extends BaseLoginView {
),
Padding(
padding: const EdgeInsets.only(top: 44, bottom: 10),
child: SvgPicture.asset(imagePaths.icPowerByLinagora, width: 97, height: 44, fit: BoxFit.fill)
child: SvgPicture.asset(controller.imagePaths.icPowerByLinagora, width: 97, height: 44, fit: BoxFit.fill)
)
]
)
@@ -216,7 +216,7 @@ class LoginView extends BaseLoginView {
mainAxisSize: MainAxisSize.min,
children: [
SvgPicture.asset(
imagePaths.icTMailLogo,
controller.imagePaths.icTMailLogo,
fit: BoxFit.fill,
width: 36,
height: 36,
@@ -235,7 +235,7 @@ class LoginView extends BaseLoginView {
Widget _buildSSOButton(BuildContext context) {
return Container(
margin: const EdgeInsets.only(bottom: 16, left: 24, right: 24),
width: responsiveUtils.getDeviceWidth(context),height: 48,
width: controller.responsiveUtils.getDeviceWidth(context),height: 48,
child: ElevatedButton(
key: const Key('ssoSubmitForm'),
style: ButtonStyle(