Enhanced material design 3 implementation
This commit is contained in:
@@ -18,6 +18,8 @@ import '../../utils/snackbar.dart';
|
||||
import '../../widgets/m3_card.dart';
|
||||
import '../../widgets/mono_text.dart';
|
||||
import '../../widgets/reconnect_overlay.dart';
|
||||
import '../../widgets/app_page_header.dart';
|
||||
import '../../widgets/app_state_view.dart';
|
||||
import '../../widgets/responsive_body.dart';
|
||||
import '../../widgets/status_pill.dart';
|
||||
|
||||
@@ -103,17 +105,20 @@ class _ItServiceRequestsListScreenState
|
||||
child: Builder(
|
||||
builder: (context) {
|
||||
if (requestsAsync.hasError && !requestsAsync.hasValue) {
|
||||
return Center(
|
||||
child: Text(
|
||||
'Failed to load requests: ${requestsAsync.error}',
|
||||
),
|
||||
return AppErrorView(
|
||||
error: requestsAsync.error!,
|
||||
onRetry: () =>
|
||||
ref.invalidate(itServiceRequestsProvider),
|
||||
);
|
||||
}
|
||||
final allRequests =
|
||||
requestsAsync.valueOrNull ?? <ItServiceRequest>[];
|
||||
if (allRequests.isEmpty && !showSkeleton) {
|
||||
return const Center(
|
||||
child: Text('No IT service requests yet.'),
|
||||
return const AppEmptyView(
|
||||
icon: Icons.miscellaneous_services_outlined,
|
||||
title: 'No service requests yet',
|
||||
subtitle:
|
||||
'IT service requests submitted by your team will appear here.',
|
||||
);
|
||||
}
|
||||
final offices = officesAsync.valueOrNull ?? <Office>[];
|
||||
@@ -146,6 +151,10 @@ class _ItServiceRequestsListScreenState
|
||||
|
||||
return Column(
|
||||
children: [
|
||||
const AppPageHeader(
|
||||
title: 'IT Service Requests',
|
||||
subtitle: 'Manage and track IT support tickets',
|
||||
),
|
||||
// Status summary cards
|
||||
_StatusSummaryRow(
|
||||
requests: allRequests,
|
||||
|
||||
Reference in New Issue
Block a user