price extension added
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
extension PriceExtension on num {
|
||||||
|
/// Formats the number with commas every 3 digits
|
||||||
|
String get formattedPrice {
|
||||||
|
final numberString = toString();
|
||||||
|
final parts = numberString.split('.');
|
||||||
|
final integerPart = parts[0];
|
||||||
|
final decimalPart = parts.length > 1 ? '.${parts[1]}' : '';
|
||||||
|
|
||||||
|
final formattedInteger = _addCommas(integerPart);
|
||||||
|
return formattedInteger + decimalPart;
|
||||||
|
}
|
||||||
|
|
||||||
|
String _addCommas(String number) {
|
||||||
|
if (number.length <= 3) {
|
||||||
|
return number;
|
||||||
|
}
|
||||||
|
|
||||||
|
final reversed = number.split('').reversed.join('');
|
||||||
|
final chunks = <String>[];
|
||||||
|
|
||||||
|
for (int i = 0; i < reversed.length; i += 3) {
|
||||||
|
final end = (i + 3 < reversed.length) ? i + 3 : reversed.length;
|
||||||
|
chunks.add(reversed.substring(i, end));
|
||||||
|
}
|
||||||
|
|
||||||
|
return chunks.join(',').split('').reversed.join('');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:tm_app/core/utils/price_extension.dart';
|
||||||
import 'package:tm_app/data/services/model/tender_data/tender_data.dart';
|
import 'package:tm_app/data/services/model/tender_data/tender_data.dart';
|
||||||
import 'package:tm_app/views/detail/strings/tender_details_strings.dart';
|
import 'package:tm_app/views/detail/strings/tender_details_strings.dart';
|
||||||
import 'package:tm_app/views/detail/widgets/deadline_item.dart';
|
import 'package:tm_app/views/detail/widgets/deadline_item.dart';
|
||||||
@@ -30,7 +31,8 @@ class TenderDetailInfoSection extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
InfoItem(
|
InfoItem(
|
||||||
title: TenderDetailsStrings.estimatedValue,
|
title: TenderDetailsStrings.estimatedValue,
|
||||||
value: '${detail.estimatedValue} ${detail.currency ?? ''}',
|
value:
|
||||||
|
'${detail.estimatedValue?.formattedPrice} ${detail.currency ?? ''}',
|
||||||
),
|
),
|
||||||
InfoItem(
|
InfoItem(
|
||||||
title: TenderDetailsStrings.duration,
|
title: TenderDetailsStrings.duration,
|
||||||
|
|||||||
Reference in New Issue
Block a user