Files
workavia-mail-front/lib/features/contact/presentation/styles/contact_view_style.dart
T
2025-07-15 12:40:02 +07:00

100 lines
3.1 KiB
Dart

import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:core/utils/platform_info.dart';
import 'package:flutter/material.dart';
class ContactViewStyle {
static const double viewMaxHeight = 624.0;
static const double viewMaxWidth = 558.0;
static TextStyle searchInputHintTextStyle =
ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: 15,
fontWeight: FontWeight.w400,
color: AppColor.colorHintSearchBar,
);
static TextStyle searchInputTextStyle =
ThemeUtils.defaultTextStyleInterFont.copyWith(
fontSize: 15,
fontWeight: FontWeight.w400,
color: Colors.black,
);
static double getContactViewHeight(
BuildContext context,
ResponsiveUtils responsiveUtils
) {
if ((PlatformInfo.isWeb && responsiveUtils.isMobile(context)) ||
(PlatformInfo.isMobile && responsiveUtils.isScreenWithShortestSide(context))
) {
return double.infinity;
} else if (responsiveUtils.getSizeScreenHeight(context) > ContactViewStyle.viewMaxHeight) {
return ContactViewStyle.viewMaxHeight;
} else {
return double.infinity;
}
}
static double getContactViewWidth(
BuildContext context,
ResponsiveUtils responsiveUtils
) {
if ((PlatformInfo.isWeb && responsiveUtils.isMobile(context)) ||
(PlatformInfo.isMobile && responsiveUtils.isScreenWithShortestSide(context))
) {
return double.infinity;
} else {
return ContactViewStyle.viewMaxWidth;
}
}
static bool isAppBarTopBorderSupported(
BuildContext context,
ResponsiveUtils responsiveUtils
) {
return !(PlatformInfo.isWeb || responsiveUtils.isLandscapeMobile(context));
}
static BorderRadiusGeometry getContactViewBorderRadius(
BuildContext context,
ResponsiveUtils responsiveUtils
) {
if (PlatformInfo.isMobile && responsiveUtils.isLandscapeMobile(context)) {
return BorderRadius.zero;
} else if ((PlatformInfo.isWeb && responsiveUtils.isMobile(context)) ||
(PlatformInfo.isMobile && responsiveUtils.isPortraitMobile(context))
) {
return const BorderRadiusDirectional.only(
topEnd: Radius.circular(16),
topStart: Radius.circular(16),
);
} else {
return const BorderRadius.all(Radius.circular(16));
}
}
static EdgeInsetsGeometry getSearchInputFormMargin(
BuildContext context,
ResponsiveUtils responsiveUtils,
) {
if (PlatformInfo.isWeb || responsiveUtils.isScreenWithShortestSide(context)) {
return const EdgeInsets.symmetric(horizontal: 16, vertical: 10);
} else {
return const EdgeInsets.symmetric(horizontal: 32, vertical: 10);
}
}
static EdgeInsets getDividerSearchResultListPadding(
BuildContext context,
ResponsiveUtils responsiveUtils
) {
if (PlatformInfo.isWeb || responsiveUtils.isScreenWithShortestSide(context)) {
return const EdgeInsets.symmetric(horizontal: 16);
} else {
return const EdgeInsets.symmetric(horizontal: 32);
}
}
}