1import 'package:flutter_screenutil/flutter_screenutil.dart';
2import 'package:maps_launcher/maps_launcher.dart';
3import 'package:flutter_bloc/flutter_bloc.dart';
4import 'package:go_router/go_router.dart';
5import 'package:flutter/services.dart';
6import 'package:flutter/material.dart';
8import '../../../../../core/common/entities/collection_entity.dart';
9import '../../../../../core/common/enums/collection_status.dart';
10import '../../../../../core/ui/widgets/custom_scaffold.dart';
11import '../../../../../core/ui/widgets/custom_snackbar.dart';
12import '../../../../../core/ui/theme/color_palette.dart';
13import 'widgets/collection_details_body.dart';
14import '../../bloc/collections_bloc/collections_bloc.dart';
15import 'widgets/collection_slider.dart';
16import 'widgets/map_app_bar.dart';
19 final GoRouterState state;
23 State<CollectionRequestDetailsScreen>
createState() => _CollectionRequestDetailsScreenState();
26class _CollectionRequestDetailsScreenState
extends State<CollectionRequestDetailsScreen> {
56 Widget
build(BuildContext context) {
70 return BlocConsumer<CollectionsBloc, CollectionsState>(
72 builder: (context, state) => CustomScaffold(
77 child: CustomScrollView(
88 padding: EdgeInsets.only(top: 20.sp, left: 20.sp, right: 20.sp),
90 crossAxisAlignment: CrossAxisAlignment.center,
92 CollectionDetailsBody(
101 ].map((e) => Padding(
padding: EdgeInsets.only(bottom: 12.sp),
child: e)).toList(),
119 if (state is CollectionStatusUpdateError) {
122 HapticFeedback.mediumImpact();
123 setState(() {
currentStatus = state.resCollectionStatusEntity.status;});
124 if (state.resCollectionStatusEntity.status ==
CollectionStatus.cancelled) context.pop();
126 MapsLauncher.launchCoordinates(
override void initState()
class App extends StatefulWidget build(BuildContext context)
static const antiFlashWhite
static ScaffoldFeatureController< SnackBar, SnackBarClosedReason > display(final BuildContext context, final Color color, final String message,)
CollectionEntity _collectionEntity
void _handleBlocStateChanges(BuildContext context, CollectionsState state)
late CollectionStatus currentStatus
class UpdateCollectionStatusEvent extends CollectionsEvent collectionId
const CollectionStatusUpdateSuccess({required this.resCollectionStatusEntity})
class CustomScaffold extends StatefulWidget _scrollController
class SearchWeeklyCollectionsEvent extends WeeklyCollectionsEvent collection
style Column(crossAxisAlignment:CrossAxisAlignment.end, children:[Container(padding:EdgeInsets.symmetric(horizontal:8.w, vertical:4.h), decoration:BoxDecoration(color:ColorPalette.tiffanyBlue.withValues(alpha:0.1), borderRadius:BorderRadius.circular(12),), child:Text(collection.type ?? '', style:Theme.of(context).textTheme.bodySmall?.copyWith(color:ColorPalette.tiffanyBlue, fontWeight:FontWeight.bold,),),),],)