import 'package:fluttertoast/fluttertoast.dart';
import 'package:intl/intl.dart';

extension StringExtensions on String {
  String get addTranslation => this;

  void get showToast => Fluttertoast.showToast(msg: this);

  String get toServiceRequestCardFormat {
    DateTime dateTime = DateTime.parse(this);
    return "${DateFormat('dd MMM, yyyy').format(dateTime)}\n${DateFormat('hh:mm a').format(dateTime)}";
  }

  String get toDragAbleTimerFormat {
    DateTime dateTime = DateTime.parse(this);
    return DateFormat('HH:mm:ss').format(dateTime);
  }

  String get toInitialVisitCardFormat {
    DateTime dateTime = DateTime.parse(this);
    return "${DateFormat('dd MMM, yyyy').format(dateTime)} at ${DateFormat('hh:mm a').format(dateTime)}";
  }

  String get toServiceRequestDetailsFormat {
    try {
      DateTime dateTime = DateTime.parse(this);
      return "${DateFormat('dd MMM, yyyy').format(dateTime)} ${DateFormat('hh:mm a').format(dateTime)}";
    } catch (e) {
      return "";
    }
  }

  String get toFirstActionFormat {
    try {
      DateTime dateTime = DateTime.parse(this);
      return "${DateFormat('yyyy-MM-dd').format(dateTime)} ${DateFormat('hh:mm a').format(dateTime)}";
    } catch (e) {
      return "";
    }
  }
  String get toMonthYearFormat {
    try {
      DateTime dateTime = DateTime.parse(this);
      String formattedDate = DateFormat('MMMM d, y').format(dateTime);
      return formattedDate;
    } catch (e) {
      return "";
    }
  }

  String get toAssetDetailsFormat {
    try {
      DateTime dateTime = DateTime.parse(this);
      return DateFormat('dd MMM, yyyy').format(dateTime);
    } catch (e) {
      return "-";
    }
  }

  String get getFileName {
    try {
      if (contains("fileName=")) {
        String sub = substring(indexOf("fileName="), length);
        sub = sub.replaceAll("fileName=", "");
        return sub;
      } else {
        return this;
      }
    } catch (e) {
      return this;
    }
  }
}
