Refactor profile tile

This commit is contained in:
problematicconsumer
2023-07-24 19:45:58 +03:30
parent 49948398b5
commit 0f0d52e55b
16 changed files with 389 additions and 424 deletions

View File

@@ -4,6 +4,17 @@ import 'package:intl/intl.dart';
const _units = ["B", "kB", "MB", "GB", "TB"];
({String size, String unit}) formatByte(int input, {int? unit}) {
const base = 1024;
if (input <= 0) return (size: "0", unit: _units[unit ?? 0]);
final int digitGroups = unit ?? (log(input) / log(base)).round();
return (
size: NumberFormat("#,##0.#").format(input / pow(base, digitGroups)),
unit: _units[digitGroups],
);
}
// TODO remove
({String size, String unit}) formatByteSpeed(int speed) {
const base = 1024;
if (speed <= 0) return (size: "0", unit: "B/s");
@@ -13,10 +24,3 @@ const _units = ["B", "kB", "MB", "GB", "TB"];
unit: "${_units[digitGroups]}/s",
);
}
String formatTrafficByteSize(int consumption, int total) {
const base = 1024;
if (total <= 0) return "0 B / 0 B";
final formatter = NumberFormat("#,##0.#");
return "${formatter.format(consumption / pow(base, 3))} GB / ${formatter.format(total / pow(base, 3))} GB";
}

View File

@@ -1,10 +0,0 @@
import 'package:duration/duration.dart';
// TODO: use a better solution
String formatExpireDuration(Duration dur) {
return prettyDuration(
dur,
upperTersity: DurationTersity.day,
tersity: DurationTersity.day,
);
}

View File

@@ -9,6 +9,5 @@ export 'mutation_state.dart';
export 'number_formatters.dart';
export 'placeholders.dart';
export 'platform_utils.dart';
export 'string_formatters.dart';
export 'text_utils.dart';
export 'validators.dart';