diff --git a/lib/models/receipt_item.dart b/lib/models/receipt_item.dart index 050d620..4270731 100644 --- a/lib/models/receipt_item.dart +++ b/lib/models/receipt_item.dart @@ -1,6 +1,6 @@ class ReceiptItem { final String description; - final int quantity; + final double quantity; final double price; ReceiptItem({ @@ -15,4 +15,5 @@ class ReceiptItem { String toString() { return 'ReceiptItem(description: $description, quantity: $quantity, price: $price)'; } -} \ No newline at end of file +} + diff --git a/lib/screens/add_item_screen.dart b/lib/screens/add_item_screen.dart index efce735..51b1a40 100644 --- a/lib/screens/add_item_screen.dart +++ b/lib/screens/add_item_screen.dart @@ -3,7 +3,7 @@ import 'package:cashumit/models/receipt_item.dart'; class AddItemScreen extends StatefulWidget { const AddItemScreen({super.key, this.item}); - + // Constructor untuk mode edit const AddItemScreen.fromItem(this.item, {super.key}); @@ -22,11 +22,14 @@ class _AddItemScreenState extends State { @override void initState() { super.initState(); - + // Inisialisasi controller dengan nilai default atau dari item yang diedit - _descriptionController = TextEditingController(text: widget.item?.description ?? ''); - _quantityController = TextEditingController(text: widget.item != null ? widget.item!.quantity.toString() : '1'); - _priceController = TextEditingController(text: widget.item?.price.toString() ?? ''); + _descriptionController = + TextEditingController(text: widget.item?.description ?? ''); + _quantityController = TextEditingController( + text: widget.item != null ? widget.item!.quantity.toString() : '1'); + _priceController = + TextEditingController(text: widget.item?.price.toString() ?? ''); } @override @@ -41,10 +44,10 @@ class _AddItemScreenState extends State { if (_formKey.currentState!.validate()) { final item = ReceiptItem( description: _descriptionController.text, - quantity: int.parse(_quantityController.text), + quantity: double.parse(_quantityController.text), price: double.parse(_priceController.text), ); - + Navigator.pop(context, item); } } @@ -87,7 +90,7 @@ class _AddItemScreenState extends State { if (value == null || value.isEmpty) { return 'Mohon masukkan jumlah'; } - if (int.tryParse(value) == null) { + if (double.tryParse(value) == null) { return 'Jumlah harus berupa angka'; } return null; @@ -132,4 +135,5 @@ class _AddItemScreenState extends State { ], ); } -} \ No newline at end of file +} +