import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:enaklo_pos/presentation/home/bloc/checkout/checkout_bloc.dart'; import 'package:enaklo_pos/presentation/home/models/product_quantity.dart'; import 'package:enaklo_pos/data/models/response/product_response_model.dart'; import '../../../core/components/buttons.dart'; import '../../../core/components/spaces.dart'; import '../../../core/constants/colors.dart'; class ItemNotesDialog extends StatefulWidget { final ProductQuantity item; const ItemNotesDialog({ super.key, required this.item, }); @override State createState() => _ItemNotesDialogState(); } class _ItemNotesDialogState extends State { late TextEditingController notesController; @override void initState() { super.initState(); notesController = TextEditingController(text: widget.item.notes); } @override void dispose() { notesController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return AlertDialog( title: const Text('Add Notes'), content: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( widget.item.product.name ?? 'Product', style: const TextStyle( fontSize: 16, fontWeight: FontWeight.w600, ), ), const SpaceHeight(16.0), TextField( controller: notesController, maxLines: 3, decoration: const InputDecoration( hintText: 'Enter notes for this item...', border: OutlineInputBorder(), ), ), ], ), actions: [ TextButton( onPressed: () => Navigator.of(context).pop(), child: const Text('Cancel'), ), Button.filled( onPressed: () { context.read().add( CheckoutEvent.updateItemNotes( widget.item.product, notesController.text, ), ); Navigator.of(context).pop(); }, label: 'Save', ), ], ); } }