d771cf95d4
(cherry picked from commit 1a64c5ec469b0ed995a0635830c244d496cb54ea)
41 lines
1.7 KiB
Dart
41 lines
1.7 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 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()));
|
|
}
|
|
} |