Improvements
parent
97555aa3fb
commit
decd48cdd2
@ -1,331 +0,0 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:test_sa/extensions/context_extension.dart';
|
||||
import 'package:test_sa/new_views/app_style/app_color.dart';
|
||||
import 'package:test_sa/new_views/app_style/app_text_style.dart';
|
||||
|
||||
extension CapExtension on String {
|
||||
String get toCamelCase => "${this[0].toUpperCase()}${substring(1)}";
|
||||
|
||||
String get inCaps => '${this[0].toUpperCase()}${substring(1)}';
|
||||
|
||||
String get allInCaps => toUpperCase();
|
||||
|
||||
String get capitalizeFirstOfEach => trim().isNotEmpty ? trim().toLowerCase().split(" ").map((str) => str.inCaps).join(" ") : "";
|
||||
}
|
||||
|
||||
extension TextStyleExtension on String {
|
||||
Widget toHeading1(BuildContext context, {Color color, int maxLines, FontWeight fontWeight}) => Text(
|
||||
this,
|
||||
maxLines: (maxLines != null && maxLines > 0) ? maxLines : null,
|
||||
style: AppTextStyle.heading1.copyWith(color: color ?? (context.isDark ? AppColor.backgroundLight : AppColor.neutral70), fontWeight: fontWeight),
|
||||
);
|
||||
Widget toHeading2(BuildContext context, {Color color, int maxLines, FontWeight fontWeight}) => Text(
|
||||
this,
|
||||
maxLines: (maxLines != null && maxLines > 0) ? maxLines : null,
|
||||
style: AppTextStyle.heading2.copyWith(color: color ?? (context.isDark ? AppColor.neutral30 : AppColor.neutral50), fontWeight: fontWeight),
|
||||
);
|
||||
Widget toHeading3(BuildContext context, {Color color, int maxLines, FontWeight fontWeight}) => Text(
|
||||
this,
|
||||
maxLines: (maxLines != null && maxLines > 0) ? maxLines : null,
|
||||
style: AppTextStyle.heading3.copyWith(color: color ?? (context.isDark ? AppColor.neutral30 : AppColor.neutral50), fontWeight: fontWeight),
|
||||
);
|
||||
Widget toHeading4(BuildContext context, {Color color, int maxLines, FontWeight fontWeight}) => Text(
|
||||
this,
|
||||
maxLines: (maxLines != null && maxLines > 0) ? maxLines : null,
|
||||
style: AppTextStyle.heading4.copyWith(color: color ?? (context.isDark ? AppColor.neutral30 : AppColor.neutral50), fontWeight: fontWeight),
|
||||
);
|
||||
Widget toHeading5(BuildContext context, {Color color, int maxLines, FontWeight fontWeight}) => Text(
|
||||
this,
|
||||
maxLines: (maxLines != null && maxLines > 0) ? maxLines : null,
|
||||
style: AppTextStyle.heading5.copyWith(color: color ?? (context.isDark ? AppColor.neutral30 : AppColor.neutral50), fontWeight: fontWeight),
|
||||
);
|
||||
Widget toHeading6(BuildContext context, {Color color, int maxLines, FontWeight fontWeight}) => Text(
|
||||
this,
|
||||
maxLines: (maxLines != null && maxLines > 0) ? maxLines : null,
|
||||
style: AppTextStyle.heading6.copyWith(color: color ?? (context.isDark ? AppColor.neutral30 : AppColor.neutral50), fontWeight: fontWeight),
|
||||
);
|
||||
Widget toBody1(BuildContext context, {Color color, int maxLines, FontWeight fontWeight}) => Text(
|
||||
this,
|
||||
maxLines: (maxLines != null && maxLines > 0) ? maxLines : null,
|
||||
style: AppTextStyle.body1.copyWith(color: color ?? (context.isDark ? AppColor.neutral10 : AppColor.neutral20), fontWeight: fontWeight),
|
||||
);
|
||||
Widget toBody2(BuildContext context, {Color color, int maxLines, FontWeight fontWeight}) => Text(
|
||||
this,
|
||||
maxLines: (maxLines != null && maxLines > 0) ? maxLines : null,
|
||||
style: AppTextStyle.body2.copyWith(color: color ?? (context.isDark ? AppColor.neutral10 : AppColor.neutral20), fontWeight: fontWeight),
|
||||
);
|
||||
Widget toTiny(BuildContext context, {Color color, int maxLines, FontWeight fontWeight}) => Text(
|
||||
this,
|
||||
maxLines: (maxLines != null && maxLines > 0) ? maxLines : null,
|
||||
style: AppTextStyle.tiny.copyWith(color: color ?? (context.isDark ? AppColor.neutral10 : AppColor.neutral20), fontWeight: fontWeight),
|
||||
);
|
||||
Widget toOverline(BuildContext context, {Color color, int maxLines, FontWeight fontWeight}) => Text(
|
||||
this,
|
||||
maxLines: (maxLines != null && maxLines > 0) ? maxLines : null,
|
||||
style: AppTextStyle.overline.copyWith(color: color ?? (context.isDark ? AppColor.neutral10 : AppColor.neutral20), fontWeight: fontWeight),
|
||||
);
|
||||
}
|
||||
|
||||
extension FilesExtension on String {
|
||||
SvgPicture toSvgAsset({
|
||||
double width,
|
||||
double height,
|
||||
Color color,
|
||||
BoxFit fit = BoxFit.contain,
|
||||
}) =>
|
||||
SvgPicture.asset("assets/images/$this.svg", width: width, height: height, color: color, fit: fit);
|
||||
Image toPngAsset({
|
||||
double width,
|
||||
double height,
|
||||
Color color,
|
||||
BoxFit fit = BoxFit.contain,
|
||||
}) =>
|
||||
Image.asset("assets/images/$this.png", width: width, height: height, color: color, fit: fit);
|
||||
}
|
||||
|
||||
//
|
||||
// import 'package:flutter/cupertino.dart';
|
||||
// import 'package:intl/intl.dart';
|
||||
//
|
||||
// extension CapExtension on String {
|
||||
// String get toCamelCase => "${this[0].toUpperCase()}${this.substring(1)}";
|
||||
//
|
||||
// String get inCaps => '${this[0].toUpperCase()}${this.substring(1)}';
|
||||
//
|
||||
// String get allInCaps => this.toUpperCase();
|
||||
//
|
||||
// String get capitalizeFirstofEach => this.trim().length > 0 ? this.trim().toLowerCase().split(" ").map((str) => str.inCaps).join(" ") : "";
|
||||
// }
|
||||
//
|
||||
// extension EmailValidator on String {
|
||||
// Widget get toWidget => Text(this);
|
||||
//
|
||||
// Widget toText10({Color? color, bool isBold = false, int? maxlines, FontStyle? fontStyle}) => Text(
|
||||
// this,
|
||||
// maxLines: maxlines,
|
||||
// style: TextStyle(fontSize: 10, fontStyle: fontStyle ?? FontStyle.normal, fontWeight: isBold ? FontWeight.bold : FontWeight.w600, color: color ?? MyColors.darkTextColor, letterSpacing: -0.4),
|
||||
// );
|
||||
//
|
||||
// Widget toText11({Color? color, FontWeight? weight, bool isUnderLine = false, bool isBold = false, int maxLine = 0}) => Text(
|
||||
// this,
|
||||
// maxLines: (maxLine > 0) ? maxLine : null,
|
||||
// style: TextStyle(
|
||||
// fontSize: 11,
|
||||
// fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.w600),
|
||||
// color: color ?? MyColors.darkTextColor,
|
||||
// letterSpacing: -0.33,
|
||||
// decoration: isUnderLine ? TextDecoration.underline : null,
|
||||
// ),
|
||||
// );
|
||||
//
|
||||
// Widget toText12({Color? color, bool isUnderLine = false, bool isBold = false, bool isCenter = false, int maxLine = 0}) => Text(
|
||||
// this,
|
||||
// textAlign: isCenter ? TextAlign.center : null,
|
||||
// maxLines: (maxLine > 0) ? maxLine : null,
|
||||
// style: TextStyle(
|
||||
// fontSize: 12,
|
||||
// fontWeight: isBold ? FontWeight.bold : FontWeight.w600,
|
||||
// color: color ?? MyColors.darkTextColor,
|
||||
// letterSpacing: -0.72,
|
||||
// decoration: isUnderLine ? TextDecoration.underline : null,
|
||||
// ),
|
||||
// );
|
||||
//
|
||||
// Widget toText12Auto({Color? color, bool isUnderLine = false, bool isBold = false, bool isCenter = false, int maxLine = 0}) => AutoSizeText(
|
||||
// this,
|
||||
// textAlign: isCenter ? TextAlign.center : null,
|
||||
// maxLines: (maxLine > 0) ? maxLine : null,
|
||||
// minFontSize: 8,
|
||||
// style: TextStyle(
|
||||
// fontSize: 12,
|
||||
// fontWeight: isBold ? FontWeight.bold : FontWeight.w600,
|
||||
// color: color ?? MyColors.darkTextColor,
|
||||
// letterSpacing: -0.72,
|
||||
// decoration: isUnderLine ? TextDecoration.underline : null,
|
||||
// ),
|
||||
// );
|
||||
//
|
||||
// Widget toTextAuto({
|
||||
// Color? color,
|
||||
// bool isUnderLine = false,
|
||||
// bool isBold = false,
|
||||
// bool isCenter = false,
|
||||
// int maxLine = 0,
|
||||
// double fontSize = 12,
|
||||
// double letterSpacing = -0.72,
|
||||
// double height = 1,
|
||||
// }) =>
|
||||
// AutoSizeText(
|
||||
// this,
|
||||
// textAlign: isCenter ? TextAlign.center : null,
|
||||
// maxLines: (maxLine > 0) ? maxLine : null,
|
||||
// minFontSize: 5,
|
||||
// style: TextStyle(
|
||||
// fontSize: fontSize,
|
||||
// fontWeight: isBold ? FontWeight.bold : FontWeight.w600,
|
||||
// color: color ?? MyColors.darkTextColor,
|
||||
// letterSpacing: letterSpacing,
|
||||
// decoration: isUnderLine ? TextDecoration.underline : null,
|
||||
// ),
|
||||
// );
|
||||
//
|
||||
// Widget toText13({Color? color, bool isUnderLine = false}) => Text(
|
||||
// this,
|
||||
// style: TextStyle(fontSize: 13, fontWeight: FontWeight.w600, color: color ?? MyColors.darkTextColor, letterSpacing: -0.52, decoration: isUnderLine ? TextDecoration.underline : null),
|
||||
// );
|
||||
//
|
||||
// Widget toText14({Color? color, bool isUnderLine = false, bool isBold = false, FontWeight? weight, int? maxlines, TextAlign? textAlign, bool isCenter = false}) => Text(
|
||||
// this,
|
||||
// textAlign: isCenter ? TextAlign.center : (textAlign ?? TextAlign.left),
|
||||
// maxLines: maxlines,
|
||||
// style: TextStyle(
|
||||
// color: color ?? MyColors.darkTextColor,
|
||||
// fontSize: 14,
|
||||
// letterSpacing: -0.48,
|
||||
// fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.w600),
|
||||
// decoration: isUnderLine ? TextDecoration.underline : null),
|
||||
// );
|
||||
//
|
||||
// Widget toText16({Color? color, bool isUnderLine = false, bool isBold = false, int? maxlines, double? height}) => Text(
|
||||
// this,
|
||||
// maxLines: maxlines,
|
||||
// style: TextStyle(
|
||||
// color: color ?? MyColors.darkTextColor,
|
||||
// fontSize: 16,
|
||||
// letterSpacing: -0.64,
|
||||
// height: height,
|
||||
// fontWeight: isBold ? FontWeight.bold : FontWeight.w600,
|
||||
// decoration: isUnderLine ? TextDecoration.underline : null,
|
||||
// ),
|
||||
// );
|
||||
//
|
||||
// Widget toText17({Color? color, bool isBold = false}) => Text(
|
||||
// this,
|
||||
// style: TextStyle(color: color ?? MyColors.darkTextColor, fontSize: 17, letterSpacing: -0.68, fontWeight: isBold ? FontWeight.bold : FontWeight.w600),
|
||||
// );
|
||||
//
|
||||
// Widget toText18({Color? color, bool isBold = false, bool isCentered = false}) => Text(
|
||||
// this,
|
||||
// textAlign: isCentered ? TextAlign.center : null,
|
||||
// style: TextStyle(fontSize: 18, fontWeight: isBold ? FontWeight.bold : FontWeight.w600, color: color ?? MyColors.darkTextColor, letterSpacing: -1.08),
|
||||
// );
|
||||
//
|
||||
// Widget toText19({Color? color, bool isBold = false}) => Text(
|
||||
// this,
|
||||
// style: TextStyle(fontSize: 19, fontWeight: isBold ? FontWeight.bold : FontWeight.w600, color: color ?? MyColors.darkTextColor, letterSpacing: -1.14),
|
||||
// );
|
||||
//
|
||||
// Widget toText20({Color? color, bool isBold = false, bool isCentered = false}) => Text(
|
||||
// this,
|
||||
// textAlign: isCentered ? TextAlign.center : null,
|
||||
// style: TextStyle(fontSize: 20, fontWeight: isBold ? FontWeight.bold : FontWeight.w600, color: color ?? MyColors.darkTextColor, letterSpacing: -0.4),
|
||||
// );
|
||||
//
|
||||
// Widget toText21({Color? color, bool isBold = false, FontWeight? weight, int? maxlines}) => Text(
|
||||
// this,
|
||||
// maxLines: maxlines,
|
||||
// style: TextStyle(color: color ?? MyColors.grey3AColor, fontSize: 21, letterSpacing: -0.84, fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.w600)),
|
||||
// );
|
||||
//
|
||||
// Widget toText22({Color? color, bool isBold = false, bool isCentered = false}) => Text(
|
||||
// this,
|
||||
// textAlign: isCentered ? TextAlign.center : null,
|
||||
// style: TextStyle(height: 1, color: color ?? MyColors.darkTextColor, fontSize: 22, letterSpacing: -1.44, fontWeight: isBold ? FontWeight.bold : FontWeight.w600),
|
||||
// );
|
||||
//
|
||||
// Widget toText24({Color? color, bool isBold = false}) => Text(
|
||||
// this,
|
||||
// style: TextStyle(height: 23 / 24, color: color ?? MyColors.darkTextColor, fontSize: 24, letterSpacing: -1.44, fontWeight: isBold ? FontWeight.bold : FontWeight.w600),
|
||||
// );
|
||||
//
|
||||
// Widget toText30({Color? color, bool isBold = false}) => Text(
|
||||
// this,
|
||||
// style: TextStyle(height: 20 / 32, color: color ?? MyColors.darkTextColor, fontSize: 32, letterSpacing: -1.2, fontWeight: isBold ? FontWeight.bold : FontWeight.w600),
|
||||
// );
|
||||
//
|
||||
// Widget toText32({Color? color, bool isBold = false, bool isCentered = false}) => Text(
|
||||
// this,
|
||||
// textAlign: isCentered ? TextAlign.center : null,
|
||||
// style: TextStyle(height: 32 / 32, color: color ?? MyColors.darkTextColor, fontSize: 32, letterSpacing: -1.92, fontWeight: isBold ? FontWeight.bold : FontWeight.w600),
|
||||
// );
|
||||
//
|
||||
// Widget toText44({Color? color, bool isBold = false}) => Text(
|
||||
// this,
|
||||
// style: TextStyle(height: 32 / 32, color: color ?? MyColors.darkTextColor, fontSize: 44, letterSpacing: -2.64, fontWeight: isBold ? FontWeight.bold : FontWeight.w600),
|
||||
// );
|
||||
//
|
||||
// Widget toSectionHeading({String upperHeading = "", String lowerHeading = ""}) {
|
||||
// String upper = "";
|
||||
// String lower = "";
|
||||
// String heading = this;
|
||||
// if (heading.isNotEmpty) {
|
||||
// List<String> data = heading.split(" ");
|
||||
//
|
||||
// if (data.length > 1) {
|
||||
// upper = data[0];
|
||||
// data.removeAt(0);
|
||||
// lower = data.join(" ");
|
||||
// } else {
|
||||
// lower = data[0];
|
||||
// }
|
||||
// }
|
||||
// if (upperHeading.isNotEmpty) {
|
||||
// upper = upperHeading;
|
||||
// }
|
||||
// if (lowerHeading.isNotEmpty) {
|
||||
// lower = lowerHeading;
|
||||
// }
|
||||
//
|
||||
// return Column(
|
||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||
// mainAxisSize: MainAxisSize.min,
|
||||
// children: [
|
||||
// if (upper.isNotEmpty) upper.toText12(),
|
||||
// lower.toText24(isBold: true),
|
||||
// ],
|
||||
// );
|
||||
// }
|
||||
//
|
||||
// bool isValidEmail() {
|
||||
// return RegExp(r'^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$').hasMatch(this);
|
||||
// }
|
||||
//
|
||||
// String toFormattedDate() {
|
||||
// String date = this.split("T")[0];
|
||||
// String time = this.split("T")[1];
|
||||
// var dates = date.split("-");
|
||||
// return "${dates[2]} ${getMonth(int.parse(dates[1]))} ${dates[0]} ${DateFormat('hh:mm a').format(DateFormat('hh:mm:ss').parse(time))}";
|
||||
// }
|
||||
//
|
||||
// String getMonth(int month) {
|
||||
// switch (month) {
|
||||
// case 1:
|
||||
// return "January";
|
||||
// case 2:
|
||||
// return "February";
|
||||
// case 3:
|
||||
// return "March";
|
||||
// case 4:
|
||||
// return "April";
|
||||
// case 5:
|
||||
// return "May";
|
||||
// case 6:
|
||||
// return "June";
|
||||
// case 7:
|
||||
// return "July";
|
||||
// case 8:
|
||||
// return "August";
|
||||
// case 9:
|
||||
// return "September";
|
||||
// case 10:
|
||||
// return "October";
|
||||
// case 11:
|
||||
// return "November";
|
||||
// case 12:
|
||||
// return "December";
|
||||
// default:
|
||||
// return "";
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
Loading…
Reference in New Issue