import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:ristoris/core/utils.dart'; import 'package:ristoris/providers/database_provider.dart'; import 'package:go_router/go_router.dart'; class OrdersTab extends ConsumerWidget { final int idCliente; final ThemeData theme; const OrdersTab({required this.idCliente, required this.theme}); @override Widget build(BuildContext context, WidgetRef ref) { final ordiniDao = ref.read(ordiniDaoProvider); return Scaffold( body: SafeArea( child: FutureBuilder( future: ordiniDao.customerOrdersWidthData(idCliente, false), builder: (_, snap) { if (!snap.hasData) { return const Center(child: CircularProgressIndicator()); } final orders = snap.data!; if (orders.isEmpty) return const Center(child: Text('Nessun ordine')); return ListView.builder( itemCount: orders.length, itemBuilder: (_, i) => ListTile( title: Text('Ordine #${orders[i].numeroOrdine ?? ""}'), subtitle: Text(Utils.formatDate(orders[i].dataOrdine) ?? ''), onTap: () => context.push('/dashboard/orders/${orders[i].idOrdine}'), ), ); }, ), ), floatingActionButton: FloatingActionButton( heroTag: 'addOrder', child: const Icon(Icons.add), onPressed: () => context.push('/dashboard/orders/new?cliente=$idCliente'), ), ); } }