Vaibhav Surve 5c53a3f4be Refactor project structure and rename from 'marco' to 'on field work'
- Updated import paths across multiple files to reflect the new package name.
- Changed application name and identifiers in CMakeLists.txt, Runner.rc, and other configuration files.
- Modified web index.html and manifest.json to update the app title and name.
- Adjusted macOS and Windows project settings to align with the new application name.
- Ensured consistency in naming across all relevant files and directories.
2025-11-22 14:20:37 +05:30

144 lines
4.0 KiB
Dart

import 'package:on_field_work/helpers/theme/app_theme.dart';
import 'package:on_field_work/helpers/utils/my_shadow.dart';
import 'package:on_field_work/helpers/widgets/my_constant.dart';
import 'package:on_field_work/helpers/widgets/my_spacing.dart';
import 'package:flutter/material.dart';
class MyCard extends StatelessWidget {
final Widget child;
final BorderRadius? borderRadius;
final double? borderRadiusAll, paddingAll, marginAll;
final EdgeInsetsGeometry? padding, margin;
final Color? color;
final GestureTapCallback? onTap;
final bool bordered;
final Border? border;
final Clip? clipBehavior;
final BoxShape? boxShape;
final MyShadow? shadow;
final double? width, height;
final Color? splashColor;
const MyCard(
{super.key,
required this.child,
this.borderRadius,
this.padding,
this.borderRadiusAll,
this.color,
this.paddingAll,
this.onTap,
this.border,
this.bordered = false,
this.clipBehavior,
this.boxShape,
this.shadow,
this.marginAll,
this.margin,
this.splashColor,
this.width,
this.height});
const MyCard.bordered(
{super.key,
required this.child,
this.borderRadius,
this.padding,
this.borderRadiusAll,
this.color,
this.paddingAll,
this.onTap,
this.border,
this.bordered = true,
this.clipBehavior,
this.boxShape,
this.shadow,
this.marginAll,
this.margin,
this.splashColor,
this.width,
this.height});
const MyCard.circular(
{super.key,
required this.child,
this.borderRadius,
this.padding,
this.borderRadiusAll,
this.color,
this.paddingAll,
this.onTap,
this.border,
this.bordered = false,
this.clipBehavior = Clip.antiAliasWithSaveLayer,
this.boxShape,
this.shadow,
this.marginAll,
this.margin,
this.splashColor,
this.width,
this.height});
const MyCard.none(
{super.key,
required this.child,
this.borderRadius,
this.padding,
this.borderRadiusAll = 0,
this.color,
this.paddingAll = 0,
this.onTap,
this.border,
this.bordered = false,
this.clipBehavior = Clip.antiAliasWithSaveLayer,
this.boxShape = BoxShape.rectangle,
this.shadow,
this.marginAll,
this.margin,
this.splashColor,
this.width,
this.height});
@override
Widget build(BuildContext context) {
MyShadow myShadow = shadow ?? MyShadow();
return InkWell(
borderRadius: boxShape != BoxShape.circle
? borderRadius ??
BorderRadius.all(Radius.circular(
borderRadiusAll ?? MyConstant.constant.cardRadius))
: null,
splashColor: splashColor ?? Colors.transparent,
highlightColor: splashColor ?? Colors.transparent,
onTap: onTap,
child: Container(
width: width,
height: height,
margin: margin ?? MySpacing.all(marginAll ?? 0),
decoration: BoxDecoration(
color: color ?? theme.cardTheme.color,
borderRadius: boxShape != BoxShape.circle
? borderRadius ??
BorderRadius.all(Radius.circular(
borderRadiusAll ?? MyConstant.constant.cardRadius))
: null,
border: bordered
? border ?? Border.all(color: theme.dividerColor, width: 1)
: null,
shape: boxShape ?? BoxShape.rectangle,
boxShadow: [
BoxShadow(
color: myShadow.color ??
theme.shadowColor.withAlpha(myShadow.alpha),
spreadRadius: myShadow.spreadRadius,
blurRadius: myShadow.blurRadius,
offset: myShadow.offset!)
]),
padding: padding ?? MySpacing.all(paddingAll ?? 16),
clipBehavior: clipBehavior ?? Clip.none,
child: child,
),
);
}
}