Fix the app logo in the center of login form

This commit is contained in:
Dat PHAM HOANG
2022-05-18 21:12:58 +07:00
committed by Dat H. Pham
parent a16fab5562
commit af92c6d213
@@ -35,13 +35,7 @@ class LoginView extends BaseLoginView {
children: [
Padding(
padding: const EdgeInsets.only(top: 67),
child: (SloganBuilder(arrangedByHorizontal: true)
..setSloganText(AppLocalizations.of(context).app_name)
..setSloganTextAlign(TextAlign.center)
..setSloganTextStyle(const TextStyle(color: Colors.black, fontSize: 24, fontWeight: FontWeight.bold))
..setSizeLogo(36)
..setLogo(imagePaths.icLogoTMail))
.build()
child: _buildAppLogo(context)
),
Padding(
padding: const EdgeInsets.only(top: 67),
@@ -70,126 +64,138 @@ class LoginView extends BaseLoginView {
}
Widget _buildWebForm(BuildContext context) {
return Stack(
children: [
Padding(
padding: const EdgeInsets.only(top: 60, bottom: 60),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.only(right: 86),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
AppLocalizations.of(context).jmapBasedMailSolution,
style: const TextStyle(fontSize: 36, color: AppColor.colorNameEmail, fontWeight: FontWeight.w900)
),
Padding(
padding: const EdgeInsets.only(top: 24),
child: (SloganBuilder(arrangedByHorizontal: true, )
..setLogoSVG(imagePaths.icJMAPStandard)
..setSizeLogo(48.0)
..setPadding(const EdgeInsets.only(left: 12))
..setSloganText(AppLocalizations.of(context).jmapStandard)
..setSloganTextStyle(const TextStyle(fontSize: 24, fontWeight: FontWeight.w400, color: AppColor.colorNameEmail)))
.build()
),
Padding(
padding: const EdgeInsets.only(top: 16),
child: (SloganBuilder(arrangedByHorizontal: true, )
..setLogoSVG(imagePaths.icEncrypted)
..setSizeLogo(48.0)
..setPadding(const EdgeInsets.only(left: 12))
..setSloganText(AppLocalizations.of(context).encryptedMailbox)
..setSloganTextStyle(const TextStyle(fontSize: 24, fontWeight: FontWeight.w400, color: AppColor.colorNameEmail)))
.build()
),
Padding(
padding: const EdgeInsets.only(top: 16),
child: (SloganBuilder(arrangedByHorizontal: true, )
..setLogoSVG(imagePaths.icTeam)
..setSizeLogo(48.0)
..setPadding(const EdgeInsets.only(left: 12))
..setSloganText(AppLocalizations.of(context).manageEmailAsATeam)
..setSloganTextStyle(const TextStyle(fontSize: 24, fontWeight: FontWeight.w400, color: AppColor.colorNameEmail)))
.build()
),
Padding(
padding: const EdgeInsets.only(top: 16),
child: (SloganBuilder(arrangedByHorizontal: true, )
..setLogoSVG(imagePaths.icIntegration)
..setSizeLogo(48.0)
..setPadding(const EdgeInsets.only(left: 12))
..setSloganText(AppLocalizations.of(context).multipleIntegrations)
..setSloganTextStyle(const TextStyle(fontSize: 24, fontWeight: FontWeight.w400, color: AppColor.colorNameEmail)))
.build()
),
Padding(
padding: const EdgeInsets.only(top: 44),
child: Image(
image: AssetImage(imagePaths.loginGraphic),
fit: BoxFit.fill,
alignment: Alignment.center
)
)
],
)
),
Column(
return Padding(
padding: const EdgeInsets.only(top: 60, bottom: 60),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.only(right: 86),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(
height: 690,
width: 445,
child: Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0),
),
elevation: 10,
child: Padding(
padding: const EdgeInsets.only(left: 31, right: 31),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsets.only(top: 66),
child: (SloganBuilder(arrangedByHorizontal: true)
..setSloganText(AppLocalizations.of(context).app_name)
..setSloganTextAlign(TextAlign.center)
..setSloganTextStyle(const TextStyle(color: Colors.black, fontSize: 24, fontWeight: FontWeight.bold))
..setSizeLogo(36)
..setLogo(imagePaths.icLogoTMail))
.build()
),
Padding(
padding: const EdgeInsets.only(top: 67),
child: Text(
AppLocalizations.of(context).signIn,
style: const TextStyle(fontSize: 32, color: AppColor.colorNameEmail, fontWeight: FontWeight.w900)
)
),
Obx(() => buildLoginMessage(context, loginController.loginState.value)),
buildInputCredentialForm(context),
buildLoginButton(context)
],
)
)
)
Text(
AppLocalizations.of(context).jmapBasedMailSolution,
style: const TextStyle(fontSize: 36, color: AppColor.colorNameEmail, fontWeight: FontWeight.w900)
),
Padding(
padding: const EdgeInsets.only(top: 44, bottom: 10),
child: SvgPicture.asset(imagePaths.icPowerByLinagora, width: 97, height: 44, fit: BoxFit.fill))
]
padding: const EdgeInsets.only(top: 24),
child: (SloganBuilder(arrangedByHorizontal: true, )
..setLogoSVG(imagePaths.icJMAPStandard)
..setSizeLogo(48.0)
..setPadding(const EdgeInsets.only(left: 12))
..setSloganText(AppLocalizations.of(context).jmapStandard)
..setSloganTextStyle(const TextStyle(fontSize: 24, fontWeight: FontWeight.w400, color: AppColor.colorNameEmail)))
.build()
),
Padding(
padding: const EdgeInsets.only(top: 16),
child: (SloganBuilder(arrangedByHorizontal: true, )
..setLogoSVG(imagePaths.icEncrypted)
..setSizeLogo(48.0)
..setPadding(const EdgeInsets.only(left: 12))
..setSloganText(AppLocalizations.of(context).encryptedMailbox)
..setSloganTextStyle(const TextStyle(fontSize: 24, fontWeight: FontWeight.w400, color: AppColor.colorNameEmail)))
.build()
),
Padding(
padding: const EdgeInsets.only(top: 16),
child: (SloganBuilder(arrangedByHorizontal: true, )
..setLogoSVG(imagePaths.icTeam)
..setSizeLogo(48.0)
..setPadding(const EdgeInsets.only(left: 12))
..setSloganText(AppLocalizations.of(context).manageEmailAsATeam)
..setSloganTextStyle(const TextStyle(fontSize: 24, fontWeight: FontWeight.w400, color: AppColor.colorNameEmail)))
.build()
),
Padding(
padding: const EdgeInsets.only(top: 16),
child: (SloganBuilder(arrangedByHorizontal: true, )
..setLogoSVG(imagePaths.icIntegration)
..setSizeLogo(48.0)
..setPadding(const EdgeInsets.only(left: 12))
..setSloganText(AppLocalizations.of(context).multipleIntegrations)
..setSloganTextStyle(const TextStyle(fontSize: 24, fontWeight: FontWeight.w400, color: AppColor.colorNameEmail)))
.build()
),
Padding(
padding: const EdgeInsets.only(top: 44),
child: Image(
image: AssetImage(imagePaths.loginGraphic),
fit: BoxFit.fill,
alignment: Alignment.center
)
)
],
)
],
),
Column(
children: [
SizedBox(
height: 690,
width: 445,
child: Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0),
),
elevation: 10,
child: Padding(
padding: const EdgeInsets.only(left: 31, right: 31),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsets.only(top: 66),
child: _buildAppLogo(context)
),
Padding(
padding: const EdgeInsets.only(top: 67),
child: Text(
AppLocalizations.of(context).signIn,
style: const TextStyle(fontSize: 32, color: AppColor.colorNameEmail, fontWeight: FontWeight.w900)
)
),
Obx(() => buildLoginMessage(context, loginController.loginState.value)),
buildInputCredentialForm(context),
buildLoginButton(context)
],
)
)
)
),
Padding(
padding: const EdgeInsets.only(top: 44, bottom: 10),
child: SvgPicture.asset(imagePaths.icPowerByLinagora, width: 97, height: 44, fit: BoxFit.fill)
)
]
)
)
],
],
)
);
}
Widget _buildAppLogo(BuildContext buildContext) {
return Row(
mainAxisSize: MainAxisSize.min,
children: [
Image(
image: AssetImage(imagePaths.icLogoTMail),
fit: BoxFit.fill,
width: 36,
height: 36,
alignment: Alignment.center),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 10),
child: Text(
AppLocalizations.of(buildContext).app_name,
style: const TextStyle(color: Colors.black, fontSize: 24, fontWeight: FontWeight.bold),
textAlign: TextAlign.center),
),
]
);
}
}