Files
workavia-mail-front/lib/features/mail/presentation/mail_view.dart
T

72 lines
2.7 KiB
Dart

import 'package:core/core.dart';
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/mail/presentation/mail_controller.dart';
import 'package:tmail_ui_user/features/mail/presentation/widgets/app_bar_mail_widget_builder.dart';
import 'package:tmail_ui_user/features/mail/presentation/widgets/bottom_bar_mail_widget_builder.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/mailbox_dashboard_controller.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class MailView extends GetWidget<MailController> {
final mailboxDashBoardController = Get.find<MailboxDashBoardController>();
final responsiveUtils = Get.find<ResponsiveUtils>();
final imagePaths = Get.find<ImagePaths>();
@override
Widget build(BuildContext context) {
return Scaffold(
resizeToAvoidBottomInset: false,
backgroundColor: AppColor.primaryLightColor,
body: SafeArea(
right: false,
left: false,
child: Container(
alignment: Alignment.center,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
_buildAppBar(context),
Expanded(child: _buildListMail(context)),
_buildBottomBar(context),
])
)
),
);
}
Widget _buildAppBar(BuildContext context) {
return Padding(
padding: EdgeInsets.only(left: 16, top: 16.0, right: 16, bottom: 16),
child: AppBarMailWidgetBuilder(context, imagePaths, responsiveUtils)
.onBackActionClick(() => controller.goToMailboxListMail(context))
.build());
}
Widget _buildBottomBar(BuildContext context) {
return Padding(
padding: EdgeInsets.only(left: 16, top: 16.0, right: 16, bottom: 16),
child: BottomBarMailWidgetBuilder(context, imagePaths, responsiveUtils)
.build());
}
Widget _buildListMail(BuildContext context) {
return Container(
margin: EdgeInsets.zero,
width: double.infinity,
height: double.infinity,
alignment: Alignment.center,
padding: EdgeInsets.all(20),
color: AppColor.bgMessenger,
child: Obx(() => Text(
mailboxDashBoardController.mailCurrent.value.id != 'empty'
? '${mailboxDashBoardController.mailCurrent.value.message}'
: AppLocalizations.of(context).no_mail_selected,
textAlign: TextAlign.center,
style: TextStyle(fontSize: 25, color: AppColor.mailboxTextColor, fontWeight: FontWeight.bold)
))
);
}
}