import 'package:cubit_form/cubit_form.dart'; import 'package:flutter/material.dart'; import 'package:selfprivacy/logic/orderscubit.dart'; import 'package:selfprivacy/models/order.dart'; part 'order.dart'; class OrdersPage extends StatelessWidget { const OrdersPage({super.key}); @override Widget build(final BuildContext context) { final Widget child = BlocBuilder( builder: (final BuildContext context, final OrdersState state) { final List orders = state.orders; if (orders.isEmpty) { if (state.isLoading) { return const Center( child: CircularProgressIndicator(), ); } return RefreshIndicator( onRefresh: () async { context.read().refresh(); }, child: Container( padding: const EdgeInsets.symmetric(horizontal: 15), child: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ ConstrainedBox( constraints: const BoxConstraints( minHeight: 40, minWidth: double.infinity, ), child: OutlinedButton( onPressed: () { context.read().refresh(); }, child: Text( 'Обновить', style: Theme.of(context).textTheme.button?.copyWith( color: Theme.of(context).colorScheme.primary, ), ), ), ), ], ), ), ), ); } return RefreshIndicator( onRefresh: () async { context.read().refresh(); }, child: ListView.builder( itemCount: orders.length, itemBuilder: (final BuildContext context, final int index) => _Order( order: orders[index], ), ), ); }, ); return Scaffold( appBar: PreferredSize( preferredSize: const Size.fromHeight(52), child: AppBar( title: const Padding( padding: EdgeInsets.only(top: 4.0), child: Text('Товары'), ), leading: IconButton( icon: const Icon(Icons.arrow_back), onPressed: () => Navigator.of(context).pop(), ), ), ), body: child, ); } }