You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			108 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Dart
		
	
			
		
		
	
	
			108 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Dart
		
	
import 'package:flutter/material.dart';
 | 
						|
import 'package:flutter/widgets.dart';
 | 
						|
import 'package:mohem_flutter_app/classes/colors.dart';
 | 
						|
import 'package:mohem_flutter_app/extensions/int_extensions.dart';
 | 
						|
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
 | 
						|
import 'package:shimmer/shimmer.dart';
 | 
						|
 | 
						|
extension WidgetExtensions on Widget {
 | 
						|
  Widget onPress(VoidCallback onTap) => InkWell(onTap: onTap, child: this);
 | 
						|
 | 
						|
  Widget get expanded => Expanded(child: this);
 | 
						|
 | 
						|
  Widget get center => Center(child: this);
 | 
						|
 | 
						|
  Widget circle(double _value) => ClipRRect(borderRadius: BorderRadius.circular(_value), child: this);
 | 
						|
 | 
						|
  Widget paddingAll(double _value) => Padding(padding: EdgeInsets.all(_value), child: this);
 | 
						|
 | 
						|
  Widget paddingOnly({double left = 0.0, double right = 0.0, double top = 0.0, double bottom = 0.0}) =>
 | 
						|
      Padding(padding: EdgeInsets.only(left: left, right: right, top: top, bottom: bottom), child: this);
 | 
						|
 | 
						|
  Widget toExpanded({int flex = 1}) => Expanded(flex: flex, child: this);
 | 
						|
 | 
						|
  Widget toShimmer({bool isShow = true}) => isShow
 | 
						|
      ? Shimmer.fromColors(
 | 
						|
          baseColor: Color(0xffe8eff0),
 | 
						|
          highlightColor: Colors.white,
 | 
						|
          child: Container(
 | 
						|
            color: Colors.white,
 | 
						|
            child: this,
 | 
						|
          ),
 | 
						|
        )
 | 
						|
      : Container(
 | 
						|
          child: this,
 | 
						|
        );
 | 
						|
 | 
						|
  Widget animatedSwither() => AnimatedSwitcher(
 | 
						|
        duration: const Duration(milliseconds: 500),
 | 
						|
        // transitionBuilder: (Widget child, Animation<double> animation) {
 | 
						|
        //   return ScaleTransition(scale: animation, child: child);
 | 
						|
        // },
 | 
						|
        switchInCurve: Curves.linearToEaseOut,
 | 
						|
        switchOutCurve: Curves.linearToEaseOut,
 | 
						|
        child: this,
 | 
						|
      );
 | 
						|
 | 
						|
  Widget objectContainerView({String title = "", String note = "", bool disablePadding = false, double radius = 15, bool center = true}) {
 | 
						|
    return Container(
 | 
						|
      padding: disablePadding ? EdgeInsets.zero : const EdgeInsets.only(top: 15, bottom: 15, left: 14, right: 14),
 | 
						|
      decoration: BoxDecoration(
 | 
						|
        color: Colors.white,
 | 
						|
        borderRadius: BorderRadius.circular(radius),
 | 
						|
        boxShadow: [
 | 
						|
          BoxShadow(
 | 
						|
            color: const Color(0xff000000).withOpacity(.05),
 | 
						|
            blurRadius: 26,
 | 
						|
            offset: const Offset(0, -3),
 | 
						|
          ),
 | 
						|
        ],
 | 
						|
      ),
 | 
						|
      alignment: center ? Alignment.center : null,
 | 
						|
      child: Column(
 | 
						|
        crossAxisAlignment: CrossAxisAlignment.start,
 | 
						|
        mainAxisSize: MainAxisSize.min,
 | 
						|
        children: [
 | 
						|
          if (title.isNotEmpty) title.toText16(),
 | 
						|
          if (title.isNotEmpty) 12.height,
 | 
						|
          this,
 | 
						|
          if (note.isNotEmpty) note.toText11(),
 | 
						|
        ],
 | 
						|
      ),
 | 
						|
    );
 | 
						|
  }
 | 
						|
 | 
						|
  Widget objectContainerBorderView(
 | 
						|
      {String title = "",
 | 
						|
      String note = "",
 | 
						|
      bool disablePadding = false,
 | 
						|
      double radius = 15,
 | 
						|
      Color? color,
 | 
						|
      Color borderColor = MyColors.lightGreyEFColor,
 | 
						|
      bool disableWidth = false,
 | 
						|
      bool isAlignment = false}) {
 | 
						|
    return Container(
 | 
						|
      padding: disablePadding ? EdgeInsets.zero : const EdgeInsets.only(top: 15, bottom: 15, left: 14, right: 14),
 | 
						|
      decoration: BoxDecoration(
 | 
						|
        borderRadius: BorderRadius.circular(radius),
 | 
						|
        color: color,
 | 
						|
        border: Border.all(
 | 
						|
          color: borderColor,
 | 
						|
          width: disableWidth ? 2 : 1,
 | 
						|
        ),
 | 
						|
      ),
 | 
						|
      alignment: isAlignment ? Alignment.center : null,
 | 
						|
      child: Column(
 | 
						|
        crossAxisAlignment: CrossAxisAlignment.start,
 | 
						|
        mainAxisSize: MainAxisSize.min,
 | 
						|
        children: [
 | 
						|
          if (title.isNotEmpty) title.toText16(),
 | 
						|
          if (title.isNotEmpty) 12.height,
 | 
						|
          this,
 | 
						|
          if (note.isNotEmpty) note.toText11(),
 | 
						|
        ],
 | 
						|
      ),
 | 
						|
    );
 | 
						|
  }
 | 
						|
}
 |