refactor(diary): More refactoring

This commit is contained in:
2024-03-05 14:20:32 +03:00
parent cb17172cb0
commit 9251e65d13
3 changed files with 99 additions and 62 deletions

View File

@@ -10,22 +10,14 @@ class CustomIconButton extends StatelessWidget {
this.decoration,
this.child,
this.onTap,
}) : super(
key: key,
);
}) : super(key: key);
final Alignment? alignment;
final double? height;
final double? width;
final EdgeInsetsGeometry? padding;
final BoxDecoration? decoration;
final Widget? child;
final VoidCallback? onTap;
@override
@@ -33,40 +25,40 @@ class CustomIconButton extends StatelessWidget {
return alignment != null
? Align(
alignment: alignment ?? Alignment.center,
child: iconButtonWidget,
child: _buildIconButtonWidget(),
)
: iconButtonWidget;
: _buildIconButtonWidget();
}
Widget get iconButtonWidget => SizedBox(
height: height ?? 0,
width: width ?? 0,
child: IconButton(
padding: EdgeInsets.zero,
icon: Container(
height: height ?? 0,
width: width ?? 0,
padding: padding ?? EdgeInsets.zero,
decoration: decoration ??
BoxDecoration(
color: Colors.black,
borderRadius: BorderRadius.circular(9),
border: Border.all(
color: Colors.blueGrey,
width: 1,
),
),
child: child,
),
onPressed: onTap,
_buildIconButtonWidget() {
return SizedBox(
height: height ?? 0,
width: width ?? 0,
child: IconButton(
padding: EdgeInsets.zero,
icon: Container(
height: height ?? 0,
width: width ?? 0,
padding: padding ?? EdgeInsets.zero,
decoration: decoration ??
BoxDecoration(
color: Colors.black,
borderRadius: const BorderRadius.all(Radius.circular(9)),
border: const Border.fromBorderSide(
BorderSide(color: Colors.blueGrey, width: 1)),
),
child: child,
),
);
onPressed: onTap,
),
);
}
}
/// Extension on [CustomIconButton] to facilitate inclusion of all types of border style etc
extension IconButtonStyleHelper on CustomIconButton {
static BoxDecoration get fillBlueA => BoxDecoration(
color: Colors.blue,
borderRadius: BorderRadius.circular(14),
borderRadius: const BorderRadius.all(Radius.circular(14)),
);
}

View File

@@ -42,19 +42,21 @@ class CustomImageView extends StatelessWidget {
return alignment != null
? Align(
alignment: alignment!,
child: _buildWidget(),
child: Padding(
padding: margin ?? EdgeInsets.zero,
child: InkWell(
onTap: onTap,
child: _buildCircleImage(),
),
),
)
: _buildWidget();
}
Widget _buildWidget() {
return Padding(
padding: margin ?? EdgeInsets.zero,
child: InkWell(
onTap: onTap,
child: _buildCircleImage(),
),
);
: Padding(
padding: margin ?? EdgeInsets.zero,
child: InkWell(
onTap: onTap,
child: _buildCircleImage(),
),
);
}
///build the image with border radius
@@ -84,7 +86,7 @@ class CustomImageView extends StatelessWidget {
}
}
Widget _buildImageView() {
_buildImageView() {
if (imagePath != null) {
switch (imagePath!.imageType) {
case ImageType.svg:

View File

@@ -31,43 +31,86 @@ class CustomOutlinedButton extends BaseButton {
);
final BoxDecoration? decoration;
final Widget? leftIcon;
final Widget? rightIcon;
final Widget? label;
@override
Widget build(BuildContext context) {
return alignment != null
? Align(
alignment: alignment ?? Alignment.center,
child: buildOutlinedButtonWidget,
)
: buildOutlinedButtonWidget;
}
Widget get buildOutlinedButtonWidget => Container(
if (alignment != null) {
return Align(
alignment: alignment ?? Alignment.center,
child: Container(
height: this.height ?? 30.v,
width: this.width ?? double.maxFinite,
margin: margin,
decoration: decoration,
child: OutlinedButton(
style: buttonStyle!,
onPressed: isDisabled ?? false ? null : onPressed ?? () {},
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
leftIcon ?? SizedBox.shrink(),
Text(
text,
style: buttonTextStyle ?? CustomTextStyles.titleSmallBold,
),
rightIcon ?? SizedBox.shrink(),
],
),
),
),
);
} else {
return Container(
height: this.height ?? 30.v,
width: this.width ?? double.maxFinite,
margin: margin,
decoration: decoration,
child: OutlinedButton(
style: buttonStyle,
style: buttonStyle!,
onPressed: isDisabled ?? false ? null : onPressed ?? () {},
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
leftIcon ?? const SizedBox.shrink(),
leftIcon ?? SizedBox.shrink(),
Text(
text,
style: buttonTextStyle ?? CustomTextStyles.titleSmallBold,
),
rightIcon ?? const SizedBox.shrink(),
rightIcon ?? SizedBox.shrink(),
],
),
),
);
}
}
/*Widget _buildOutlinedButtonWidget() {
return Container(
height: this.height ?? 30.v,
width: this.width ?? double.maxFinite,
margin: margin,
decoration: decoration,
child: OutlinedButton(
style: buttonStyle!,
onPressed: isDisabled ?? false ? null : onPressed ?? () {},
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
leftIcon ?? SizedBox.shrink(),
Text(
text,
style: buttonTextStyle ?? CustomTextStyles.titleSmallBold,
),
rightIcon ?? SizedBox.shrink(),
],
),
),
);
}*/
}