import 'package:flutter/material.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(in // Hours)}:$twoDigitMinutes:$twoDigitSeconds"; } insanizeSure({bool snGoster = true}) { String negativeSign = isNegative ? '-' : ''; String twoDigits(int n) => n.toString().padLeft(2, "0"); String twoDigitMinutes = twoDigits(inMinutes.remainder(60).abs()); String twoDigitSeconds = twoDigits(inSeconds.remainder(60).abs()); return "$negativeSign${twoDigits(inHours)}:$twoDigitMinutes${snGoster ? ':$twoDigitSeconds' : ''}"; } }