Files
workavia-mail-front/lib/features/mailbox/presentation/base_mailbox_view.dart
T
dab246 b7a4e3f585 Support RTL mode for alignment mailbox view
(cherry picked from commit 9136f16236305ef65ebbc3c0415e7ffdc637bef7)
2023-06-15 16:43:58 +07:00

44 lines
1.8 KiB
Dart

import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/state/success.dart';
import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_controller.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/mixin/mailbox_widget_mixin.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/user_information_widget_builder.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
abstract class BaseMailboxView extends GetWidget<MailboxController>
with
AppLoaderMixin,
MailboxWidgetMixin {
BaseMailboxView({Key? key}) : super(key: key);
final responsiveUtils = Get.find<ResponsiveUtils>();
final imagePaths = Get.find<ImagePaths>();
Widget buildUserInformation(BuildContext context) {
return Container(
padding: const EdgeInsets.symmetric(vertical: 10),
child: Column(children: [
Obx(() => UserInformationWidgetBuilder(
imagePaths,
controller.mailboxDashBoardController.userProfile.value,
subtitle: AppLocalizations.of(context).manage_account,
onSubtitleClick: controller.mailboxDashBoardController.goToSettings)),
const Divider(color: AppColor.colorDividerMailbox, height: 0.5, thickness: 0.2)
]),
);
}
Widget buildLoadingView() {
return Obx(() => controller.viewState.value.fold(
(failure) => const SizedBox.shrink(),
(success) => success is LoadingState
? Padding(padding: const EdgeInsets.only(top: 16), child: loadingWidget)
: const SizedBox.shrink()));
}
}