build method
- BuildContext context
override
Builds the UI for the farmer order management screen.
Displays a loading indicator, an empty state message, or a list of FarmerOrderCard widgets based on the state of the order stream.
Parameters:
- context: The BuildContext for building the widget.
Returns: A Widget representing the order management screen UI.
Implementation
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Orders')),
body: StreamBuilder<List<Map<String, dynamic>>>(
stream: _getFarmerOrders(context),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return const Center(child: CircularProgressIndicator());
}
if (!snapshot.hasData || snapshot.data!.isEmpty) {
return const Center(
child: Text(
'No orders yet',
style: TextStyle(fontSize: 18),
),
);
}
return ListView.builder(
padding: const EdgeInsets.all(16),
itemCount: snapshot.data!.length,
itemBuilder: (context, index) {
final orderData = snapshot.data![index];
return FarmerOrderCard(orderData: orderData);
},
);
},
),
);
}