fix(ui): Change TextStyle to ResponsiveText
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:sfm_app/product/utils/responsive_text_utils.dart';
|
||||
|
||||
import '../theme/app_theme_light.dart';
|
||||
|
||||
@@ -9,55 +10,105 @@ extension ContextExtension on BuildContext {
|
||||
MediaQueryData get mediaQuery => MediaQuery.of(this);
|
||||
}
|
||||
|
||||
extension ResponsiveTextStyle on BuildContext {
|
||||
TextStyle get h1 => TextStyle(
|
||||
fontSize: ResponsiveText.getSize(this, 32), fontWeight: FontWeight.bold);
|
||||
|
||||
TextStyle get h2 => TextStyle(
|
||||
fontSize: ResponsiveText.getSize(this, 24), fontWeight: FontWeight.bold);
|
||||
|
||||
TextStyle get h3 => TextStyle(
|
||||
fontSize: ResponsiveText.getSize(this, 20), fontWeight: FontWeight.bold);
|
||||
|
||||
TextStyle get responsiveBodyLarge =>
|
||||
TextStyle(fontSize: ResponsiveText.getSize(this, 18));
|
||||
|
||||
TextStyle get responsiveBodyLargeWithBold => TextStyle(
|
||||
fontSize: ResponsiveText.getSize(this, 18), fontWeight: FontWeight.bold);
|
||||
|
||||
TextStyle get responsiveBodyMedium =>
|
||||
TextStyle(fontSize: ResponsiveText.getSize(this, 16));
|
||||
|
||||
TextStyle get responsiveBodyMediumWithBold => TextStyle(
|
||||
fontSize: ResponsiveText.getSize(this, 16), fontWeight: FontWeight.bold);
|
||||
|
||||
TextStyle get responsiveBodySmall =>
|
||||
TextStyle(fontSize: ResponsiveText.getSize(this, 14));
|
||||
|
||||
TextStyle get responsiveBodySmallWithBold => TextStyle(
|
||||
fontSize: ResponsiveText.getSize(this, 14), fontWeight: FontWeight.bold);
|
||||
TextStyle dynamicResponsiveSize(double val) =>
|
||||
TextStyle(fontSize: ResponsiveText.getSize(this, val));
|
||||
TextStyle dynamicResponsiveSizeWithBold(double val) => TextStyle(
|
||||
fontSize: ResponsiveText.getSize(this, val), fontWeight: FontWeight.bold);
|
||||
}
|
||||
|
||||
// VALUES
|
||||
extension MediaQueryExtension on BuildContext {
|
||||
double get height => mediaQuery.size.height;
|
||||
|
||||
double get width => mediaQuery.size.width;
|
||||
|
||||
double get lowValue => height * 0.01;
|
||||
|
||||
double get normalValue => height * 0.02;
|
||||
|
||||
double get mediumValue => height * 0.04;
|
||||
|
||||
double get highValue => height * 0.1;
|
||||
|
||||
double dynamicWidth(double val) => width * val;
|
||||
|
||||
double dynamicHeight(double val) => height * val;
|
||||
}
|
||||
|
||||
// THEME
|
||||
extension ThemeExtension on BuildContext {
|
||||
ThemeData get theme => Theme.of(this);
|
||||
|
||||
TextTheme get textTheme => theme.textTheme;
|
||||
|
||||
ColorScheme get colors => AppThemeLight.instance.theme.colorScheme;
|
||||
}
|
||||
|
||||
// PADDING ALLL
|
||||
extension PaddingExtensionAll on BuildContext {
|
||||
EdgeInsets get paddingLow => EdgeInsets.all(lowValue);
|
||||
|
||||
EdgeInsets get paddingNormal => EdgeInsets.all(normalValue);
|
||||
|
||||
EdgeInsets get paddingMedium => EdgeInsets.all(mediumValue);
|
||||
|
||||
EdgeInsets get paddingHigh => EdgeInsets.all(highValue);
|
||||
|
||||
EdgeInsets dynamicPadding(double val) => EdgeInsets.all(val);
|
||||
// double dynamicPadding(double val) => height * val;
|
||||
// double dynamicPadding(double val) => height * val;
|
||||
}
|
||||
|
||||
// PADDING SYMETRIC
|
||||
extension PaddingExtensionSymetric on BuildContext {
|
||||
// VERTICAL PADDİNG
|
||||
EdgeInsets get paddingLowVertical => EdgeInsets.symmetric(vertical: lowValue);
|
||||
|
||||
EdgeInsets get paddingNormalVertical =>
|
||||
EdgeInsets.symmetric(vertical: normalValue);
|
||||
|
||||
EdgeInsets get paddingMediumVertical =>
|
||||
EdgeInsets.symmetric(vertical: mediumValue);
|
||||
|
||||
EdgeInsets get paddingHighVertical =>
|
||||
EdgeInsets.symmetric(vertical: highValue);
|
||||
|
||||
// HORIZONTAL PADDİNG
|
||||
EdgeInsets get paddingLowHorizontal =>
|
||||
EdgeInsets.symmetric(horizontal: lowValue);
|
||||
|
||||
EdgeInsets get paddingNormalHorizontal =>
|
||||
EdgeInsets.symmetric(horizontal: normalValue);
|
||||
|
||||
EdgeInsets get paddingMediumHorizontal =>
|
||||
EdgeInsets.symmetric(horizontal: mediumValue);
|
||||
|
||||
EdgeInsets get paddingHighHorizontal =>
|
||||
EdgeInsets.symmetric(horizontal: highValue);
|
||||
}
|
||||
@@ -70,34 +121,51 @@ extension PageExtension on BuildContext {
|
||||
// DURATION
|
||||
extension DurationExtension on BuildContext {
|
||||
Duration get lowDuration => const Duration(milliseconds: 150);
|
||||
|
||||
Duration get normalDuration => const Duration(milliseconds: 500);
|
||||
|
||||
Duration dynamicMilliSecondDuration(int milliseconds) =>
|
||||
Duration(milliseconds: milliseconds);
|
||||
|
||||
Duration dynamicMinutesDuration(int minutes) => Duration(minutes: minutes);
|
||||
}
|
||||
|
||||
// RADIUS
|
||||
extension RadiusExtension on BuildContext {
|
||||
Radius get lowRadius => Radius.circular(width * 0.02);
|
||||
|
||||
Radius get normalRadius => Radius.circular(width * 0.05);
|
||||
|
||||
Radius get highRadius => Radius.circular(width * 0.1);
|
||||
|
||||
Radius dynamicRadius(double radius) => Radius.circular(radius);
|
||||
}
|
||||
|
||||
extension TextStyleExtention on BuildContext {
|
||||
TextStyle get labelSmallTextStyle => Theme.of(this).textTheme.labelSmall!;
|
||||
|
||||
TextStyle get labelMediumTextStyle => Theme.of(this).textTheme.labelMedium!;
|
||||
|
||||
TextStyle get labelLargeTextStyle => Theme.of(this).textTheme.labelLarge!;
|
||||
|
||||
TextStyle get bodySmallTextStyle => Theme.of(this).textTheme.bodySmall!;
|
||||
|
||||
TextStyle get bodyMediumTextStyle => Theme.of(this).textTheme.bodyMedium!;
|
||||
|
||||
TextStyle get bodyLargeTextStyle => Theme.of(this).textTheme.bodyLarge!;
|
||||
|
||||
TextStyle get titleSmallTextStyle => Theme.of(this).textTheme.titleSmall!;
|
||||
|
||||
TextStyle get titleMediumTextStyle => Theme.of(this).textTheme.titleMedium!;
|
||||
|
||||
TextStyle get titleLargeTextStyle => Theme.of(this).textTheme.titleLarge!;
|
||||
|
||||
TextStyle get headlineSmallTextStyle =>
|
||||
Theme.of(this).textTheme.headlineSmall!;
|
||||
|
||||
TextStyle get headlineMediumTextStyle =>
|
||||
Theme.of(this).textTheme.headlineMedium!;
|
||||
|
||||
TextStyle get headlineLargeTextStyle =>
|
||||
Theme.of(this).textTheme.headlineLarge!;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user