38 lines
887 B
Dart
38 lines
887 B
Dart
/// Paid amount, with the pre-discount price struck through when there is one.
|
|
library;
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import '../models/line_item.dart';
|
|
import '../utils/money.dart';
|
|
|
|
class DiscountedPrice extends StatelessWidget {
|
|
const DiscountedPrice({super.key, required this.item});
|
|
|
|
final LineItem item;
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
final theme = Theme.of(context);
|
|
final paid = Text(
|
|
formatEuro(item.price),
|
|
style: theme.textTheme.titleMedium,
|
|
);
|
|
if (!item.hasDiscount) return paid;
|
|
|
|
return Row(
|
|
mainAxisSize: MainAxisSize.min,
|
|
children: [
|
|
Text(
|
|
formatEuro(item.originalPrice),
|
|
style: theme.textTheme.bodyMedium?.copyWith(
|
|
decoration: TextDecoration.lineThrough,
|
|
),
|
|
),
|
|
const SizedBox(width: 8),
|
|
paid,
|
|
],
|
|
);
|
|
}
|
|
}
|