import 'package:flutter/material.dart'; import '../fikoyt.service.dart'; import '../interface/fiko_dialog_ayarlari.dart'; extension FikoBekleme on Duration { get insanize { if (inHours == 0 && inMinutes == 0 && inSeconds == 0) return null; // String negativeSign = isNegative ? '-' : ''; // String twoDigits(int n) => n.toString().padLeft(2, "0"); String twoDigitMinutes = inMinutes.remainder(60).abs().toString(); String twoDigitSeconds = inSeconds.remainder(60).abs().toString(); String snc = ""; if (inHours != 0) snc += "${inHours}s"; if (int.parse(twoDigitMinutes) > 0) snc += " ${twoDigitMinutes}dk"; // if (inHours <= 0) { // if (inMinutes != 0) snc += " ${twoDigitMinutes}dk"; // } else // if (inHours == 0) { // if (inMinutes != 0) snc += " ${twoDigitMinutes}dk"; // } else { // if (inMinutes != 0) snc += " ${twoDigitMinutes}dk"; // } if (int.parse(twoDigitSeconds) > 0) snc += " ${twoDigitSeconds}sn"; return snc; // "$negativeSign${twoDigits(inHours)}:$twoDigitMinutes:$twoDigitSeconds"; } insanizeEk({ekler = const [" saat", " dakika", " saniye"], yoksa = "❌ Yok"}) { if (inHours == 0 && inMinutes == 0 && inSeconds == 0) return yoksa; // String negativeSign = isNegative ? '-' : ''; // String twoDigits(int n) => n.toString().padLeft(2, "0"); String twoDigitMinutes = inMinutes.remainder(60).abs().toString(); String twoDigitSeconds = inSeconds.remainder(60).abs().toString(); String snc = ""; if (inHours != 0) snc += "$inHours${ekler[0]}"; if (int.parse(twoDigitMinutes) > 0) { snc += " $twoDigitMinutes${ekler[1]}"; } // if (inHours <= 0) { // if (inMinutes != 0) snc += " ${twoDigitMinutes}dk"; // } else // if (inHours == 0) { // if (inMinutes != 0) snc += " ${twoDigitMinutes}dk"; // } else { // if (inMinutes != 0) snc += " ${twoDigitMinutes}dk"; // } if (int.parse(twoDigitSeconds) > 0) { snc += " $twoDigitSeconds${ekler[2]}"; } return snc; // "$negativeSign${twoDigits(inHours)}:$twoDigitMinutes:$twoDigitSeconds"; } Future sureSec(BuildContext context, {Duration? gecerliSure, Duration? varsayilanSure, FikoDialogAyarlari? ayarlar}) async { gecerliSure ??= Duration(microseconds: inMicroseconds); Duration? value = await FikoYTService.sureSec(context, varsayilanSure: gecerliSure, ayarlar: ayarlar); if (value == null) return varsayilanSure; Duration rslt = value; return rslt; } }