| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- 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'),
- ),
- );
- }
- }
|