import 'package:core/presentation/extensions/color_extension.dart'; import 'package:core/presentation/utils/responsive_utils.dart'; import 'package:core/utils/platform_info.dart'; import 'package:flutter/material.dart'; import 'package:tmail_ui_user/main/utils/app_utils.dart'; class SettingsUtils { static double getHorizontalPadding(BuildContext context, ResponsiveUtils responsiveUtils) { if (responsiveUtils.isMobile(context)) { return 16; } else { return 32; } } static EdgeInsets getPaddingInFirstLevel(BuildContext context, ResponsiveUtils responsiveUtils) { if (responsiveUtils.isMobile(context)) { return const EdgeInsets.only(left: 16, top: 12, bottom: 12, right: 16); } else { return const EdgeInsets.only(left: 32, top: 12, bottom: 12, right: 32); } } static EdgeInsets getPaddingAppBar(BuildContext context, ResponsiveUtils responsiveUtils) { if (responsiveUtils.isPortraitMobile(context)) { return const EdgeInsets.symmetric(horizontal: 16); } else if (responsiveUtils.isLandscapeMobile(context)) { return const EdgeInsets.symmetric(horizontal: 12); } else { return const EdgeInsets.symmetric(horizontal: 32); } } static EdgeInsets getMarginViewForSettingDetails(BuildContext context, ResponsiveUtils responsiveUtils) { if (PlatformInfo.isWeb) { if (responsiveUtils.isDesktop(context)) { return const EdgeInsets.all(16); } else if (responsiveUtils.isTabletLarge(context) || responsiveUtils.isTablet(context)) { return const EdgeInsets.only(right: 32, top: 16, bottom: 16, left: 32); } else { return const EdgeInsets.only(right: 16, top: 16, bottom: 16, left: 16); } } else { if (responsiveUtils.isLandscapeTablet(context) || responsiveUtils.isTabletLarge(context) || responsiveUtils.isTablet(context)) { return const EdgeInsets.only(right: 32, top: 16, bottom: 16, left: 32); } else if (responsiveUtils.isDesktop(context)) { return const EdgeInsets.only(right: 32, top: 16, bottom: 16); } else { return const EdgeInsets.only(right: 16, top: 16, bottom: 16, left: 16); } } } static BoxDecoration? getBoxDecorationForContent(BuildContext context, ResponsiveUtils responsiveUtils) { if (responsiveUtils.isWebDesktop(context)) { return BoxDecoration( borderRadius: BorderRadius.circular(16), border: Border.all(color: AppColor.colorBorderSettingContentWeb, width: 1), color: Colors.white); } else { return null; } } static Color? getContentBackgroundColor(BuildContext context, ResponsiveUtils responsiveUtils) { if (responsiveUtils.isWebDesktop(context)) { return null; } else { return Colors.white; } } static Color? getBackgroundColor(BuildContext context, ResponsiveUtils responsiveUtils) { if (responsiveUtils.isWebDesktop(context)) { return AppColor.colorBgDesktop; } else { return Colors.white; } } static EdgeInsets getPaddingListRecipientForwarding(BuildContext context, ResponsiveUtils responsiveUtils) { if (responsiveUtils.isPortraitMobile(context)) { return const EdgeInsets.symmetric(horizontal: 16); } else if (responsiveUtils.isLandscapeMobile(context)) { return const EdgeInsets.all(12); } else { return const EdgeInsets.symmetric(horizontal: 32, vertical: 12); } } static BoxDecoration? getBoxDecorationForListRecipient(BuildContext context, ResponsiveUtils responsiveUtils) { return BoxDecoration( borderRadius: BorderRadius.circular(12), border: Border.all(color: AppColor.colorBorderSettingContentWeb, width: 1), color: Colors.white); } static EdgeInsets getPaddingTitleHeaderForwarding(BuildContext context, ResponsiveUtils responsiveUtils) { if (responsiveUtils.isPortraitMobile(context)) { return const EdgeInsets.symmetric(horizontal: 16, vertical: 12); } else if (responsiveUtils.isLandscapeMobile(context)) { return const EdgeInsets.all(12); } else { return const EdgeInsets.symmetric(horizontal: 32, vertical: 12); } } static EdgeInsets getPaddingKeepLocalSwitchButtonForwarding(BuildContext context, ResponsiveUtils responsiveUtils) { if (responsiveUtils.isPortraitMobile(context)) { return const EdgeInsets.symmetric(horizontal: 18, vertical: 14); } else if (responsiveUtils.isLandscapeMobile(context)) { return const EdgeInsets.all(14); } else { return const EdgeInsets.symmetric(horizontal: 34, vertical: 14); } } static EdgeInsets getPaddingInputRecipientForwarding(BuildContext context, ResponsiveUtils responsiveUtils) { if (responsiveUtils.isPortraitMobile(context)) { return const EdgeInsets.symmetric(horizontal: 16, vertical: 12); } else if (responsiveUtils.isLandscapeMobile(context)) { return const EdgeInsets.all(12); } else { return const EdgeInsets.symmetric(horizontal: 32, vertical: 12); } } static EdgeInsets getMarginViewForForwardSettingDetails(BuildContext context, ResponsiveUtils responsiveUtils) { if (responsiveUtils.isWebDesktop(context)) { return const EdgeInsets.all(16); } else { return EdgeInsets.zero; } } static EdgeInsets getMarginSettingDetailsView(BuildContext context, ResponsiveUtils responsiveUtils) { if (responsiveUtils.isWebDesktop(context)) { return const EdgeInsets.all(16); } else { return EdgeInsets.zero; } } static EdgeInsets getPaddingHeaderSetting(BuildContext context) { if (AppUtils.isDirectionRTL(context)) { return const EdgeInsets.only(top: 25, bottom: 25, right: 32); } else { return const EdgeInsets.only(top: 25, bottom: 25, left: 32); } } static EdgeInsets getPaddingRightHeaderSetting(BuildContext context) { if (AppUtils.isDirectionRTL(context)) { return const EdgeInsets.only(right: 48, top: 16, bottom: 10, left: 10); } else { return const EdgeInsets.only(right: 10, top: 16, bottom: 10, left: 48); } } }