import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:rasadyar_core/presentation/common/app_color.dart';
import 'package:rasadyar_core/presentation/utils/color_utils.dart';
import 'package:vector_graphics/vector_graphics.dart';

SvgPicture vecWidget(
  String assets, {
  double? width,
  double? height,
  BoxFit? fit,
  Color? color,
}) {
  return SvgPicture(
    AssetBytesLoader(assets),
    width: width,
    height: height,
    fit: fit ?? BoxFit.contain,
    colorFilter:
        color != null ? ColorFilter.mode(color, BlendMode.srcIn) : null,
  );
}

Widget vecWidgetWithOnTap({
  required Widget child,
  required VoidCallback onTap,
  double? width,
  double? height,
  BoxFit? fit,
  Color? color,
}) {
  return InkWell(
    onTap: onTap,
    child: child
  );
}

SvgPicture svgWidget(
  String assets, {
  double? width,
  double? height,
  BoxFit? fit,
  Color? color,
}) {
  return SvgPicture.asset(
    assets,
    width: width,
    height: height,
    fit: fit ?? BoxFit.contain,
    colorFilter:
        color != null ? ColorFilter.mode(color, BlendMode.srcIn) : null,
  );
}

Widget vecWidget2(
  String assets, {
  double? width,
  double? height,
  BoxFit? fit,
  Color? color,
}) {
  final resolvedColor = WidgetStateProperty.resolveWith<Color?>((states) {
    if (states.contains(WidgetState.pressed)) {
      return Colors.white;
    }
    return color;
  }).resolve({}); // You can pass actual states if needed

  return IconTheme(
    data: IconThemeData(color: resolvedColor),
    child: SvgPicture(
      AssetBytesLoader(assets),
      width: width,
      height: height,
      fit: fit ?? BoxFit.contain,
      colorFilter:
          resolvedColor != null
              ? ColorFilter.mode(resolvedColor, BlendMode.srcIn)
              : null,
    ),
  );
}

